:root {
  --toastify-color-light: #fff;
  --toastify-color-dark: #121212;
  --toastify-color-info: #3498db;
  --toastify-color-success: #07bc0c;
  --toastify-color-warning: #f1c40f;
  --toastify-color-error: hsl(6, 78%, 57%);
  --toastify-color-transparent: rgba(255, 255, 255, 0.7);

  --toastify-icon-color-info: var(--toastify-color-info);
  --toastify-icon-color-success: var(--toastify-color-success);
  --toastify-icon-color-warning: var(--toastify-color-warning);
  --toastify-icon-color-error: var(--toastify-color-error);

  --toastify-container-width: fit-content;
  --toastify-toast-width: 320px;
  --toastify-toast-offset: 16px;
  --toastify-toast-top: max(var(--toastify-toast-offset), env(safe-area-inset-top));
  --toastify-toast-right: max(var(--toastify-toast-offset), env(safe-area-inset-right));
  --toastify-toast-left: max(var(--toastify-toast-offset), env(safe-area-inset-left));
  --toastify-toast-bottom: max(var(--toastify-toast-offset), env(safe-area-inset-bottom));
  --toastify-toast-background: #fff;
  --toastify-toast-padding: 14px;
  --toastify-toast-min-height: 64px;
  --toastify-toast-max-height: 800px;
  --toastify-toast-bd-radius: 6px;
  --toastify-toast-shadow: 0px 4px 12px rgba(0, 0, 0, 0.1);
  --toastify-font-family: sans-serif;
  --toastify-z-index: 9999;
  --toastify-text-color-light: #757575;
  --toastify-text-color-dark: #fff;

  /* Used only for colored theme */
  --toastify-text-color-info: #fff;
  --toastify-text-color-success: #fff;
  --toastify-text-color-warning: #fff;
  --toastify-text-color-error: #fff;

  --toastify-spinner-color: #616161;
  --toastify-spinner-color-empty-area: #e0e0e0;
  --toastify-color-progress-light: linear-gradient(to right, #4cd964, #5ac8fa, #007aff, #34aadc, #5856d6, #ff2d55);
  --toastify-color-progress-dark: #bb86fc;
  --toastify-color-progress-info: var(--toastify-color-info);
  --toastify-color-progress-success: var(--toastify-color-success);
  --toastify-color-progress-warning: var(--toastify-color-warning);
  --toastify-color-progress-error: var(--toastify-color-error);
  /* used to control the opacity of the progress trail */
  --toastify-color-progress-bgo: 0.2;
}

.Toastify__toast-container {
  z-index: var(--toastify-z-index);
  -webkit-transform: translate3d(0, 0, var(--toastify-z-index));
  position: fixed;
  width: var(--toastify-container-width);
  box-sizing: border-box;
  color: #fff;
  display: flex;
  flex-direction: column;
}

.Toastify__toast-container--top-left {
  top: var(--toastify-toast-top);
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--top-center {
  top: var(--toastify-toast-top);
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
}
.Toastify__toast-container--top-right {
  top: var(--toastify-toast-top);
  right: var(--toastify-toast-right);
  align-items: end;
}
.Toastify__toast-container--bottom-left {
  bottom: var(--toastify-toast-bottom);
  left: var(--toastify-toast-left);
}
.Toastify__toast-container--bottom-center {
  bottom: var(--toastify-toast-bottom);
  left: 50%;
  transform: translateX(-50%);
  align-items: center;
}
.Toastify__toast-container--bottom-right {
  bottom: var(--toastify-toast-bottom);
  right: var(--toastify-toast-right);
  align-items: end;
}

.Toastify__toast {
  --y: 0px;
  position: relative;
  touch-action: none;
  width: var(--toastify-toast-width);
  min-height: var(--toastify-toast-min-height);
  box-sizing: border-box;
  margin-bottom: 1rem;
  padding: var(--toastify-toast-padding);
  border-radius: var(--toastify-toast-bd-radius);
  box-shadow: var(--toastify-toast-shadow);
  max-height: var(--toastify-toast-max-height);
  font-family: var(--toastify-font-family);
  /* webkit only issue #791 */
  z-index: 0;
  /* inner swag */
  display: flex;
  flex: 1 auto;
  align-items: center;
  word-break: break-word;
}

@media only screen and (max-width: 480px) {
  .Toastify__toast-container {
    width: 100vw;
    left: env(safe-area-inset-left);
    margin: 0;
  }
  .Toastify__toast-container--top-left,
  .Toastify__toast-container--top-center,
  .Toastify__toast-container--top-right {
    top: env(safe-area-inset-top);
    transform: translateX(0);
  }
  .Toastify__toast-container--bottom-left,
  .Toastify__toast-container--bottom-center,
  .Toastify__toast-container--bottom-right {
    bottom: env(safe-area-inset-bottom);
    transform: translateX(0);
  }
  .Toastify__toast-container--rtl {
    right: env(safe-area-inset-right);
    left: initial;
  }
  .Toastify__toast {
    --toastify-toast-width: 100%;
    margin-bottom: 0;
    border-radius: 0;
  }
}

.Toastify__toast-container[data-stacked='true'] {
  width: var(--toastify-toast-width);
}

@media only screen and (max-width: 480px) {
  .Toastify__toast-container[data-stacked='true'] {
    width: 100vw;
  }
}

.Toastify__toast--stacked {
  position: absolute;
  width: 100%;
  transform: translate3d(0, var(--y), 0) scale(var(--s));
  transition: transform 0.3s;
}

.Toastify__toast--stacked[data-collapsed] .Toastify__toast-body,
.Toastify__toast--stacked[data-collapsed] .Toastify__close-button {
  transition: opacity 0.1s;
}

.Toastify__toast--stacked[data-collapsed='false'] {
  overflow: visible;
}

.Toastify__toast--stacked[data-collapsed='true']:not(:last-child) > * {
  opacity: 0;
}

.Toastify__toast--stacked:after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  height: calc(var(--g) * 1px);
  bottom: 100%;
}

.Toastify__toast--stacked[data-pos='top'] {
  top: 0;
}

.Toastify__toast--stacked[data-pos='bot'] {
  bottom: 0;
}

.Toastify__toast--stacked[data-pos='bot'].Toastify__toast--stacked:before {
  transform-origin: top;
}

.Toastify__toast--stacked[data-pos='top'].Toastify__toast--stacked:before {
  transform-origin: bottom;
}

.Toastify__toast--stacked:before {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 100%;
  transform: scaleY(3);
  z-index: -1;
}

.Toastify__toast--rtl {
  direction: rtl;
}

.Toastify__toast--close-on-click {
  cursor: pointer;
}

.Toastify__toast-icon {
  margin-inline-end: 10px;
  width: 22px;
  flex-shrink: 0;
  display: flex;
}

.Toastify--animate {
  animation-fill-mode: both;
  animation-duration: 0.5s;
}

.Toastify--animate-icon {
  animation-fill-mode: both;
  animation-duration: 0.3s;
}

.Toastify__toast-theme--dark {
  background: var(--toastify-color-dark);
  color: var(--toastify-text-color-dark);
}

.Toastify__toast-theme--light {
  background: var(--toastify-color-light);
  color: var(--toastify-text-color-light);
}

.Toastify__toast-theme--colored.Toastify__toast--default {
  background: var(--toastify-color-light);
  color: var(--toastify-text-color-light);
}

.Toastify__toast-theme--colored.Toastify__toast--info {
  color: var(--toastify-text-color-info);
  background: var(--toastify-color-info);
}

.Toastify__toast-theme--colored.Toastify__toast--success {
  color: var(--toastify-text-color-success);
  background: var(--toastify-color-success);
}

.Toastify__toast-theme--colored.Toastify__toast--warning {
  color: var(--toastify-text-color-warning);
  background: var(--toastify-color-warning);
}

.Toastify__toast-theme--colored.Toastify__toast--error {
  color: var(--toastify-text-color-error);
  background: var(--toastify-color-error);
}

.Toastify__progress-bar-theme--light {
  background: var(--toastify-color-progress-light);
}

.Toastify__progress-bar-theme--dark {
  background: var(--toastify-color-progress-dark);
}

.Toastify__progress-bar--info {
  background: var(--toastify-color-progress-info);
}

.Toastify__progress-bar--success {
  background: var(--toastify-color-progress-success);
}

.Toastify__progress-bar--warning {
  background: var(--toastify-color-progress-warning);
}

.Toastify__progress-bar--error {
  background: var(--toastify-color-progress-error);
}

.Toastify__progress-bar-theme--colored.Toastify__progress-bar--info,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--success,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--warning,
.Toastify__progress-bar-theme--colored.Toastify__progress-bar--error {
  background: var(--toastify-color-transparent);
}

.Toastify__close-button {
  color: #fff;
  position: absolute;
  top: 6px;
  right: 6px;
  background: transparent;
  outline: none;
  border: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.7;
  transition: 0.3s ease;
  z-index: 1;
}

.Toastify__toast--rtl .Toastify__close-button {
  left: 6px;
  right: unset;
}

.Toastify__close-button--light {
  color: #000;
  opacity: 0.3;
}

.Toastify__close-button > svg {
  fill: currentColor;
  height: 16px;
  width: 14px;
}

.Toastify__close-button:hover,
.Toastify__close-button:focus {
  opacity: 1;
}

@keyframes Toastify__trackProgress {
  0% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(0);
  }
}

.Toastify__progress-bar {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
  opacity: 0.7;
  transform-origin: left;
}

.Toastify__progress-bar--animated {
  animation: Toastify__trackProgress linear 1 forwards;
}

.Toastify__progress-bar--controlled {
  transition: transform 0.2s;
}

.Toastify__progress-bar--rtl {
  right: 0;
  left: initial;
  transform-origin: right;
  border-bottom-left-radius: initial;
}

.Toastify__progress-bar--wrp {
  position: absolute;
  overflow: hidden;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
  border-bottom-left-radius: var(--toastify-toast-bd-radius);
  border-bottom-right-radius: var(--toastify-toast-bd-radius);
}

.Toastify__progress-bar--wrp[data-hidden='true'] {
  opacity: 0;
}

.Toastify__progress-bar--bg {
  opacity: var(--toastify-color-progress-bgo);
  width: 100%;
  height: 100%;
}

.Toastify__spinner {
  width: 20px;
  height: 20px;
  box-sizing: border-box;
  border: 2px solid;
  border-radius: 100%;
  border-color: var(--toastify-spinner-color-empty-area);
  border-right-color: var(--toastify-spinner-color);
  animation: Toastify__spin 0.65s linear infinite;
}

@keyframes Toastify__bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, var(--y), 0);
  }
}

@keyframes Toastify__bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, var(--y), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, var(--y), 0);
  }
}

@keyframes Toastify__bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

@keyframes Toastify__bounceOutUp {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

@keyframes Toastify__bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: none;
  }
}

@keyframes Toastify__bounceOutDown {
  20% {
    transform: translate3d(0, calc(var(--y) - 10px), 0);
  }
  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, calc(var(--y) + 20px), 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.Toastify__bounce-enter--top-left,
.Toastify__bounce-enter--bottom-left {
  animation-name: Toastify__bounceInLeft;
}

.Toastify__bounce-enter--top-right,
.Toastify__bounce-enter--bottom-right {
  animation-name: Toastify__bounceInRight;
}

.Toastify__bounce-enter--top-center {
  animation-name: Toastify__bounceInDown;
}

.Toastify__bounce-enter--bottom-center {
  animation-name: Toastify__bounceInUp;
}

.Toastify__bounce-exit--top-left,
.Toastify__bounce-exit--bottom-left {
  animation-name: Toastify__bounceOutLeft;
}

.Toastify__bounce-exit--top-right,
.Toastify__bounce-exit--bottom-right {
  animation-name: Toastify__bounceOutRight;
}

.Toastify__bounce-exit--top-center {
  animation-name: Toastify__bounceOutUp;
}

.Toastify__bounce-exit--bottom-center {
  animation-name: Toastify__bounceOutDown;
}

@keyframes Toastify__zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}

@keyframes Toastify__zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: translate3d(0, var(--y), 0) scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}

.Toastify__zoom-enter {
  animation-name: Toastify__zoomIn;
}

.Toastify__zoom-exit {
  animation-name: Toastify__zoomOut;
}

@keyframes Toastify__flipIn {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}

@keyframes Toastify__flipOut {
  from {
    transform: translate3d(0, var(--y), 0) perspective(400px);
  }
  30% {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: translate3d(0, var(--y), 0) perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.Toastify__flip-enter {
  animation-name: Toastify__flipIn;
}

.Toastify__flip-exit {
  animation-name: Toastify__flipOut;
}

@keyframes Toastify__slideInRight {
  from {
    transform: translate3d(110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInLeft {
  from {
    transform: translate3d(-110%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInUp {
  from {
    transform: translate3d(0, 110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideInDown {
  from {
    transform: translate3d(0, -110%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, var(--y), 0);
  }
}

@keyframes Toastify__slideOutRight {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(110%, var(--y), 0);
  }
}

@keyframes Toastify__slideOutLeft {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-110%, var(--y), 0);
  }
}

@keyframes Toastify__slideOutDown {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 500px, 0);
  }
}

@keyframes Toastify__slideOutUp {
  from {
    transform: translate3d(0, var(--y), 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -500px, 0);
  }
}

.Toastify__slide-enter--top-left,
.Toastify__slide-enter--bottom-left {
  animation-name: Toastify__slideInLeft;
}

.Toastify__slide-enter--top-right,
.Toastify__slide-enter--bottom-right {
  animation-name: Toastify__slideInRight;
}

.Toastify__slide-enter--top-center {
  animation-name: Toastify__slideInDown;
}

.Toastify__slide-enter--bottom-center {
  animation-name: Toastify__slideInUp;
}

.Toastify__slide-exit--top-left,
.Toastify__slide-exit--bottom-left {
  animation-name: Toastify__slideOutLeft;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--top-right,
.Toastify__slide-exit--bottom-right {
  animation-name: Toastify__slideOutRight;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--top-center {
  animation-name: Toastify__slideOutUp;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

.Toastify__slide-exit--bottom-center {
  animation-name: Toastify__slideOutDown;
  animation-timing-function: ease-in;
  animation-duration: 0.3s;
}

@keyframes Toastify__spin {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}

.login.login-with-news-feed,
.register.register-with-news-feed {
    width: 100%;
    margin: 0;
    padding: 0;
    top: 0;
}
.login.login-with-news-feed .news-feed,
.register.register-with-news-feed .news-feed {
    position: fixed;
    left: 0;
    right: 500px;
    top: 0;
    bottom: 0;
    -webkit-transform: translateZ(0);
    overflow: hidden;
}
.login.login-with-news-feed .news-image,
.register.register-with-news-feed .news-image {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    top: 0;
}
.login.login-with-news-feed .news-image img,
.register.register-with-news-feed .news-image img {
    position: absolute;
    right: 0;
    top: 0;
    left: 0;
    bottom: 0;
    max-height: 100%;
    min-width: 100%;
    top: -1960px;
    bottom: -1960px;
    left: -1960px;
    right: -1960px;
    margin: auto;
}
.login.login-with-news-feed .right-content,
.register.register-with-news-feed .right-content {
    position: fixed;
    right: 0;
    top: 0;
    bottom: 0;
    width: 500px;
    overflow: hidden;
    font-family: 'Open Sans', "Helvetica Neue", Helvetica, Arial, sans-serif;
    color: #707478;
}
.login.login-with-news-feed .login-content,
.register.register-with-news-feed .register-content {
    width: auto;
    padding: 30px 60px;
}
.register.register-with-news-feed .register-content {
    padding: 20px 60px 30px;
}
.login.login-with-news-feed .login-header,
.register.register-with-news-feed .register-header {
    position: relative;
    top: 0;
    margin: 0;
    left: 0;
    right: 0;
    padding: 100px 60px 0;
}
.register.register-with-news-feed .register-header {
    padding: 60px 60px 0;
    font-size: 32px;
}
.register.register-with-news-feed .register-header small {
    color: #707478;
    display: block;
    font-size: 14px;
    margin-top: 10px;
    line-height: 20px;
}
.login.login-with-news-feed .login-header .brand,
.login.login-with-news-feed .login-header .lp-brand {
    color: #242a30;
}
.login.login-with-news-feed .login-header .brand small,
.login.login-with-news-feed .login-header .lp-brand small {
    color: #707478;
}

/* On the login page, override the width prop and scale logo to match PHP (max-height: 70px; width: auto) */
.login .logo_img {
    width: auto !important;
    max-height: 70px;
    display: inline-block;
    vertical-align: middle;
}

.login-header h3 span {
    font-size: 24px;
    color: #242a30;
}

.login .login-content {
    color: #999;
}


/* Login page unique input */
.lp-input {
    display: block;
    width: 100%;
    height: 46px;
    padding: 10px 16px;
    font-weight: 400;
    line-height: 1.3333333;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccd0d4;
    border-radius: 6px;
    box-shadow: none;
    transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
    box-sizing: border-box;
}

.lp-input:focus {
    border-color: #9fa2a5;
    outline: 0;
    box-shadow: none;
}

.lp-form-group {
    margin-bottom: 15px;
}

.lp-checkbox {
    margin-bottom: 20px;
}

.lp-links-row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}

.lp-form-actions {
    margin-top: 10px;
    margin-bottom: 10px;
    padding-bottom: 20px;
}

.lp-submit-btn {
    display: block;
    width: 100%;
    height: 46px;
    padding: 10px 16px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.3333333;
    border-radius: 6px;
    cursor: pointer;
    border: none;
    margin-bottom: 35px;
}

.lp-submit-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.lp-copyright {
    text-align: center;
    margin-bottom: 20px;
}

.password_color {
    color: #000 !important;
    text-decoration: none;
    font-size: 14px;
}

.get-help-button {
    color: #000 !important;
    text-align: left;
    text-decoration: none;
    font-size: 14px;
}

.forgot-password {
    color: #000 !important;
    text-align: end;
    text-decoration: none;
    font-size: 14px;
}

.password_color:hover,
.get-help-button:hover,
.forgot-password:hover {
    text-decoration: underline;
}

p.error_msg {
    text-align: center;
    color: red;
    font-size: 15px;
}

.cursor_pointer {
    cursor: pointer;
    text-decoration: none;
}

.m-b-20 { margin-bottom: 20px !important; }

p.text-left, p.text-right {
    font-size: 14px;
}

p.text-right {
    text-align: end;
}

.btn_custom_background {
    border: 1px solid #f59325 !important;
    background: #f59325 !important;
    color: #ffffff !important;
}

.btn_custom_background:hover {
    background: #e08420 !important;
    border-color: #e08420 !important;
}

.btn_custom_background:active,
.btn_custom_background:focus {
    background: #e86c02 !important;
    border-color: #e86c02 !important;
    box-shadow: none !important;
}

.btn-block {
    display: block;
    width: 100%;
    padding-left: 12px;
    padding-right: 12px;
}

.terms-policy a {
    color: #337ab7 ;
    text-decoration: none;
}

.login-terms-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 0 15px;
}

.terms-policy {
    flex: 1;
    white-space: nowrap;
}

.lang-selector-wrapper {
    flex-shrink: 0;
    max-width: 150px;
}

.lang_select {
    width: auto;
}

.text-center a {
    color: #337ab7 ;
    text-decoration: none;
    font-size: 14px;
}

#page-container .align-items-center {
    align-items: center !important;
}

.lp-copyright {
    text-align: center !important;
}

.login-header h3 {
    margin-top: 20px !important;
    margin-bottom: 10px !important;
    font-weight: 500 !important;
    color: #242a30 !important;
    font-family: 'Open Sans', "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}

.right-content {
    background-color: #e8e9eb;
}

.login-loading-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
    background-color: rgba(255, 255, 255, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
}

.login-loading-spinner {
    width: 52px;
    height: 52px;
    border: 5px solid rgba(245, 147, 37, 0.2);
    border-top-color: #f59325;
    border-radius: 50%;
    animation: login-spinner-rotate 0.75s linear infinite;
}

@keyframes login-spinner-rotate {
    to { transform: rotate(360deg); }
}

.signin-message {
    font-weight: 500;
}
.forgot-password-form .form-group {
  margin-bottom: 20px !important;
}

.forgot-password-form .login-buttons {
  margin-bottom: 25px !important;
}

.forgot-password-form .row {
  margin-bottom: 20px !important;
}

/* iPad Mini and iPad Portrait specific fix */
@media (min-width: 768px) and (max-width: 1024px) {
    .signin-message {
        text-align: center !important;
    }
    
    .login-header h3 {
        text-align: center;
    }
    
    .login-header h3 span {
        text-align: center;
    }
}

/* RESPONSIVE MEDIA QUERIES */
/* Tablet Portrait and below - matches PHP: no width change until 768px */

/* Tablet and Mobile */
@media (max-width: 768px) {
    .login.login-with-news-feed .news-feed,
    .register.register-with-news-feed .news-feed {
        display: none;
    }
    
    .login.login-with-news-feed .right-content,
    .register.register-with-news-feed .right-content {
        float: none;
        width: 100% !important;
        height: auto;
        min-height: 100vh;
        overflow-y: auto;
    }
    
    .login.login-with-news-feed .login-header,
    .register.register-with-news-feed .register-header {
        padding: 60px 40px 0;
    }
    
    .login.login-with-news-feed .login-content,
    .register.register-with-news-feed .register-content {
        padding: 20px 40px 40px;
    }
    
    .login .login-content {
        width: auto;
        max-width: 450px;
        padding: 20px 30px;
    }
    
}

/* Mobile Portrait */
@media (max-width: 480px) {
    .login.login-with-news-feed .login-header,
    .register.register-with-news-feed .register-header {
        padding: 40px 20px 0;
    }
    
    .login.login-with-news-feed .login-content,
    .register.register-with-news-feed .register-content {
        padding: 15px 20px 30px;
    }
    
    .login .login-content {
        padding: 15px 20px;
        width: auto;
    }
    
    .login-header h3 span {
        font-size: 20px !important;
    }
    
    .form-control.input-lg,
    .lp-input {
        height: 44px !important;
        padding: 8px 14px !important;
        font-size: 16px !important;
    }

    .login-terms-row {
        flex-direction: column;
        align-items: center;
        margin-top: 25px;
    }

    .terms-policy {
        margin-bottom: 12px;
        text-align: center;
    }
}

/* Extra Small Mobile */
@media (max-width: 360px) {
    .login.login-with-news-feed .login-header,
    .register.register-with-news-feed .register-header {
        padding: 30px 15px 0;
    }
    
    .login.login-with-news-feed .login-content,
    .register.register-with-news-feed .register-content {
        padding: 10px 15px 20px;
    }
    
    .login .login-content {
        padding: 10px 15px;
    }
    
    .login-header h3 span {
        font-size: 18px !important;
    }
}
.adl-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1060;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 12vh;
}

.adl-dialog {
    background: #fff;
    border-radius: 8px;
    width: 90%;
    max-width: 580px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.adl-body {
    padding: 36px 40px 24px;
    text-align: center;
    font-size: 20px;
    color: #333;
    line-height: 1.5;
}

.adl-footer {
    padding: 12px 32px 28px;
    display: flex;
    justify-content: center;
    gap: 12px;
    border-top: 1px solid #e9ecef;
}

.adl-footer .btn {
    min-width: 80px;
    font-size: 13px;
    padding: 7px;
}

.adl-custom-button {
    min-width: 120px;
    font-size: 0.95rem;
    padding: 8px 24px;
    border: 1px solid #f59325 !important;
    background: #f59325 !important;
    color: #ffffff !important;
}

.adl-custom-button:hover {
    filter: brightness(0.9);
}

@media (max-width: 480px) {
    .adl-body {
        font-size: 17px;
        padding: 28px 20px 16px;
    }

    .adl-footer {
        flex-direction: column;
        align-items: center;
        padding: 12px 20px 24px;
    }

    .adl-footer .btn {
        width: 100%;
    }
}

@keyframes adlc-slide-in {
    from {
        opacity: 0;
        transform: translateY(-48px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes adlc-slide-out {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(-48px);
    }
}

.adlc-overlay {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 12vh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    padding-left: 16px;
    padding-right: 16px;
}

.adlc-dialog {
    background: #fff;
    border-radius: 10px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);
    width: 100%;
    max-width: 640px;
    animation: adlc-slide-in 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.adlc-dialog-closing {
    animation: adlc-slide-out 0.28s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.adlc-content {
    display: flex;
    flex-direction: column;
}

.adlc-body {
    padding: 48px 48px 24px;
    text-align: center;
}

.adlc-message {
    font-size: 1.55rem;
    margin: 0;
    line-height: 1.6;
    color: #333;
}

.adlc-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 16px;
    padding: 20px 40px 36px;
}

.adlc-continue-btn {
    min-width: 120px;
    font-size: 0.95rem;
    padding: 8px 24px;
    border: 1px solid #f59325 !important;
    background: #f59325 !important;
    color: #ffffff !important;
}

.adlc-continue-btn:hover {
    filter: brightness(0.9);
}

.adlc-cancel-btn {
    min-width: 120px;
    font-size: 0.95rem;
    padding: 8px 24px;
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

.adlc-cancel-btn:hover {
    filter: brightness(0.93);
}

@media (max-width: 480px) {
    .adlc-overlay {
        padding-top: 8vh;
    }

    .adlc-dialog {
        max-width: 100%;
    }

    .adlc-body {
        padding: 28px 20px 14px;
    }

    .adlc-message {
        font-size: 1rem;
    }

    .adlc-footer {
        flex-direction: column;
        padding: 14px 20px 28px;
        gap: 10px;
    }

    .adlc-footer .btn {
        width: 100%;
    }
}
.not-found-wrapper {
    height: 100vh;
    background: #2b2f36;
    color: white;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  }
  
  .not-found-content {
    text-align: center;
    padding: 30px;
    background-color: #f2f3f5;
    border-radius: 6px;
    color: #333;
    box-shadow: 0 2px 10px rgba(0,0,0,0.15);
  }
  
  .not-found-title {
    font-size: 72px;
    font-weight: bold;
    margin-bottom: 10px;
  }
  
  .not-found-icon {
    font-size: 60px;
    margin-left: 10px;
    vertical-align: middle;
  }
  
  .not-found-message {
    font-size: 24px;
    font-weight: 500;
    margin-bottom: 5px;
  }
  
  .not-found-subtext {
    font-size: 14px;
    color: #666;
  }
  .error {
    margin: 0 auto;
    text-align: center
}

.error-code,.error-content {
    position: absolute;
    left: 0;
    right: 0
}

.error-code {
    bottom: 60%;
    color: #2d353c;
    font-size: 96px;
    line-height: 100px
}

.error-content {
    top: 40%;
    bottom: 0;
    padding-top: 15px;
    background: #2d353c
}

.error-message {
    color: #fff;
    font-size: 24px
}

.error-desc {
    font-size: 14px;
    color: #647788
}

.statuslogin-page {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  width: 100%;
  padding: 24px;
  background-color: #f2f4f6;
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
  color: #2b2f33;
}

.statuslogin-card {
  width: 100%;
  max-width: 600px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  padding: 56px 60px 40px;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 4px 22px rgba(0, 0, 0, 0.14);
}

.statuslogin-welcome {
  margin: 8px 0 0;
  text-align: center;
  font-size: 26px;
  font-weight: 600;
}

.statuslogin-subtitle {
  margin: -16px 0 8px;
  text-align: center;
  font-size: 15px;
  color: #6b7075;
}

.statuslogin-form {
  display: flex;
  flex-direction: column;
  gap: 18px;
}

.statuslogin-field {
  display: flex;
  flex-direction: column;
}

.statuslogin-visuallyhidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.statuslogin-input {
  height: 50px;
  padding: 0 16px;
  border: 1px solid #ccd0d4;
  border-radius: 6px;
  font-size: 16px;
  outline: none;
  transition: border-color 0.15s ease-in-out;
}

.statuslogin-input:focus {
  border-color: #9fa2a5;
}

.statuslogin-toggle {
  align-self: center;
  padding: 0;
  border: none;
  background: none;
  color: #f59325;
  font-size: 13px;
  cursor: pointer;
}

.statuslogin-error {
  margin: 0;
  text-align: center;
  color: #d0342c;
  font-size: 14px;
}

.statuslogin-submit {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 50px;
  border: 1px solid #f59325;
  border-radius: 6px;
  background-color: #f59325;
  color: #ffffff;
  font-size: 17px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease-in-out;
}

.statuslogin-submit:hover {
  background-color: #e08420;
  border-color: #e08420;
}

.statuslogin-submit:active,
.statuslogin-submit:focus {
  background-color: #e86c02;
  border-color: #e86c02;
}

.statuslogin-submit:disabled {
  opacity: 0.65;
  cursor: not-allowed;
}

.statuslogin-loading {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.statuslogin-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.5);
  border-top-color: #ffffff;
  border-radius: 50%;
  animation: statuslogin-spin 0.6s linear infinite;
}

@keyframes statuslogin-spin {
  to {
    transform: rotate(360deg);
  }
}

.statuslogin-poweredby {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  margin: 6px 0 0;
  font-size: 13px;
  color: #6b7075;
}

.statuslogin-poweredby .logo_img {
  width: auto;
  height: 16px;
}

.statustopbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  height: 60px;
  padding: 0 24px;
  background-color: #ffffff;
  border-bottom: 1px solid #e4e8eb;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}

.statustopbar-brand {
  display: flex;
  align-items: center;
}

.statustopbar-user {
  position: relative;
}

.statustopbar-trigger {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  border: none;
  background: none;
  cursor: pointer;
  color: #2b2f33;
  font-size: 14px;
}

.statustopbar-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}

.statustopbar-avatar-icon {
  font-size: 28px;
  color: #9098a1;
}

.statustopbar-username {
  font-weight: 600;
}

.statustopbar-caret {
  font-size: 14px;
  color: #6b7075;
  transition: transform 0.15s ease-in-out;
}

.statustopbar-trigger[aria-expanded="true"] .statustopbar-caret {
  transform: rotate(180deg);
}

.statustopbar-dropdown {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 160px;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  background-color: #ffffff;
  border: 1px solid #e4e8eb;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
  z-index: 1050;
}

.statustopbar-logout {
  display: block;
  width: 100%;
  padding: 10px 16px;
  border: none;
  background: none;
  text-align: left;
  font-size: 14px;
  color: #2b2f33;
  cursor: pointer;
}

.statustopbar-logout:hover {
  background-color: #f5f6f8;
}

.statuslayout {
  min-height: 100vh;
  background-color: #f2f4f6;
}

.statuslayout-content {
  padding: 24px;
  width: 100%;
}

.cp-spinner {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 3px solid rgba(245, 147, 37, 0.2);
    border-top-color: #f59325;
    border-radius: 50%;
    animation: cp-spin 0.8s linear infinite;
    vertical-align: middle;
}

@keyframes cp-spin {
    to {
        transform: rotate(360deg);
    }
}

.notiftable-wrapper {
  width: 100%;
}

.notiftable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
}

.notiftable-head {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 12px 14px;
  text-align: left;
  font-weight: 600;
  color: #343a40;
  background-color: #dfe3e8;
  border-bottom: 2px solid #c9cfd6;
  white-space: nowrap;
}

/* Cap the Description column so long text wraps instead of stretching the table */
.notiftable-head:first-child,
.notiftable-row td:first-child {
  width: 38%;
  max-width: 320px;
  white-space: normal;
  overflow-wrap: anywhere;
}

.notiftable-row td {
  padding: 12px 14px;
  border-bottom: 1px solid #eceef1;
  color: #2b2f33;
  vertical-align: middle;
}

.notiftable-row:nth-child(even) {
  background-color: #fafbfc;
}

.notiftable-empty {
  padding: 28px 14px;
  text-align: center;
  color: #7a8085;
  font-size: 15px;
}

.notiftable-actions {
  white-space: nowrap;
}

.notiftable-action {
  border: none;
  background: none;
  cursor: pointer;
  font-size: 14px;
}

.notiftable-edit {
  color: #4a4f55;
  margin-right: 14px;
}

.notiftable-clear {
  color: #f59325;
  font-weight: 600;
}

.notiftable-clear:hover {
  text-decoration: underline;
}

.notiftable-cleared {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 4px;
  background-color: #FF7D7C;
  color: #ffffff;
  font-size: 12px;
  font-weight: 600;
}

.notifmodal-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 90px;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1060;
}

.notifmodal-dialog {
  width: 100%;
  max-width: 520px;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.2);
}

.notifmodal-header {
  padding: 16px 20px;
  border-bottom: 1px solid #e4e8eb;
}

.notifmodal-title {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  color: #2b2f33;
}

.notifmodal-body {
  padding: 20px;
}

.notifmodal-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.notifmodal-label {
  font-size: 14px;
  font-weight: 600;
  color: #4a4f55;
}

.notifmodal-required {
  color: #d0342c;
  margin-left: 2px;
}

.notifmodal-textarea {
  width: 100%;
  min-height: 90px;
  padding: 10px 14px;
  border: 1px solid #ccd0d4;
  border-radius: 6px;
  font-size: 15px;
  color: #2b2f33;
  outline: none;
  resize: vertical;
  box-sizing: border-box;
}

.notifmodal-textarea:focus {
  border-color: #9fa2a5;
}

.notifmodal-confirm {
  margin: 0;
  font-size: 15px;
  color: #2b2f33;
}

.notifmodal-footer {
  display: flex;
  justify-content: center;
  gap: 12px;
  padding: 16px 20px;
  border-top: 1px solid #e4e8eb;
}

.notifmodal-submit,
.notifmodal-cancel {
  min-width: 100px;
  height: 40px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.notifmodal-submit {
  border: 1px solid #f59325;
  background-color: #f59325;
  color: #ffffff;
}

.notifmodal-submit:hover {
  background-color: #e08420;
  border-color: #e08420;
}

.notifmodal-cancel {
  border: 1px solid #ccd0d4;
  background-color: #ffffff;
  color: #4a4f55;
}

.notifmodal-cancel:hover {
  background-color: #f5f6f8;
}

.statusnotif-list {
  width: 100%;
}

.statusnotif-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-bottom: 16px;
}

.statusnotif-toolbtn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #f59325;
  border-radius: 6px;
  background-color: #f59325;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease-in-out;
}

.statusnotif-toolbtn:hover {
  background-color: #e08420;
  border-color: #e08420;
}

.statusnotif-panel {
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
}

.statusnotif-panel-head {
  padding: 16px 20px;
  border-bottom: 1px solid #e4e8eb;
}

.statusnotif-panel-title {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  color: #2b2f33;
}

.statusnotif-panel-body {
  padding: 10px 16px 20px;
}

.statusnotif-error {
  margin: 8px 4px 4px;
  padding: 10px 14px;
  border-radius: 6px;
  background-color: #fdecea;
  color: #b3261e;
  font-size: 14px;
}

.statusnotif-sentinel {
  height: 1px;
}

.statusnotif-loading {
  display: flex;
  justify-content: center;
  padding: 18px 0;
  color: #f59325;
}

#confirmationModal .modal-message {
    font-size: 30px;
}

.btn {
    padding: 8px 20px;
    border: none;
    font-size: 14px;
    border-radius: 4px;
    cursor: pointer;
}

.btn-warning {
    border: 1px solid #f59325 !important;
    background: #f59325 !important;
    color: #ffffff !important;
}

.btn-outline {
    border: 1px solid #f59325 !important;
    background-color: #ffffff !important;
    color: #f59325 !important;
}
.modal_msg {
    text-align: center;
    font-size: 30px;
    color: #707478;
}

.modal-content.slide-up {
    animation: slideUp 0.4s ease-in forwards;
}

.modal-dialog {
    max-width: 100%;
    margin: 1rem auto;
}

.modal-content {
    width: 100%;
    border-radius: 0.5rem;
}

.custom-warning-modal {
    margin: 1.75rem auto;
    width: 100%;
    max-width: 500px;
    padding: 0 1rem;
}

/* DESKTOP & TABLET — default */
.modal-dialog.custom-warning-modal {
    margin: 1.75rem auto;
    width: 100%;
    max-width: 500px;
    padding: 0 1rem;
    box-sizing: border-box;
}

@media (max-width: 576px) {
    .modal-dialog.custom-warning-modal {
        width: 100% !important;
        max-width: 100% !important;
        margin: 1rem auto !important;
        padding: 0 1rem;
        box-sizing: border-box;
    }

    .modal-dialog.custom-warning-modal .modal-content {
        width: 100% !important;
        box-sizing: border-box;
    }
}
.predefmsgtable-wrapper {
  width: 100%;
}

.predefmsgtable {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  font-size: 14px;
}

.predefmsgtable-head {
  position: sticky;
  top: 0;
  z-index: 2;
  padding: 12px 14px;
  text-align: left;
  font-weight: 600;
  color: #343a40;
  background-color: #dfe3e8;
  border-bottom: 2px solid #c9cfd6;
  white-space: nowrap;
}

/* Keep the Actions column compact so Message takes the remaining width */
.predefmsgtable-head:last-child,
.predefmsgtable-row td:last-child {
  width: 160px;
  white-space: nowrap;
}

.predefmsgtable-row td {
  padding: 12px 14px;
  border-bottom: 1px solid #eceef1;
  color: #2b2f33;
  vertical-align: middle;
  overflow-wrap: anywhere;
}

.predefmsgtable-row:nth-child(even) {
  background-color: #fafbfc;
}

.predefmsgtable-empty {
  padding: 28px 14px;
  text-align: center;
  color: #7a8085;
  font-size: 15px;
}

.predefmsgtable-actions {
  white-space: nowrap;
}

.predefmsgtable-action {
  border: none;
  background: none;
  cursor: pointer;
  font-size: 15px;
}

.predefmsgtable-edit {
  color: #4a4f55;
  margin-right: 16px;
}

.predefmsgtable-remove {
  color: #d9534f;
}

.predefmsgtable-remove:hover {
  color: #c9302c;
}

.addpredefmodal-overlay {
  position: fixed;
  inset: 0;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 90px;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 1060;
}

.addpredefmodal-dialog {
  width: 100%;
  max-width: 520px;
  background-color: #ffffff;
  border-radius: 8px;
  box-shadow: 0 6px 24px rgba(0, 0, 0, 0.2);
}

.addpredefmodal-header {
  padding: 16px 20px;
  border-bottom: 1px solid #e4e8eb;
}

.addpredefmodal-title {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  color: #2b2f33;
}

.addpredefmodal-body {
  padding: 20px;
}

.addpredefmodal-field {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 12px;
}

.addpredefmodal-label {
  flex: 0 0 auto;
  padding-top: 10px;
  font-size: 14px;
  font-weight: 600;
  color: #4a4f55;
}

.addpredefmodal-required {
  color: #d0342c;
  margin-left: 2px;
}

.addpredefmodal-input-wrap {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  gap: 6px;
}

.addpredefmodal-textarea {
  width: 100%;
  min-height: 90px;
  padding: 10px 14px;
  border: 1px solid #ccd0d4;
  border-radius: 6px;
  font-size: 15px;
  color: #2b2f33;
  outline: none;
  resize: vertical;
  box-sizing: border-box;
}

.addpredefmodal-textarea:focus {
  border-color: #9fa2a5;
}

.addpredefmodal-textarea-error,
.addpredefmodal-textarea-error:focus {
  border-color: #d0342c;
}

.addpredefmodal-error-text {
  font-size: 13px;
  color: #d0342c;
}

.addpredefmodal-footer {
  display: flex;
  justify-content: center;
  gap: 12px;
  padding: 16px 20px;
  border-top: 1px solid #e4e8eb;
}

.addpredefmodal-submit,
.addpredefmodal-cancel {
  min-width: 100px;
  height: 40px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
}

.addpredefmodal-submit {
  border: 1px solid #f59325;
  background-color: #f59325;
  color: #ffffff;
}

.addpredefmodal-submit:hover {
  background-color: #e08420;
  border-color: #e08420;
}

.addpredefmodal-submit:disabled,
.addpredefmodal-cancel:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.addpredefmodal-cancel {
  border: 1px solid #ccd0d4;
  background-color: #ffffff;
  color: #4a4f55;
}

.addpredefmodal-cancel:hover {
  background-color: #f5f6f8;
}

.predefmsg-list {
  width: 100%;
}

.predefmsg-toolbar {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  margin-bottom: 16px;
}

.predefmsg-toolbtn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 40px;
  padding: 0 16px;
  border: 1px solid #f59325;
  border-radius: 6px;
  background-color: #f59325;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s ease-in-out;
}

.predefmsg-toolbtn:hover {
  background-color: #e08420;
  border-color: #e08420;
}

.predefmsg-panel {
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.08);
}

.predefmsg-panel-head {
  padding: 16px 20px;
  border-bottom: 1px solid #e4e8eb;
}

.predefmsg-panel-title {
  margin: 0;
  font-size: 17px;
  font-weight: 600;
  color: #2b2f33;
}

.predefmsg-panel-body {
  padding: 10px 16px 20px;
}

.predefmsg-error {
  margin: 8px 4px 4px;
  padding: 10px 14px;
  border-radius: 6px;
  background-color: #fdecea;
  color: #b3261e;
  font-size: 14px;
}

.predefmsg-loading {
  display: flex;
  justify-content: center;
  padding: 18px 0;
  color: #f59325;
}

.statusnotif-page {
  width: 100%;
}

.statusnotif-card {
  width: 100%;
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 2px 14px rgba(0, 0, 0, 0.1);
}

.statusnotif-header {
  padding: 18px 24px;
  border-bottom: 1px solid #e4e8eb;
}

.statusnotif-title {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #2b2f33;
}

.statusnotif-form {
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.statusnotif-fields {
  display: flex;
  flex-direction: column;
  gap: 20px;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
}

.statusnotif-row {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  gap: 16px;
}

.statusnotif-label {
  flex: 0 0 200px;
  padding-top: 12px;
  font-size: 14px;
  font-weight: 600;
  color: #4a4f55;
  text-align: right;
}

.statusnotif-control {
  flex: 1 1 auto;
}

.statusnotif-required {
  color: #d0342c;
  margin-left: 2px;
}

.statusnotif-input {
  width: 100%;
  height: 44px;
  padding: 10px 14px;
  border: 1px solid #ccd0d4;
  border-radius: 6px;
  font-size: 15px;
  line-height: 22px;
  color: #2b2f33;
  background-color: #ffffff;
  outline: none;
  transition: border-color 0.15s ease-in-out;
  box-sizing: border-box;
}

select.statusnotif-input {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  padding-right: 36px;
  background-image: url("data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%2212%22%20height%3D%228%22%20viewBox%3D%220%200%2012%208%22%3E%3Cpath%20fill%3D%22%234a4f55%22%20d%3D%22M6%208L0%200h12z%22%2F%3E%3C%2Fsvg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  cursor: pointer;
}

.statusnotif-input:focus {
  border-color: #9fa2a5;
}

.statusnotif-textarea {
  height: auto;
  min-height: 90px;
  resize: vertical;
}

.statusnotif-input-error,
.statusnotif-input-error:focus {
  border-color: #d0342c;
}

.statusnotif-error-text {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  color: #d0342c;
}

.statusnotif-communities {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.statusnotif-facility-error {
  text-align: center;
  color: #d0342c;
  font-size: 14px;
}

.statusnotif-selectall {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.statusnotif-selectall-text {
  margin: 0;
  font-weight: 600;
  color: #4a4f55;
  cursor: pointer;
}

/* Native checkbox tinted with the project's orange accent */
.statusnotif-checkbox {
  width: 18px;
  height: 18px;
  accent-color: #f59325;
  cursor: pointer;
  flex: 0 0 auto;
}

/* Toggle switch matching the project's orange accent */
.statusnotif-switch {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 38px;
  height: 20px;
  margin: 0;
}

.statusnotif-switch input {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

.statusnotif-switch-slider {
  position: absolute;
  inset: 0;
  cursor: pointer;
  background-color: #ccd0d4;
  border-radius: 20px;
  transition: background-color 0.2s ease-in-out;
}

.statusnotif-switch-slider::before {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 16px;
  height: 16px;
  background-color: #ffffff;
  border-radius: 50%;
  transition: transform 0.2s ease-in-out;
}

.statusnotif-switch input:checked + .statusnotif-switch-slider {
  background-color: #f59325;
}

.statusnotif-switch input:checked + .statusnotif-switch-slider::before {
  transform: translateX(18px);
}

.statusnotif-inst-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}

.statusnotif-inst-card {
  border: 1px solid #e4e8eb;
  border-radius: 8px;
  overflow: hidden;
  background-color: #ffffff;
}

.statusnotif-inst-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 14px;
  background-color: #343a40;
  border-bottom: 1px solid #2b3036;
}

.statusnotif-inst-title {
  margin: 0;
  font-size: 15px;
  font-weight: 600;
  color: #ffffff;
}

.statusnotif-inst-body {
  padding: 8px 14px;
}

.statusnotif-facility-list {
  list-style: disc;
  padding-left: 22px;
  margin: 0;
}

.statusnotif-facility-item {
  display: list-item;
  margin: 8px 0;
  font-size: 13px;
  color: #4a4f55;
}

.statusnotif-facility-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.statusnotif-facility-name {
  flex: 1 1 auto;
}

@media (max-width: 992px) {
  .statusnotif-inst-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 640px) {
  .statusnotif-inst-grid {
    grid-template-columns: 1fr;
  }
}

.statusnotif-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  width: 100%;
  max-width: 760px;
  margin: 0 auto;
  padding-top: 4px;
}

.statusnotif-action-btn {
  min-width: 120px;
  padding: 0 18px;
}

.rp-page {
    position: relative;
    min-height: 100vh;
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Institution branding image shown behind the reset card */
.rp-bg-image {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    z-index: 0;
}

.rp-container {
    position: relative;
    z-index: 1;
    width: 100%;
    max-width: 1240px;
    margin: 0 auto;
    padding: 32px 16px 120px;
    flex: 1 1 auto;
}

.rp-logo {
    text-align: center;
    margin-bottom: 18px;
}

.rp-form {
    width: 100%;
}

.rp-panel {
    background-color: #ffffff;
    border: 1px solid #e2e7eb;
    border-radius: 3px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    margin-bottom: 20px;
}

.rp-panel-heading {
    background-color: #9b9b9b;
    color: #ffffff;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: 0.3px;
    padding: 12px 16px;
    border-top-left-radius: 3px;
    border-top-right-radius: 3px;
}

.rp-panel-body {
    padding: 20px 16px;
}

.rp-field-row {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    margin-bottom: 16px;
}

.rp-field-row:last-child {
    margin-bottom: 0;
}

.rp-field-label {
    flex: 0 0 38%;
    max-width: 38%;
    text-align: right;
    font-weight: 600;
    color: #333333;
    padding-top: 8px;
    margin-bottom: 0;
}

.rp-required {
    color: #e74c3c;
    margin-left: 2px;
}

.rp-field-input {
    flex: 1 1 auto;
    min-width: 0;
}

.rp-field-input .form-control {
    height: 38px;
}

.rp-error {
    color: #e74c3c;
    font-size: 13px;
    margin: 6px 0 0;
}

.rp-server-message {
    margin-top: 12px;
    text-align: center;
    font-size: 14px;
}

.rp-submit-panel {
    display: flex;
    justify-content: center;
    padding: 16px;
}

.rp-submit-btn {
    min-width: 92px;
    height: 36px;
    padding: 6px 18px;
    font-size: 14px;
    font-weight: 400;
    border-radius: 4px;
    cursor: pointer;
}

.rp-submit-btn:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

/* Footer bar pinned to the bottom of the page */
.rp-footer {
    position: relative;
    z-index: 1;
    border-top: 1px solid #e2e7eb;
    background-color: #ffffff;
    padding: 10px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.rp-footer-copyright p {
    margin: 0 !important;
    font-size: 13px;
    color: #666666;
    text-align: left !important;
}

.rp-footer-right {
    display: flex;
    align-items: center;
    gap: 16px;
}

.rp-footer-right .terms-policy {
    white-space: nowrap;
}

.rp-footer-right .lang-selector-wrapper {
    max-width: 160px;
}

/* Mobile */
@media (max-width: 575px) {
    .rp-field-row {
        flex-direction: column;
        gap: 6px;
    }

    .rp-field-label {
        flex: 1 1 auto;
        max-width: 100%;
        text-align: left;
        padding-top: 0;
    }

    .rp-footer {
        flex-direction: column;
        align-items: flex-start;
    }
}

.ft-terms-page {
    background-color: #fff;
    border: 1px solid #e6e3da;
    box-shadow: 1px 2px 5px 0px #efeee9;
}

.ft-terms-content {
    padding: 20px;
}

.ft-terms-body {
    padding: 20px;
}

.ft-navigate-buttons button {
    text-decoration: none;
    color: #337ab7;
}

.ft-navigate-buttons button:hover {
    color: #23527c;
    text-decoration: underline;
}

.ft-privacy-navigate-buttons {
    background: none;
    border: none;
    color: #337ab7;
    cursor: pointer;
    padding: 0;
    font-size: inherit;
}

.ft-notes {
    line-height: 1.5;
    color: #333;
    font-size: 14px;
}
.pp-terms-page {
    background-color: #fff;
    border: 1px solid #e6e3da;
    box-shadow: 1px 2px 5px 0px #efeee9;
}

.pp-terms-content {
    padding: 20px;
}

.pp-terms-body {
    padding: 20px;
}

.pp-navigate-buttons button {
    text-decoration: none;
    color: #337ab7;
}

.pp-navigate-buttons button:hover {
    color: #23527c;
    text-decoration: underline;
}

.pp-notes {
    line-height: 1.5;
    color: #333;
    font-size: 14px;
}

.pp-notes-sub-list {
    margin-left: 20px;
    line-height: 1.5;
    color: #333;
    font-size: 14px;
}
.sidebar {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: 220px;
  height: 100vh;
  background-color: #fff;
  overflow: visible;
  display: flex;
  flex-direction: column;
  transition: width 0.3s ease;
  z-index: 100;
  padding-bottom: 60px;
  padding-top: var(--sidebar-top-offset, 105px) !important;
}

.sidebar.collapsed {
  width: 70px;
  overflow: visible;
}

.sidebar.collapsed .menu-item {
  position: relative;
  overflow: visible;
}

/* Regular submenu (when expanded) - shows below the menu item */
.sidebar-submenu {
  list-style: none;
  margin: 0;
  padding-left: 0.5rem;
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transform: scaleY(0);
  transform-origin: top;
  transition: max-height 0.25s cubic-bezier(0.4, 0, 0.2, 1), 
              opacity 0.2s ease, 
              transform 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Show submenu when open in expanded mode */
.sidebar:not(.collapsed) .sidebar-submenu.open {
  max-height: 2000px;
  opacity: 1;
  transform: scaleY(1);
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1), 
              opacity 0.25s ease, 
              transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Show offcanvas submenu on hover when collapsed - Higher specificity */
.sidebar.collapsed .menu-item:hover > .sidebar-submenu {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0) !important;
  pointer-events: auto !important;
}

/* Keep offcanvas open when hovering over the submenu itself */
.sidebar.collapsed .sidebar-submenu:hover {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0) !important;
  pointer-events: auto !important;
}

/* Alternative hover trigger for better compatibility */
.sidebar.collapsed .menu-item:hover .sidebar-submenu,
.sidebar.collapsed .menu-item.menu-hover .sidebar-submenu {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: translateX(0) !important;
  pointer-events: auto !important;
}

/* Submenu header in offcanvas - more compact */
.sidebar.collapsed .sidebar-submenu::before {
  content: attr(data-menu-title);
  display: block;
  padding: 0.75rem 1rem;
  font-weight: 600;
  font-size: 14px;
  color: #333;
  border-bottom: 1px solid #e0e0e0;
  background-color: #f8f9fa;
  border-radius: 8px 8px 0 0;
}

/* Submenu items styling in collapsed offcanvas mode */
.sidebar.collapsed .sidebar-submenu .submenu-item {
  margin: 0;
  padding: 0;
}

.sidebar.collapsed .sidebar-submenu .submenu-item:not(:last-child) {
  border-bottom: 1px solid #f0f0f0;
}

.sidebar.collapsed .sidebar-submenu .sidebar-link {
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: nowrap;
  border-radius: 0;
  transition: background-color 0.2s ease;
  font-size: 14px;
  color: #6d7278;
}

.sidebar.collapsed .sidebar-submenu .submenu-item:last-child .sidebar-link {
  border-radius: 0 0 8px 8px;
}

/* Enhanced hover area to prevent flickering */
.sidebar.collapsed .menu-item {
  position: relative;
  overflow: visible;
}

/* Create invisible bridge between menu item and offcanvas to prevent flickering */
.sidebar.collapsed .menu-item:hover::after {
  content: '';
  position: absolute;
  top: 0;
  left: 100%;
  width: 20px;
  height: 100%;
  background: transparent;
  z-index: 9998;
}

/* Ensure submenu arrow is visible in collapsed mode */
.sidebar.collapsed .sidebar-link.dropdown-toggle::after {
  content: "▶";
  position: absolute;
  right: 15px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 8px;
  margin-left: 0;
  color: #6d7278;
}

/* Better positioning for submenu when it might go off screen */
.sidebar.collapsed .menu-item:last-child .sidebar-submenu,
.sidebar.collapsed .menu-item:nth-last-child(2) .sidebar-submenu,
.sidebar.collapsed .menu-item:nth-last-child(3) .sidebar-submenu {
  top: auto;
  bottom: 0;
}

/* Responsive adjustments for compact offcanvas */
@media (max-width: 1024px) {
  .sidebar.collapsed .sidebar-submenu {
    width: 250px;
  }
}

@media (max-width: 767px) {
  .sidebar.collapsed .sidebar-submenu {
    width: 220px;
  }
}

.sidebar.collapsed nav ul li {
  margin-bottom: 10px;
}

.sidebar.collapsed .sidebar-link span,
.sidebar.collapsed .submenu,
.sidebar.collapsed .logo-wrapper {
  display: none;
}

/* ── Offcanvas (collapsed-sidebar flyout) ───────────────────────────────── */

.sidebar-offcanvas {
  position: fixed;
  top: var(--sidebar-offcanvas-top, 0);
  left: 70px;
  width: max-content;
  min-width: 250px;
  max-width: 320px;
  background-color: #fff;
  box-shadow: 2px 2px 15px rgba(0, 0, 0, 0.2);
  z-index: 10000;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  overflow: visible;
}

.sidebar-offcanvas__list {
  list-style: none;
  margin: 0;
  padding: 0;
}

.sidebar-offcanvas__item {
  margin: 0;
  padding: 0;
}

.sidebar-offcanvas__item:not(:last-child) {
  border-bottom: 1px solid #f0f0f0;
}

.sidebar-offcanvas__link {
  padding: 0.75rem 1rem;
  display: flex;
  align-items: center;
  gap: 10px;
  white-space: normal;
  overflow-wrap: anywhere;
  font-size: 14px;
  color: #6d7278;
  text-decoration: none;
  transition: background-color 0.2s ease, color 0.2s ease;
  border-radius: 0;
}

.sidebar-offcanvas__item--first .sidebar-offcanvas__link {
  border-radius: 8px 8px 0 0;
}

.sidebar-offcanvas__item--last .sidebar-offcanvas__link {
  border-radius: 0 0 8px 8px;
}

/* Single item panel (first and last simultaneously) */
.sidebar-offcanvas__item--first.sidebar-offcanvas__item--last .sidebar-offcanvas__link {
  border-radius: 8px;
}

.sidebar-offcanvas__link:hover {
  background-color: #f8b28b;
  color: #ffffff !important;
}

.sidebar-offcanvas__link:hover i {
  color: #ffffff !important;
}

/* Active (current) item highlighted in the collapsed flyout */
.sidebar-offcanvas__link.active {
  color: #f59325 !important;
  font-weight: 600;
}

.sidebar-offcanvas__link.active i,
.sidebar-offcanvas__link.active .sidebar-offcanvas__icon-bullet {
  color: #f59325 !important;
}

.sidebar-offcanvas__link.active:hover {
  background-color: #f8b28b;
  color: #ffffff !important;
}

.sidebar-offcanvas__link.active:hover i,
.sidebar-offcanvas__link.active:hover .sidebar-offcanvas__icon-bullet {
  color: #ffffff !important;
}

.sidebar-offcanvas__icon {
  display: flex;
  align-items: center;
  flex-shrink: 0;
}

.sidebar-offcanvas__icon-bullet {
  font-size: 12px;
  color: #6d7278;
}

/*  End Offcanvas  */

.sidebar-menu {
  display: flex;
  flex-direction: column;
  height: 100%;
  font-family: "Open Sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

.sidebar-list {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: 5px;
  margin: 0;
  list-style: none;
}

.sidebar-list .menu-item {
  padding: 0;
  margin: 0;
  padding-left: 5px;
  position: relative;
}

/* Unread message dot shown on the Messages sidebar item */
.message-unread {
  height: 10px;
  width: 10px;
  background-color: red !important;
  border-radius: 50%;
  position: absolute;
  top: 7px;
  left: 31px;
  padding: 0px !important;
  display: inline-block;
  pointer-events: none;
  z-index: 1;
}

.sidebar-list .menu-item.no-hover {
  pointer-events: none;
  background-color: transparent !important;
  color: #6d7278;
  cursor: default;
}

.sidebar-list .menu-item.active {
  border-left: 4px solid #f59325;
}

.sidebar-list .menu-item.submenu-open {
  border-left: 4px solid #f59325;
}

.sidebar-list .menu-item.submenu-open .submenu-item.active .sidebar-link {
  font-weight: 600;
  color: #f59325;
}

.sidebar-list .menu-item.active .sidebar-link i {
  color: #f59325;
}

/* Active submenu item icon color */
.sidebar-list .submenu-item.active .sidebar-link i {
  color: #f59325;
}

/* Active submenu item icon in wrapper */
.sidebar-list .submenu-item.active .submenu-icon-wrapper i {
  color: #f59325;
}

.sidebar-list .sidebar-link {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0.5rem 1rem;
  color: #889097;
  background-color: #fff;
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
  transition: background 0.2s, color 0.2s;
  width: 100%;
  box-sizing: border-box;
  border-radius: 0;
  white-space: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
}

.sidebar-menu-image {
  width: 16px;
  height: 16px;
  object-fit: contain;
  flex: 0 0 16px;
}

.sidebar-list .sidebar-link.dropdown-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  position: relative;
  cursor: pointer;
}

/* Dropdown arrow for expanded sidebar (CSS escape keeps it ASCII-safe) */
.sidebar-list .sidebar-link.dropdown-toggle::after {
  content: "\25BC";
  margin-left: auto;
  font-size: 10px;
  color: #6d7278;
  transition: transform 0.2s ease;
  border-top: 0;
}

/* Rotate arrow when menu is open (only in expanded mode) */
.sidebar:not(.collapsed) .menu-item.submenu-open .sidebar-link.dropdown-toggle::after {
  transform: rotate(180deg);
}

/* When sidebar is collapsed, show smaller arrow on the right (CSS escape keeps it ASCII-safe) */
.sidebar.collapsed .sidebar-link.dropdown-toggle::after {
  content: "\25B6";
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 8px;
  margin-left: 0;
}

.sidebar-list .sidebar-link:hover {
  background-color: #f3f4f6;
  border-radius: 0;
}

.sidebar-list .submenu {
  list-style-type: disc;
  padding-left: 2rem;
  margin-top: 0.5rem;
}

.sidebar-list .submenu-link {
  display: block;
  padding: 0.4rem 0;
  color: #6d7278;
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
}

.sidebar-list .submenu-link:hover {
  text-decoration: underline;
}

.sidebar-list .caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid\9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}

.nav-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0.5rem 1rem;
  color: #6d7278;
  background-color: #fff;
  font-weight: 500;
  font-size: 14px;
  text-decoration: none;
  width: 100%;
  box-sizing: border-box;
  border-radius: 0;
  white-space: normal;
  overflow-wrap: break-word;
  word-wrap: break-word;
  cursor: default;
  pointer-events: none;
  user-select: none;
}

.nav-header.collapsed {
  display: none;
}

.menu-item:hover {
  background-color: #f8b28b !important;
  color: #ffffff !important;
}

.menu-item:hover .sidebar-link,
.menu-item:hover .sidebar-link *,
.menu-item:hover span {
  color: #ffffff !important;
  background-color: transparent !important;
}

.menu-item:hover i {
  color: #f59325 !important;
  background-color: transparent !important;
}

/* Disable parent hover highlight when submenu is open */
.menu-item.submenu-open:hover {
  background-color: transparent !important;
  color: inherit !important;
}

.menu-item.submenu-open:hover .sidebar-link,
.menu-item.submenu-open:hover .sidebar-link *,
.menu-item.submenu-open:hover i,
.menu-item.submenu-open:hover span {
  color: #6d7278 !important;
  background-color: transparent !important;
}

.sidebar-submenu,
.sidebar-submenu li {
  list-style: none;
  margin: 0;
  padding-left: 0.5rem;
}

.default-bullet {
  font-size: 20px;
  line-height: 1;
  margin-right: 8px;
  color: #6d7278;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  text-align: center;
  /* Pin the weight so the bullet keeps the exact same width/height when its
     item is active. The active `.sidebar-link` sets font-weight:600, which the
     `•` character would otherwise inherit and render heavier/larger. */
  font-weight: normal !important;
}

/* Submenu icon/bullet wrapper — fixed width so bullets line up with sibling
   items that use real icons, and the dot is vertically centered. */
.submenu-icon-wrapper {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}

/* Active submenu item — keep the bullet the SAME size/weight as inactive.
   Only the colour changes (to match the orange active icons); the box,
   font-size and weight are explicitly held constant. */
.sidebar-list .submenu-item.active .default-bullet {
  color: #f59325;
  font-size: 20px;
  font-weight: normal !important;
  width: 16px;
  height: 16px;
  line-height: 1;
}

.preview-label {
  margin-left: auto;
  font-size: 12px;
  font-weight: 500;
  color: #fff;
  background-color: rgb(238, 147, 26) !important;
  padding: 2px 6px;
  border-radius: 4px;
}

/* Hover effect on submenu items */
.sidebar-submenu .submenu-item .sidebar-link:hover {
  background-color: #f8b28b !important;
  color: #ffffff !important;
}

.sidemenu_minify {
  display: flex;
  justify-content: end;

  .sidebar-minify-btn {
    display: block;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    padding: 5px 20px 5px 10px !important;
    border-radius: 20px 0 0 20px;
    transition: color .1s ease-in-out;

    i {
      font-size: 12px;
    }
  }

  .sidebar-minify-btn:hover {
    background: rgba(242, 110, 48, 0.53) !important;
    color: #ffffff !important;
  }
}

.btn_custom_background {
  border: 1px solid #f59325 !important;
  background: #f59325 !important;
  color: #ffffff !important;
}

@media (max-width: 767px) {
  .sidebar {
    position: fixed !important;
    top: 0;
    left: -100%;
    width: 50% !important;
    max-width: 300px;
    height: 100vh;
    background-color: #fff;
    z-index: 1050;
    transition: left 0.3s ease;
    overflow-y: auto;
  }

  .sidebar.collapsed {
    width: 18% !important;
  }

  .sidebar.mobile-open {
    left: 0;
  }

  .sidebar-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1049;
  }

  html.mobile-lock,
  body.mobile-lock {
    overflow: hidden;
    height: 100%;
  }
}

@media (max-width: 767px) {
  .sidemenu_minify {
    display: none;
  }
}

@media (min-width: 1024px) {
  .sidebar.mobile-open {
    left: 0;
  }

  .sidebar-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1049;
  }

  html.mobile-lock,
  body.mobile-lock {
    overflow: hidden;
    height: 100%;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  .sidebar {
    left: 0;
    width: 220px !important;
    overflow-y: auto !important;
    height: 100vh;
  }

  .sidebar.collapsed {
    width: 70px !important;
  }

  .sidebar nav {
    overflow-y: auto;
    height: calc(100vh - 165px);
  }

  .main-content {
    margin-left: 0;
  }

  .main-content.mobile-open {
    margin-left: 350px;
  }
}
.top-navbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 60px;
  z-index: 1000;
  background: white;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1rem 0 10px;
  transition: padding-left 0.3s ease;
}

.top-navbar-left img {
  height: 40px;
}

.top-navbar-left {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.contact-workspace i {
  cursor: pointer;
  font-size: 25px;
}

.top-navbar-right {
  display: flex;
  align-items: center;
  gap: 28px;
}

.mobile-toggle {
  background: none;
  border: none;
  font-size: 1.5rem;
  color: #333;
  margin-left: auto;
}

.help-button {
  background-color: #f59325;
  color: white;
  border: none;
  border-radius: 15px !important;
  padding: 6px 12px;
  margin: 10px 5px;
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  text-decoration: none;
}

.help-button:hover {
  border: 1px solid #ffffff !important;
  background-color: #f8b28b !important;
  color: #ffffff !important;
  transition: opacity 0.2s ease-in-out;
}

.help-button i {
  margin-right: 6px;
}


.left-column {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding-top: 10px;
}

.left-column.left-column-offset {
  padding-top: 40px;
}

.facility-logo {
  height: 40px;
  width: auto;
  object-fit: contain;
}

.topnav-logo-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}

.top-link {
  font-size: 16px;
  font-weight: 400;
  color: #585663;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
}

.user-menu {
  position: relative;
  cursor: pointer;
  display: flex;
  z-index: 1001;
  align-items: center;
  gap: 5px;

  .user-profile-img {
    width: 35px;
    height: 35px;
    border-radius: 50%;
    object-fit: fill;
  }

  i.fa.fa-user-circle {
    font-size: 35px;
  }

  span {
    color: #585663;
    font-size: 16px;
    font-weight: 400;
  }

  .caret {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 2px;
    vertical-align: middle;
    border-top: 4px dashed;
    border-top: 4px solid\9;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
  }
}

.user-dropdown {
  font-size: 14px;
  position: absolute;
  top: 100%;
  right: 0;
  background-color: #fff;
  border: 1px solid #ccc;
  box-shadow: 0 2px 5px -1px rgba(0, 0, 0, .2);
  list-style: none;
  padding: 5px 0;
  margin: 2px 0 0;
  z-index: 9999;
  min-width: 160px;
  border-top: 1px solid #eee;
  border-radius: 4px;
  height: auto;
  animation-name: fadeInLeft;
  animation-duration: 0.5s;
  animation-fill-mode: both;
}

.user-dropdown li {
  padding: 0.2rem 1rem;
  cursor: pointer;
  white-space: nowrap;
}

.user-dropdown li:hover {
  background-color: #f5f5f5;
}

/* Notification Items */
.notification-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.notification-item .websocket-green {
  color: #4caf50;
}

.notification-toggle {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.notification-toggle input[type="checkbox"] {
  cursor: pointer;
}

.notification-label {
  font-size: 10px;
  margin: 0;
  text-align: center;
  color: #585663;
  line-height: 1.2;
  max-width: 150px;
}

/* Custom Switch for Staff Chat and Alert Notifications */
.notification-toggle .custom-switch-top-nav {
  position: relative;
  width: 50px;
  height: 24px;
  appearance: none;
  background-color: #ccc;
  border-radius: 12px;
  outline: none;
  cursor: pointer;
  transition: background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.notification-toggle .custom-switch-top-nav::before {
  content: '';
  position: absolute;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background-color: white;
  left: 2px;
  top: 2px;
  transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.notification-toggle .custom-switch-top-nav:checked {
  background-color: #f59325;
}

.notification-toggle .custom-switch-top-nav:checked::before {
  transform: translateX(26px);
}

.alert-list {
  position: relative;
}

.alert-list-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  color: #585663;
  gap: 4px;
}

.alert-icon-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
}

.alert-icon-wrapper i {
  font-size: 24px;
  line-height: 1;
  color: #585663;
  display: block;
}

.alert-badge {
  position: absolute;
  top: -5px;
  right: -14px;
  background-color: #ff5b57;
  color: white;
  border-radius: 10px;
  padding: 2px 6px;
  font-size: 10px;
}

/* Multi-State Toggle */
.multi-state-toggle {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.toggle-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.toggle-label-left-staff,
.toggle-label-right-staff {
  font-size: 10px;
  color: #585663;
  text-align: center;
  line-height: 1.2;
}

.toggle-label-left,
.toggle-label-right {
  font-size: 10px;
  color: #585663;
  text-align: center;
  width: 80px;
  line-height: 1.2;
}

.toggle-switch-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding-top: 0px;
}

.toggle-switch-wrapper-staff {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

/* Custom 3-State Switch */
.custom-three-state-switch {
  width: 120px;
  height: 30px;
  background-color: #e0e0e0;
  border-radius: 20px;
  position: relative;
  cursor: pointer;
  transition: background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.switch-slider {
  width: 100%;
  height: 100%;
  position: relative;
  border-radius: 20px;
  transition: background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.switch-handle {
  position: absolute;
  width: 30px;
  height: 30px;
  background-color: white;
  border-radius: 50%;
  top: 0px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  transition: left 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* State 0 - OFF (Left) */
.switch-slider.state-0 {
  background-color: #f44336;
}

.switch-slider.state-0 .switch-handle {
  left: 0px;
}

/* State 1 - My Escalated (Center) */
.switch-slider.state-1 {
  background-color: #ff9800;
}

.switch-slider.state-1 .switch-handle {
  left: 42px;
}

/* State 2 - ON (Right) */
.switch-slider.state-2 {
  background-color: #4caf50;
}

.switch-slider.state-2 .switch-handle {
  left: 90px;
}

.toggle-center-label {
  font-size: 9px;
  color: #585663;
  text-align: center;
  line-height: 1.2;
  max-width: 120px;
}

.toggle-center-label span {
  display: inline;
}

/* Mobile */
@media (max-width: 767px) {
  .top-navbar {
    flex-wrap: wrap;
    height: auto;
    padding: 0.5rem 0.5rem;
  }

  .left-column {
    padding-top: 0 !important;
  }

  .top-navbar-left {
    width: 100%;
    justify-content: space-between;
  }

  .top-navbar-right {
    width: 100%;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  /* Put multi-state toggle and user-menu on second line together */
  .multi-state-toggle {
    order: 10;
    flex: 0 1 auto;
  }

  .user-menu {
    order: 11;
    margin-left: auto;
    margin-top: 10px;
    flex: 0 0 auto;
  }

  /* Keep other items on first line and make them fill the width */
  .help-button {
    order: 1;
    flex: 0 0 auto;
  }

  .top-link {
    order: 2;
    flex: 0 0 auto;
  }

  .top-navbar-right > a {
    order: 3;
    flex: 0 0 auto;
  }

  .notification-item:not(.multi-state-toggle) {
    order: 4;
    flex: 0 0 auto;
  }

  /* Reduce notification item sizes on mobile */
  .notification-item {
    gap: 4px;
  }

  .notification-label {
    font-size: 8px;
    max-width: 100px;
  }

  /* Smaller switches on mobile */
  .notification-toggle .custom-switch-top-nav {
    width: 40px;
    height: 20px;
  }

  .notification-toggle .custom-switch-top-nav::before {
    width: 16px;
    height: 16px;
  }

  .notification-toggle .custom-switch-top-nav:checked::before {
    transform: translateX(20px);
  }

  /* Smaller 3-state switch on mobile */
  .custom-three-state-switch {
    width: 90px;
    height: 32px;
  }

  .switch-handle {
    width: 30px;
    height: 30px;
  }

  .switch-slider.state-1 .switch-handle {
    left: 31px;
  }

  .switch-slider.state-2 .switch-handle {
    left: 60px;
  }

  .toggle-label-left,
  .toggle-label-right {
    font-size: 8px;
    width: 60px;
  }

  .toggle-label-left-staff,
  .toggle-label-right-staff {
    font-size: 8px;
  }

  .toggle-center-label {
    font-size: 7px;
    max-width: 90px;
  }

  .toggle-container {
    gap: 6px;
  }

  /* Smaller alert icon on mobile */
  .alert-icon-wrapper i {
    font-size: 18px;
  }

  .alert-badge {
    font-size: 8px;
    padding: 1px 4px;
  }

  /* Hide help text on very small screens */
  .help-button {
    padding: 4px 8px;
    font-size: 12px;
  }

  .top-link {
    font-size: 14px;
  }

  /* Stack user menu items better on mobile */
  .user-menu span {
    font-size: 14px;
  }
}

/* Small Mobile (phones in portrait) */
@media (max-width: 480px) {
  .top-navbar {
    padding: 0.5rem 0.3rem;
  }

  .top-navbar-right {
    gap: 8px;
  }

  /* Keep multi-state toggle and user-menu on same line */
  .multi-state-toggle {
    flex: 0 1 auto;
  }

  .user-menu {
    flex: 0 0 auto;
  }

  .notification-label {
    font-size: 7px;
    max-width: 80px;
  }

  /* Even smaller switches */
  .notification-toggle .custom-switch-top-nav {
    width: 35px;
    height: 18px;
  }

  .notification-toggle .custom-switch-top-nav::before {
    width: 14px;
    height: 14px;
  }

  .notification-toggle .custom-switch-top-nav:checked::before {
    transform: translateX(17px);
  }

  .custom-three-state-switch {
    width: 80px;
    height: 28px;
  }

  .switch-handle {
    width: 24px;
    height: 24px;
    top: 1px;
  }

  .switch-slider.state-1 .switch-handle {
    left: 28px;
  }

  .switch-slider.state-2 .switch-handle {
    left: 54px;
  }

  .toggle-label-left,
  .toggle-label-right {
    font-size: 7px;
    width: 45px;
  }

  .toggle-center-label {
    font-size: 6px;
    max-width: 80px;
  }

  .toggle-container {
    gap: 5px;
  }

  /* Hide some elements on very small screens */
  .help-button span {
    display: none;
  }

  .help-button i {
    margin-right: 0;
  }

  /* Reduce user menu text on very small screens */
  .user-menu span {
    font-size: 12px;
    max-width: 80px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

/* Extra Small Mobile (425px and below) */
@media (max-width: 425px) {
  .top-navbar {
    padding: 0.5rem 0.3rem;
  }

  .top-navbar-right {
    gap: 6px;
    justify-content: space-between;
  }

  /* Keep multi-state toggle and user-menu together on second line */
  .multi-state-toggle {
    flex: 0 1 auto;
    order: 10;
    margin-top: 10px;
    padding: 10px 0;
  }

  .user-menu {
    order: 11;
    flex: 0 0 auto;
    margin-left: auto;
    margin-top: 10px;
  }

  /* Make first line items smaller to fit */
  .notification-label {
    font-size: 6px;
    max-width: 70px;
  }

  .notification-toggle .custom-switch-top-nav {
    width: 32px;
    height: 16px;
  }

  .notification-toggle .custom-switch-top-nav::before {
    width: 12px;
    height: 12px;
  }

  .notification-toggle .custom-switch-top-nav:checked::before {
    transform: translateX(16px);
  }

  .custom-three-state-switch {
    width: 70px;
    height: 26px;
  }

  .switch-handle {
    width: 23px;
    height: 23px;
    top: 1px;
  }

  .switch-slider.state-1 .switch-handle {
    left: 24px;
  }

  .switch-slider.state-2 .switch-handle {
    left: 46px;
  }

  .toggle-label-left,
  .toggle-label-right {
    font-size: 6px;
    width: 40px;
  }

  .toggle-label-left-staff,
  .toggle-label-right-staff {
    font-size: 7px;
  }

  .toggle-center-label {
    font-size: 5px;
    max-width: 70px;
  }

  .toggle-container {
    gap: 4px;
  }

  .alert-icon-wrapper i {
    font-size: 16px;
  }

  .alert-badge {
    font-size: 7px;
    padding: 1px 3px;
  }

  .help-button {
    padding: 3px 6px;
    font-size: 11px;
  }

  .top-link {
    font-size: 12px;
  }

  .user-menu span {
    font-size: 11px;
    max-width: 70px;
  }

  .user-menu i.fa.fa-user-circle {
    font-size: 28px;
  }

  .user-profile-img {
    width: 28px !important;
    height: 28px !important;
  }
}

/* Tablet - iPad Mini and Air ONLY */
@media (min-width: 768px) and (max-width: 1024px) {
  /* Reduce logo width by 10px on iPad */
  .logo_img {
    width: 160px !important;
  }

  .top-navbar {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
    flex-wrap: nowrap;
    height: 60px;
    align-items: center;
  }

  .top-navbar-left {
    flex: 0 1 auto;
    justify-content: flex-start;
  }

  .top-navbar-right {
    flex: 1 1 auto;
    justify-content: flex-end;
    margin-top: 0;
    gap: 8px;
    flex-wrap: nowrap;
    align-items: center;
  }

  /* Ensure user-menu is visible */
  .user-menu {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    flex-shrink: 0;
  }

  .user-menu span {
    font-size: 12px;
    max-width: 85px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .user-menu i.fa.fa-user-circle {
    font-size: 28px;
  }

  .user-profile-img {
    width: 28px !important;
    height: 28px !important;
  }

  /* Make notification items smaller */
  .notification-item {
    flex-shrink: 0;
  }

  .notification-label {
    font-size: 7px;
    max-width: 80px;
  }

  .toggle-label-left,
  .toggle-label-right {
    font-size: 7px;
    width: 50px;
  }

  .toggle-label-left-staff,
  .toggle-label-right-staff {
    font-size: 7px;
  }

  .toggle-center-label {
    font-size: 6px;
    max-width: 75px;
  }

  .custom-three-state-switch {
    width: 75px;
    height: 30px;
  }

  .switch-handle {
    width: 26px;
    height: 26px;
    top: 1px;
  }

  .switch-slider.state-1 .switch-handle {
    left: 24px;
  }

  .switch-slider.state-2 .switch-handle {
    left: 47px;
  }

  .notification-toggle .custom-switch-top-nav {
    width: 38px;
    height: 20px;
  }

  .notification-toggle .custom-switch-top-nav::before {
    width: 16px;
    height: 16px;
  }

  .notification-toggle .custom-switch-top-nav:checked::before {
    transform: translateX(18px);
  }

  .alert-icon-wrapper i {
    font-size: 18px;
  }

  .help-button {
    font-size: 11px;
    padding: 4px 8px;
  }

  .top-link {
    font-size: 12px;
  }
}

/* Desktop - Ensure logo shows normal width */
@media (min-width: 1025px) {
  .logo_img {
    width: 170px;
  }
}

/* Large Desktop */
@media (min-width: 1440px) {
  .top-navbar-right {
    gap: 30px;
  }

  .notification-label {
    font-size: 11px;
  }

  .toggle-label-left,
  .toggle-label-right {
    font-size: 11px;
    width: 90px;
  }

  .toggle-label-left-staff,
  .toggle-label-right-staff {
    font-size: 11px;
  }

  .toggle-center-label {
    font-size: 10px;
    max-width: 140px;
  }

  .custom-three-state-switch {
    width: 100px;
    height: 25px;
  }

  .switch-handle {
    width: 25px;
    height: 25px;
  }

  .switch-slider.state-1 .switch-handle {
    left: 35px;
  }

  .switch-slider.state-2 .switch-handle {
    left: 75px;
  }

  .notification-toggle .custom-switch-top-nav {
    width: 55px;
    height: 26px;
  }

  .notification-toggle .custom-switch-top-nav::before {
    width: 22px;
    height: 22px;
  }

  .notification-toggle .custom-switch-top-nav:checked::before {
    transform: translateX(29px);
  }

  .alert-icon-wrapper i {
    font-size: 26px;
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }

  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* CP-admin Zendesk login confirmation */
.zendesk-confirm-modal {
  background-color: rgba(0, 0, 0, 0.5);
  text-align: left;
}

.zendesk-confirm-modal .modal-dialog.custom-warning-modal {
  width: calc(100% - 32px) !important;
  max-width: 800px !important;
  margin: 30px auto !important;
  padding: 0;
}

.zendesk-confirm-modal .modal-content {
  width: 100%;
  padding: 25px 35px;
  text-align: left;
}

.zendesk-confirm-modal .modal-body {
  padding: 20px 0 24px;
}

.zendesk-confirm-modal .modal-body p {
  margin: 0 0 20px;
  color: #333;
  line-height: 1.5;
}

.zendesk-confirm-options {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  gap: 28px;
  margin: 0;
  padding: 0;
}

.zendesk-confirm-options .form-check {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 7px;
  min-height: auto;
  margin: 0;
  padding: 0;
}

.zendesk-confirm-options .form-check-input {
  float: none !important;
  margin: 0 !important;
  margin-left: 0 !important;
  cursor: pointer;
}

.zendesk-confirm-options .form-check-label {
  margin: 0;
  cursor: pointer;
}
.zendesk-confirm-footer {
  justify-content: flex-end;
  gap: 10px;
  padding-right: 0;
  padding-bottom: 0;
}

.zendesk-email-field {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  margin-top: 20px;
}

.zendesk-email-field > label {
  flex: 0 0 130px;
  margin: 8px 0 0;
  color: #333;
}

.zendesk-email-control {
  flex: 1;
  min-width: 0;
}

.zendesk-email-control .form-control {
  width: 100%;
  background-image: none !important;
  padding-right: 12px !important;
}

.zendesk-email-control .zendesk-email-input-error {
  border-color: #dc3545 !important;
  background-image: none !important;
}

.zendesk-email-field .text-danger {
  min-height: 20px;
  margin-top: 4px;
}

@media (max-width: 575px) {
  .zendesk-confirm-modal .modal-dialog.custom-warning-modal {
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
    padding: 0;
  }

  .zendesk-confirm-modal .modal-content {
    padding: 20px;
  }

  .zendesk-email-field {
    display: block;
  }

  .zendesk-email-field > label {
    display: block;
    margin: 0 0 6px;
  }
}

.app-footer {
  padding: 5px;
  font-size: 14px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: 40px;
}

.footer-left {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-left: 100px;

  a {
    color: #337ab7;
    text-decoration: none;
  }
}

.footer-button {
  background: none;
  border: none;
  color: #337ab7;
  cursor: pointer;
  padding: 0;
  font-size: inherit;
}

.footer-button:hover {
  text-decoration: underline;
}

.footer-right {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-right: 70px;
}

.footer-right a {
  text-decoration: none;
  color: #337ab7;
}

.divider {
  color: #666;
}

.version {
  font-style: italic;
  color: #337ab7;
  margin-left: 8px;
}
.modal_msg {
    text-align: center;
    font-size: 30px;
    color: #707478;
}

.cancel-btn {
    border: 1px solid #f59325 !important;
    background-color: #ffffff !important;
    color: #f59325 !important;
}
  
  
.custom-warning-modal {
    h4 {
        text-align: left;
        font-size: 18px;
        font-weight: 500;
        color: #242a30;
    }

    label {
        color: #242a30;
        font-weight: 600;
    }
}

.modal-hr-button {
    border-top: 1px solid #eee;
    opacity: 1;
}

.ins-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.ins-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.ins-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 100%;
}

.ins-search-input {
    padding-right: 32px;
    height: 38px;
}

.ins-search-input:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 0.15rem rgba(245, 147, 37, 0.25);
    outline: none;
}

.ins-search-icon {
    position: absolute;
    right: 10px;
    color: #aaa;
    pointer-events: none;
    font-size: 13px;
}

.ins-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: #e9ecef;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #555;
    font-size: 14px;
    line-height: 1;
    width: 20px;
    height: 20px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.ins-search-clear:hover {
    background: #ced4da;
    color: #000;
}

.institution-page .custom-button {
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.institution-page h2 {
    font-weight: 700;
    font-size: 1rem;
}

.institution-page .btn_custom_background {
    border: 1px solid #f59325;
    background-color: #f59325;
    color: #fff;
    font-size: 0.875rem;
    border-radius: 3px;
    transition: all 0.2s ease-in-out;
    box-shadow: none;
}

.institution-page .btn_custom_background:hover {
    background-color: #e8821d;
    border-color: #e8821d;
}

.institution-page .custom_search {
    border: 1px solid #ccd0d4;
    box-shadow: none;
    font-size: 0.875rem;
    border-radius: 3px;
}

.custom-hr-button {
    margin-top: 25px !important;
    margin-bottom: 20px;
    border-top: 1px solid #eee;
    opacity: 1;
}

.custom-select-arrow {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 fill=%27%23333%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M1.5 5.5l6 6 6-6%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2rem;
}

#is_active {
    max-width: 340px;
    margin-left: auto;
}

.ins-panel {
    background: transparent;
    border: none;
    box-shadow: none;
}

.ins-panel-body {
    padding: 16px 0 12px;
}

.custom_card {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2) !important;
    width: 99%;
    margin-bottom: 80px;

    .panel-body {
        padding: 10px;
    }
}

.insitution-table {
    font-size: 14px !important;
    overflow-x: auto;

    #institution_name_sort,
    #institution_created_at_sort {
        cursor: pointer;
    }
    
    .ins-name {
        color: #337ab7 !important;
        text-decoration: none;
        cursor: pointer;
    }

    .ins-name:hover {
        color: #23527c;
        text-decoration: underline;
    }

    .ins-count {
        font-weight: 600;
        color: blue;
        cursor: default;
    }
}

/* Ensure the shared facility-count tooltip always renders above the sticky
   table header/scroll wrapper and any other stacking context on this page. */
#institution-fac-tooltip {
    z-index: 9999 !important;
}

.insitution-table .custom-table-body td {
    padding-top: 12px;
    padding-bottom: 12px;
}

.edit-icon {
    color: #337ab7;
    cursor: pointer;
}

.edit-icon:hover {
    color: #23527c;
}

.active-color {
    color: #00acac;
    margin-top: 5px;
}

.deactive-color {
    color: #ff5b57;
    margin-top: 5px;
}

.action-link {
    color: #337ab7;
    text-decoration: none;
}

.action-link:hover {
    color: #23527c;
    text-decoration: underline;
}

@media (max-width: 768px) {
  .institution-page h2 {
    font-size: 1.25rem;
  }

  .custom_search {
    margin-top: 0.5rem;
  }

  .insitution-table {
    overflow-x: auto;
  }

  .table td,
  .table th {
    white-space: nowrap;
  }
}

.institution-form-page { width: 100%; }
.institution-form-breadcrumb { display: flex; align-items: center; gap: 9px; min-height: 42px; margin-bottom: 10px; font-size: 14px; }

.breadcrumb-container {
    font-weight: 500;
    font-size: 16px;
    color: #333;
}

.breadcrumb-link {
    color: #337ab7;
    font-weight: 700;
    text-decoration: none;
}

.breadcrumb-link:hover {
    text-decoration: underline;
}

.breadcrumb-label {
    color: #555;
    font-size: 16px;
    font-weight: 700;
    color: #242a30;
}

.breadcrumb-separator {
    margin: 0 6px;
    color: #242a30;
}
.retry-button-row {
    display: flex;
    justify-content: center;
    align-items: center;
}

.retry-button-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    color: #555;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.retry-button-btn:hover {
    color: #f5a623;
}

.emp-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.emp-breadcrumb {
    flex: 1;
    min-width: 0;
}

.emp-toolbar-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.emp-add-btn {
    white-space: nowrap;
}

.emp-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 220px;
    flex-shrink: 0;
}

.emp-search-input {
    padding-right: 32px;
}

.emp-search-icon {
    position: absolute;
    right: 10px;
    color: #aaa;
    pointer-events: none;
    font-size: 13px;
}

.emp-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: #e9ecef;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #555;
    font-size: 14px;
    line-height: 1;
    width: 20px;
    height: 20px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.emp-search-clear:hover {
    background: #ced4da;
    color: #000;
}

.emp-panel {
    background: transparent;
    border: none;
    box-shadow: none;
    border-radius: 0;
    margin-bottom: 50px;
}

.emp-panel-inner {
    background: transparent;
}

.emp-panel-body {
    padding: 0;
}

.emp-table-wrap {
    padding: 0;
    width: 100%;
}

.emp-header-cell {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.emp-sort-icon {
    margin-left: 4px;
}

.emp-sort-icon-hidden {
    visibility: hidden;
}

.emp-state-cell {
    text-align: center;
    padding: 24px 0;
}

.emp-name-cell {
    display: flex;
    align-items: center;
    gap: 10px;
}

.emp-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.emp-avatar-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #d9d9d9;
    color: #555;
    font-size: 11px;
    font-weight: bold;
    text-transform: uppercase;
}

.emp-name-text {
    display: flex;
    flex-direction: column;
    line-height: 1.3;
    min-width: 0;
}

.emp-name,
.emp-email {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.emp-email {
    color: #707478;
    font-size: 12px;
}

.emp-action-cell {
    display: flex;
    align-items: center;
    gap: 10px;
}

.emp-action-cell .emp-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    text-decoration: none;
    line-height: 1;
}

.emp-action-cell .emp-edit-btn,
.emp-action-cell .emp-edit-btn i {
    color: #337ab7 !important;
}

.emp-edit-btn {
    width: 18px;
    flex-shrink: 0;
}

.emp-action-spacer {
    display: inline-block;
    width: 40px;
    flex-shrink: 0;
}

.emp-action-divider {
    width: 12px;
    flex-shrink: 0;
    text-align: center;
    color: #ccc;
}

.emp-action-cell .emp-action-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.emp-action-cell .emp-status-btn {
    white-space: nowrap;
    gap: 8px;
}

.emp-action-cell .emp-status-btn .emp-status-icon,
.emp-action-cell .emp-status-btn .emp-status-label {
    color: #337ab7 !important;
}

.emp-action-cell .emp-status-btn.emp-status-activate .emp-status-icon,
.emp-action-cell .emp-status-btn.emp-status-activate .emp-status-label {
    color: #d9534f !important;
}

.emp-status-label {
    font-size: 13px;
    line-height: 1;
}

.emp-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.emp-sticky-scroll .custom-table {
    table-layout: fixed;
}

.emp-col-name {
    width: 40%;
}

.emp-col-username {
    width: 20%;
}

.emp-col-role {
    width: 20%;
}

.emp-col-action {
    width: 20%;
}

.emp-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

#scheduler {
    min-height: 80vh;
    padding-left: 0;
    padding-right: 0;
}

.top-header {
    margin-bottom: 20px;
}

.scheduler-header {
    font-size: 16px;
    font-weight: 700;

}

.scheduler-hr-button {
    margin-top: 3px;
    margin-bottom: 20px;
    color: #eee;
    opacity: unset;
}

#scheduler,
#scheduler .scheduler-content,
#scheduler .scheduler-filter-row,
#scheduler .resident-temp-battery,
#scheduler .container,
#scheduler .tab-content,
#scheduler .card,
#scheduler .card-body {
    background: #ffffff;
}

.scheduler-content {
    width: 100%;
    padding: 20px;
}

.scheduler-filter-row {
    display: grid;
    grid-template-columns: minmax(180px, 320px) minmax(180px, 320px) max-content;
    align-items: end;
    gap: 16px;
    width: 100%;
    margin: 0 0 20px;
}

.scheduler-filter-field,
.scheduler-filter-action {
    min-width: 0;
}

.scheduler-filter-field {
    padding: 8px;
}

.scheduler-filter-action {
    display: flex;
    align-items: flex-end;
    justify-content: center;
    padding: 8px;
}

.scheduler-create-job-wrap {
    padding-top: 0;
    text-align: center;
}
.scheduler-react-select {
    width: 100%;
}

.scheduler-select__control {
    min-height: 38px !important;
    border-color: #ced4da !important;
    box-shadow: none !important;
}

.scheduler-select__control:hover,
.scheduler-select__control--is-focused {
    border-color: #f59223 !important;
}

.scheduler-select__option--is-focused,
.scheduler-select__option--is-selected {
    color: #ffffff !important;
    background-color: #f59223 !important;
}

.select-scroll {
    max-height: 200px;
    overflow: auto;
}

.title,
.switch,
.api-method {
    color: #707478;
    font-size: 14px !important;
}

.custom-dropdown-btn {
    background-color: #ffffff !important;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    padding: 0.375rem 0.75rem;
    color: #212529;
    width: 100%;
    text-align: left;
}

.custom-dropdown-btn::after {
    float: right;
    margin-top: 0.4em;
}

.scrollable-dropdown {
    max-height: 200px;
    overflow-y: auto;
    width: 100%;
}

.scrollable-dropdown li {
    font-size: 14px;
    color: #333333;
}

/* Add hover style for dropdown items */
.scrollable-dropdown .dropdown-item:hover {
    background-color: #f59325 !important;
    color: white !important;
}

/* JOBTYPE */
button.scheduler-jobtype-button {
    color: #ffffff;
    background-color: #f59223;
    border: 1px solid #f59223;
    font-size: 14px;
    border-radius: 4px;
    min-height: 38px;
    padding: 8px 16px;
    white-space: nowrap;

    i {
        margin-right: 8px;
    }
}

button.scheduler-jobtype-button:hover,
button.scheduler-jobtype-button:focus {
    color: #ffffff;
    background-color: #dc7f10;
    border-color: #dc7f10;
}

button.scheduler-jobtype-button:hover {
    background-color: #dc7f10;
    border-color: #dc7f10;
    color: #ffffff;
}

.modal-content {
    width: 600px;
    box-shadow: 0 5px 15px rgba(0, 0, 0, .3);

    .modal-title {
        font-weight: 500;
        color: #242a30;
        font-size: 18px;

    }
}

/* Email Scheduler */
.scheduler-email-container {
    width: 100%;
    padding: 0;

    button.nav-link.active {
        background-color: #f59223;
        border: 1px solid #f59223;
        color: #ffffff;
    }

    button.nav-link.notactive {
        border: 1px solid #c8c8c8;
        background-color: #f4f4f4;
        color: #333333;

        i {
            color: #848484;
        }
    }

    .custom-form-control {
        width: 40%;
    }

    .required-label {
        font-size: 20px;
        color: #FF6347;
    }
}

.card-body {
    font-size: 14px;
}

.freuency-row,
.weekly-checkbox {
    .form-check-input:checked {
        background-color: #f59223;
        border-color: #f59223;
    }
}

.frequency-dropdown {
    display: inline-block;
    border: 1px solid rgb(221, 221, 221);
    border-radius: 4px;
    padding: 16px 24px;
    min-width: 340px;
    text-align: center;
}

/* Frequency radios: larger controls aligned with their labels */
.freuency-row .col-sm-10 > .d-flex {
    padding-left: 20px;
}

.freuency-row .form-check {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-left: 0;
    margin-bottom: 0;
    min-height: auto;
}

.freuency-row .form-check-input {
    float: none;
    margin-left: 0;
    margin-top: 0;
    width: 1.2rem;
    height: 1.2rem;
    cursor: pointer;
}

.freuency-row .form-check-label {
    margin-bottom: 0;
    cursor: pointer;
}

/* antd date/time pickers sized to match the form controls */
.scheduler-antd-picker.ant-picker {
    width: 100%;
    min-height: 38px;
    border-color: #ced4da;
}

/* Time picker keeps a fixed width so the value is never truncated */
.scheduler-time-picker.ant-picker {
    width: 130px;
    min-width: 130px;
}

.scheduler-antd-picker.ant-picker:hover,
.scheduler-antd-picker.ant-picker-focused {
    border-color: #f59223;
    box-shadow: none;
}

/* Blocked End Date (One Time frequency) shows a disabled, not-allowed state */
.scheduler-antd-picker.ant-picker-disabled {
    cursor: not-allowed;
    background-color: #e9ecef;
    opacity: 1;
}

.scheduler-antd-picker.ant-picker-disabled input {
    cursor: not-allowed;
}

/* Disabled schedule action buttons */
.scheduler-button-row button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

/* Wrapper carries the not-allowed cursor since disabled buttons ignore pointer events */
.scheduler-disabled-wrap {
    display: inline-block;
    cursor: not-allowed;
}

.scheduler-disabled-wrap > button:disabled {
    pointer-events: none;
}

/* Job history modal spinner */
.job-history-spinner {
    min-height: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.scheduler-button-row {

    button.scheduler-preview-button,
    button.scheduler-preview-email-buttom,
    button.scheduler-buttom {
        color: #fff;
        background: #f59223;
        border-color: #f59223;
    }

    button.scheduler-preview-button:not(:disabled):hover,
    button.scheduler-preview-email-buttom:not(:disabled):hover,
    button.scheduler-buttom:not(:disabled):hover {
        background: #dc7f10;
        border-color: #dc7f10;
    }
}

#scheduler button:disabled,
#scheduler .btn:disabled {
    cursor: not-allowed !important;
    opacity: 0.55;
}

#scheduler .form-switch .form-check-input {
    background-color: #d6d9dc;
    border-color: #b6bcc2;
}

#scheduler .form-switch .form-check-input:checked {
    background-color: #f59223;
    border-color: #f59223;
}

/* Date Picker */
.p-datepicker:not(.p-datepicker-inline) .p-datepicker-header {
    background-color: #fff;
}

.p-calendar .p-calendar-button {
    display: none !important;
}

/* resident Temp Battery Report */
.resident-temp-battery {
    padding-top: 30px;

    .url-input {
        width: 90%;
    }
}

.switch {
    .switch .form-check-input {
        transition: background-color 0.2s, box-shadow 0.2s;
    }

    .form-check-input:checked {
        background-color: #f59223;
        border-color: #f59223;
    }

    .form-text {
        font-family: AvenirNext, sans-serif;
        font-size: 14px !important;

    }
}

.post-data {
    color: #707478;
    font-size: 14px;
}

.url-params-input-post {
    width: 100% !important;
}

.url-params-input,
.post-data-input {
    width: 50% !important;
}

.form-check-inline {
    .form-check-input:checked {
        background-color: #f59223;
        border-color: #f59223;
    }
}

.existing-reports-container {
    .form-check-input {
        width: 3rem;
        height: 1.5rem;
    }

    .form-check-input:checked {
        background-color: #f59223;
        border-color: #f59223;
    }

    label {
        font-size: 14px;
        color: #2072c4;
        font-weight: 400 !important;
    }

    .existing-reports-table-header tr th {
        background-color: #f4f4f4 !important;
        text-align: center;
        border: 1px solid #c8c8c8;
        font-weight: 500;
    }
}

.scheduler-inactive-jobs-row {
    display: flex;
    justify-content: flex-start;
    padding: 8px 0 12px;
}

.scheduler-existing-reports-table-wrap {
    padding-top: 0;
}

.existing-reports-table {
    .existing-reports-table-body {
        height: 28px;
    }

    .existing-reports-table-body tr {
        background: #ffffff;
        color: #333333;
        transition: background-color 0.2s, box-shadow 0.2s;
        font-weight: 400;
    }

    .existing-reports-table-body tr>td {
        background: inherit;
        border: 1px solid #c8c8c8;
        padding: 0.429em 0.857em;
        width: 10%;
        font-size: 14px;
        vertical-align: middle;
    }

    .action-template {
        justify-content: center;

        .custom-action-button {
            color: #ffffff;
            background-color: #f59223;
            border: 1px solid #f59223;
            font-size: 14px;
            transition: background-color 0.2s, box-shadow 0.2s;
        }
    }
}

@media (max-width: 767.98px) {
    .scheduler-content {
        padding: 16px;
    }

    .scheduler-filter-row {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .scheduler-create-job-wrap {
        padding-top: 0;
    }
}

@media (min-width: 768px) and (max-width: 1100px) {
    .scheduler-filter-row {
        grid-template-columns: minmax(180px, 1fr) minmax(180px, 1fr) max-content;
    }

    .scheduler-filter-action {
    }

    .scheduler-create-job-wrap {
        padding-top: 0;
    }
}

.message-container {
    padding-top: 20px;

    .message {
        background-color: #7fbcec;
        font-weight: 500;
        color: #242a30;
        font-family: "Open Sans", "Helvetica Neue", sans-serif;
        font-size: 24px;
        text-align: center;
    }
}

.invalid-feedback {
    width: 100%;
    margin-top: .25rem;
    font-size: .875em;
    color: #dc3545;
}

.custom-calendar {
    pointer-events: auto !important;
}

.existing-reports-table-body {
    .history-table thead tr th {
        border: 1px solid #c8c8c8;
        font-weight: 700;
        color: #333333;
        background-color: #f4f4f4;
    }
    
    tr.alt-row {
        background-color: #f4f4f4;
        border: 1px solid #c8c8c8;
        color: #707478;
    }

    .history-table-list {
        color: #707478;
        text-align: center;
    }
}

.dialog-width-email {
    
    button.history-close-btn {
        color: #fff;
        background: #b6c2c9;
        border-color: #b6c2c9;
    }

    button.history-close-btn:hover {
        background: #929ba1;
        border-color: #929ba1;
    }
}

#firmware-default-modal .modal-content {
    width: 665px;
    max-width: 100%;
    margin: 0 auto;
}

#firmware-default-modal .firmware-default-field {
    margin-bottom: 10px;
    text-align: left;
}

#firmware-default-modal .firmware-default-field .control-label {
    display: block;
    margin-bottom: 6px;
    text-align: left;
    font-weight: 600;
    font-size: 14px;
}

#firmware-default-modal .firmware-default-field .parsley-error {
    border-color: #d9534f !important;
}

#firmware-default-modal .firmware-default-field .text-danger {
    display: block;
    margin-top: 4px;
}

#firmware-default-modal .star_red {
    margin-left: 2px;
    color: #d9534f;
    font-size: 16px;
    vertical-align: middle;
}

#firmware-default-modal .firmware-default-modal-footer {
    width: 100%;
    margin-top: 24px;
    text-align: right;
}

#firmware-default-modal .firmware-default-modal-footer .custom_cancel_btn,
#firmware-default-modal .firmware-default-modal-footer .custom_save_btn {
    min-width: 80px;
    padding: 7px 18px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
}

#firmware-default-modal .firmware-default-modal-footer .custom_cancel_btn {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

#firmware-default-modal .firmware-default-modal-footer .custom_save_btn {
    border: 1px solid #f59325 !important;
    background: #f59325 !important;
    color: #ffffff !important;
}

#firmware-default-modal .firmware-default-modal-footer .custom_cancel_btn:hover {
    background: #fff7f0 !important;
}

#firmware-default-modal .firmware-default-modal-footer .custom_save_btn:hover:not(:disabled) {
    border-color: #d6831d !important;
    background: #d6831d !important;
}

#firmware-default-modal .firmware-default-modal-footer .custom_cancel_btn.disabled {
    cursor: not-allowed;
    opacity: 0.65;
    pointer-events: none;
}

#firmware-default-modal .firmware-readonly-field {
    position: relative;
}

#firmware-default-modal .firmware-readonly-input {
    border-color: #c9cdd3;
    background: #eef0f2;
    color: #6c757d;
    cursor: not-allowed;
}

#firmware-default-modal .firmware-readonly-input:focus {
    border-color: #c9cdd3;
    box-shadow: none;
}

.panel-body {
    padding: 15px;
}

.add-beacon {
    margin-bottom: 15px;

    .validate {
        border-radius: 4px;
        border: 1px solid #ccd0d4;
    }

    .control-label {
        text-align: end;
    }

    .sample_download {
        color: #337ab7;
        text-decoration: none;
    }

    .sample_download:hover {
        text-decoration: underline;
    }
}

#add-beacon .panel-body {
    background: #fff;
}

#add-beacon.add-beacon-modal .modal-body {
    max-height: calc(100vh - 140px);
    overflow-y: auto;
}

#add-beacon.add-beacon-modal .form-group {
    display: flex;
    margin-bottom: 15px;
}

#add-beacon.add-beacon-modal .control-label {
    padding-top: 7px;
    text-align: left;
}

#add-beacon.add-beacon-modal .modal-footer {
    display: block;
    padding-bottom: 0;
}

#add-beacon .align_center {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    background: #fff;
    text-align: center;
}

#add-beacon .star_red {
    color: #d9534f !important;
}

#add-beacon .cancel.btn_custom_border {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

#add-beacon .align_center > span.cancel.btn_custom_border,
#add-beacon .align_center > span.cancel.btn_custom_border:hover,
#add-beacon .align_center > span.cancel.btn_custom_border:focus {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}
.deploy-firmware {
    margin-bottom: 15px;

    .control-label {
        text-align: end;
    }
}

.list-group {
    position: absolute;
    top: 100%;
    width: 95%;
    z-index: 1000;
    background-color: white;
    border: 1px solid #ccc;
    max-height: 200px;
    overflow-y: auto;
    margin-top: 2px;
    padding: 0px;
    list-style-type: none;
}

#deploy-firmware .list-group,
#deploy-firmware .list-group-item,
#deploy-firmware .deploy-filter-autocomplete,
#deploy-firmware .deploy-filter-autocomplete-item {
    text-align: left;
}

    .deploy-filter-value-column {
        position: relative;
    }

    .deploy-filter-autocomplete {
        position: absolute;
        top: 100%;
        left: 15px;
        right: 15px;
        z-index: 1000;
        max-height: 200px;
        margin: 2px 0 0;
        padding: 0;
        overflow-y: auto;
        list-style: none;
        background: #fff;
        border: 1px solid #ccc;
    }

    .deploy-filter-autocomplete-item {
        padding: 7px 10px;
        cursor: pointer;
    }

    .deploy-filter-autocomplete-item:hover,
    .deploy-filter-autocomplete-item[aria-selected="true"] {
        background: #f5f5f5;
    }

    .deploy-filter-tags {
        display: flex;
        flex-wrap: wrap;
        gap: 5px;
        margin: 6px 0 0;
        padding: 0;
        list-style: none;
    }

    .deploy-filter-tag {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        padding: 3px 7px;
        background: #e9ecef;
        border: 1px solid #ced4da;
        border-radius: 3px;
        color: #333;
        font-size: 12px;
    }

    .deploy-filter-tag-close {
        padding: 0;
        border: 0;
        background: transparent;
        color: #555;
        cursor: pointer;
        font-size: 16px;
        line-height: 1;
    }

#deploy-firmware .panel-body {
    background: #fff;
}

#deploy-firmware.deploy-firmware-modal .modal-body {
    max-height: calc(100vh - 140px);
    overflow-y: auto;
}

#deploy-firmware.deploy-firmware-modal .form-group {
    display: flex;
    margin-bottom: 15px;
}

#deploy-firmware.deploy-firmware-modal .control-label {
    padding-top: 7px;
    text-align: left;
}

#deploy-firmware.deploy-firmware-modal .modal-footer {
    display: block;
    padding-bottom: 0;
}

#deploy-firmware .align_center {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    background: #fff;
    text-align: center;
}

#deploy-firmware .star_red {
    color: #d9534f !important;
}

#deploy-firmware .cancel.btn_custom_border {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

#deploy-firmware .align_center > span.cancel.btn_custom_border,
#deploy-firmware .align_center > span.cancel.btn_custom_border:hover,
#deploy-firmware .align_center > span.cancel.btn_custom_border:focus {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}
.top-header {
    margin-bottom: 20px;
}

.device-header {
    font-size: 16px;
    font-weight: 700;
}

.device-panel-body {
    background: white;
}

#device-management-page .common-table-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 16px;
    border-top: 1px solid #e1e4ea;
    background: #fff;
    flex-wrap: wrap;
}

#device-management-page .common-table-pagination .ctp-left,
#device-management-page .common-table-pagination .ctp-right,
#device-management-page .common-table-pagination .ctp-controls,
#device-management-page .fm-page-size-control {
    display: flex;
    align-items: center;
    gap: 8px;
}

#device-management-page .fm-page-size-control label,
#device-management-page .fm-page-size-control span,
#device-management-page .common-table-pagination .ctp-info,
#device-management-page .common-table-pagination .ctp-page-label {
    margin: 0;
    color: #5d5e60;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}

#device-management-page .fm-page-size-control .form-select {
    width: 82px;
    height: 34px;
    font-size: 12px;
}

#device-management-page .common-table-pagination .ctp-btn {
    display: inline-flex;
    min-width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    padding: 0 10px !important;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: #fff;
    color: #333;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
}

#device-management-page .common-table-pagination .ctp-controls .ctp-btn:first-of-type,
#device-management-page .common-table-pagination .ctp-controls .ctp-btn:last-of-type {
    font-size: 14px;
}

#device-management-page .common-table-pagination .ctp-controls .ctp-btn:first-of-type::before,
#device-management-page .common-table-pagination .ctp-controls .ctp-btn:last-of-type::before {
    content: none;
}

#device-management-page .common-table-pagination .ctp-btn:hover:not(:disabled):not(.ctp-btn--active) {
    border-color: #bbb;
    background: #f5f5f5;
}

#device-management-page .common-table-pagination .ctp-btn:disabled:not(.ctp-btn--active) {
    cursor: not-allowed;
    opacity: 0.5;
}

#device-management-page .common-table-pagination .ctp-btn--active {
    border-color: #f59325;
    background: #f59325;
    color: #fff;
    font-weight: 600;
    cursor: default;
}

.device-management-tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0;
    margin-bottom: 0;
    overflow: visible;
}

.device-management-tabs-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 16px;
}

.device-management-tabs-row .device-management-tabs {
    flex: 1 1 auto;
    min-width: 0;
}

.device-management-tabs-row .device-management-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: thin;
}

.device-management-tab {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    border: none;
    border-radius: 0;
    background: #fff;
    color: #333;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    padding: 9px 13px;
    transition: background 0.18s, color 0.18s;
    user-select: none;
    white-space: nowrap;
}

#device-management-page .device-management-tab:first-child {
    border-radius: 6px 0 0 6px;
}

#device-management-page .device-management-tab:last-child {
    border-radius: 0 6px 6px 0;
}

.device-management-tab:hover:not(.device-management-tab--active) {
    background: #fef3e4;
}

.device-management-tab:focus-visible {
    outline: 2px solid #f59325;
    outline-offset: 2px;
}

.device-management-tab--active {
    position: relative;
    z-index: 2;
    background: #f59325;
    color: #fff;
    font-weight: 600;
}

#device-management-page .silverkin-devices {
    width: 100%;
    min-height: 585px;
    padding: 5px 16px 32px;
    background: #f5f5f5;
    color: #444;
    font-size: 12px;
}

#device-management-page .silverkin-logo {
    display: block;
    width: clamp(120px, 11vw, 170px);
    height: auto;
    max-height: 66px;
    flex: 0 0 auto;
    object-fit: contain;
    opacity: 1;
}

@media (max-width: 900px) {
    .device-management-tabs-row {
        gap: 8px;
    }

    #device-management-page .silverkin-logo {
        width: 120px;
    }
}

#device-management-page .silverkin-summary-section {
    display: flex;
    width: 100%;
    min-height: 121.91px;
    align-items: center;
    justify-content: space-between;
    padding: 5px 13px 5px 8px;
    margin-bottom: 8px;
    border-radius: 8px;
    background: #00000008;
    opacity: 1;
}

#device-management-page .silverkin-summary-cards {
    display: flex;
    align-items: center;
    gap: 14px;
}

#device-management-page .silverkin-summary-card {
    position: relative;
    display: flex;
    width: 237px;
    height: 79.79px;
    align-items: center;
    justify-content: space-between;
    padding: 4px 9px;
    border-radius: 2px;
    background: #fff;
    opacity: 1;
}

#device-management-page .silverkin-card-number {
    display: flex;
    width: 39px;
    height: 27px;
    align-items: center;
    justify-content: center;
    margin-bottom: 3px;
    color: #141d46;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 22px;
    line-height: 26.4px;
    letter-spacing: 0;
    vertical-align: middle;
    opacity: 1;
}

#device-management-page .silverkin-card-title {
    width: 89.5px;
    height: 23px;
    margin-bottom: 3px;
    color: #666b74;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-style: normal;
    font-size: 12px;
    line-height: 18.2px;
    letter-spacing: 0;
    vertical-align: middle;
    opacity: 1;
    white-space: nowrap;
}

#device-management-page .silverkin-card-subtitle {
    display: inline-flex;
    width: 126px;
    height: 19px;
    align-items: center;
    padding: 0;
    color: #8a98ac;
    font-family: "Inter", sans-serif;
    font-weight: 300;
    font-style: normal;
    font-size: 14px;
    line-height: 18.2px;
    letter-spacing: 0;
    vertical-align: middle;
    opacity: 1;
    white-space: nowrap;
}

#device-management-page .silverkin-up-arrow {
    margin-right: 2px;
    color: #8ac58c;
    font-size: 8px;
}

#device-management-page .silverkin-card-icon {
    display: flex;
    width: 18px;
    height: 18px;
    align-items: center;
    justify-content: center;
    border-radius: 5px;
}

#device-management-page .silverkin-card-icon.neutral {
    background: #fff8eb;
}

#device-management-page .silverkin-card-icon.warning {
    width: 33.34px;
    height: 33.34px;
    border-radius: 8px;
    background: #ffe7cb;
    color: #f0a33a;
    font-size: 9px;
    opacity: 1;
}

#device-management-page .silverkin-summary-cards--tempo-text .silverkin-summary-card {
    padding-right: 54px;
}

#device-management-page .silverkin-summary-cards--tempo-text .silverkin-card-title {
    width: auto;
    height: 23px;
    margin-bottom: 0;
    color: #000;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
}

#device-management-page .silverkin-summary-cards--tempo-text .silverkin-card-subtitle {
    width: auto;
    max-width: 100%;
    height: 19px;
    color: #8a98ac;
    font-family: "Inter", sans-serif;
    font-weight: 300;
    font-size: 14px;
    line-height: 18px;
}

#device-management-page .silverkin-summary-cards--tempo-text .silverkin-card-icon {
    position: absolute;
    top: 50%;
    right: 12px;
    flex: 0 0 auto;
    transform: translateY(-50%);
}

#device-management-page .silverkin-warning-symbol {
    display: inline-flex;
    width: 12.56px;
    height: 10.46px;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    line-height: 10.46px;
    opacity: 1;
    -webkit-text-stroke: 1px currentColor;
}

#device-management-page .silverkin-ship-button {
    min-width: 73px;
    height: 28px;
}

#device-management-page .silverkin-search-wrapper {
    position: relative;
    width: 195px;
    height: 32px;
    margin-bottom: 8px;
}

#device-management-page .silverkin-search-input {
    width: 100%;
    height: 32px;
    padding: 0 30px 0 8px;
}

#device-management-page .silverkin-search-icon {
    position: absolute;
    top: 50%;
    right: 8px;
    color: #999;
    font-size: 13px;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-50%);
}

#device-management-page .silverkin-table-wrapper {
    width: 100%;
    overflow-x: auto;
}

#device-management-page .silverkin-device-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    background: #fff;
}

#device-management-page .silverkin-device-table th:nth-child(1),
#device-management-page .silverkin-device-table td:nth-child(1) {
    width: 10%;
}

#device-management-page .silverkin-device-table th:nth-child(2),
#device-management-page .silverkin-device-table td:nth-child(2) {
    width: 14%;
}

#device-management-page .silverkin-device-table th:nth-child(3),
#device-management-page .silverkin-device-table td:nth-child(3) {
    width: 34%;
}

#device-management-page .silverkin-device-table th:nth-child(4),
#device-management-page .silverkin-device-table td:nth-child(4) {
    width: 18%;
}

#device-management-page .silverkin-device-table th:nth-child(5),
#device-management-page .silverkin-device-table td:nth-child(5),
#device-management-page .silverkin-device-table th:nth-child(6),
#device-management-page .silverkin-device-table td:nth-child(6) {
    width: 12%;
}

#device-management-page .silverkin-device-table > thead.header > tr > th {
    height: 66.08px;
    border: none !important;
    background: #e1e4ea !important;
    opacity: 1;
    text-align: center;
    vertical-align: middle;
}

#device-management-page .silverkin-device-table .device-management-table-body tr {
    height: 75px;
    opacity: 1;
}

#device-management-page .silverkin-device-table .device-management-table-body tr > td {
    height: 75px;
    border-top: 0.5px solid #e1e4ea !important;
    border-right: none !important;
    border-bottom: 0.5px solid #e1e4ea !important;
    border-left: none !important;
    text-align: center;
    vertical-align: middle;
}

#device-management-page .silverkin-device-table .device-management-table-body tr.even-row > td {
    background-color: #fff !important;
}

#device-management-page .silverkin-device-table .device-management-table-body tr.alt-row > td {
    background-color: #f5f6f8 !important;
}

#device-management-page .silverkin-serial-link {
    padding: 0;
    border: 0;
    background: transparent;
    color: #5fa5ed;
    font-size: 12px;
    cursor: pointer;
}

#device-management-page .silverkin-serial-link:hover {
    color: #5fa5ed;
    text-decoration: underline;
}

#device-management-page .silverkin-status {
    display: inline-flex;
    width: 160px;
    height: 24px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 8px 0 8px 5px;
    border-width: 1px;
    border-radius: 16px;
    background: #fff;
    font-size: 7px;
    opacity: 1;
}

#device-management-page .silverkin-status-text {
    display: inline-flex;
    width: 46px;
    height: 12px;
    align-items: center;
    justify-content: center;
    font-family: Urbanist, sans-serif;
    font-weight: 600;
    font-style: normal;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0;
    opacity: 1;
    white-space: nowrap;
}

#device-management-page .silverkin-status.shipped {
    border: 1px solid #e8b45d;
    background: #fff9ed;
    color: #dc921e;
}

#device-management-page .silverkin-status.onboarded {
    border: 1px solid #8ec2ff;
    background: #f1f7ff;
    color: #68aaf5;
}

#device-management-page .silverkin-status.deactivated {
    border: 1px solid #e79a95;
    background: #fff1f0;
    color: #e17772;
}

#device-management-page .silverkin-warranty {
    display: inline-flex;
    width: 71px;
    height: 24px;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    padding: 8px 0 8px 5px;
    gap: 7px;
    border-radius: 8px;
    font-family: "Urbanist", sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 14px;
}

#device-management-page .silverkin-warranty.active {
    border: 1px solid #3aba91;
    background: #edf9f5;
    color: #3aba91;
}

#device-management-page .silverkin-warranty.expiring {
    border: 1px solid #f0d29d;
    background: #fff8e9;
    color: #e5a443;
}

#device-management-page .silverkin-warranty.expired {
    border: 1px solid #e8b0af;
    background: #fff2f2;
    color: #dc7978;
}

#device-management-page .silverkin-history-button {
    display: inline-flex;
    width: 60px;
    height: 24px;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    border: 1px solid #d2d2d2;
    border-radius: 8px;
    background: #fff;
    color: #777;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    cursor: pointer;
}

#device-management-page .silverkin-history-button:hover {
    background: #f7f7f7;
}

#device-management-page .silverkin-empty-state {
    text-align: center;
}

#device-management-page .silverkin-shipping-modal {
    background: rgba(0, 0, 0, 0.5);
}

#device-management-page .silverkin-shipping-body {
    padding: 20px 24px;
}

#device-management-page .silverkin-shipping-field {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    align-items: center;
    gap: 16px;
    margin-bottom: 14px;
}

#device-management-page .silverkin-shipping-field:last-child {
    margin-bottom: 0;
}

#device-management-page .silverkin-shipping-field label {
    margin: 0;
    font-size: 13px;
    font-weight: 600;
    text-align: right;
}

#device-management-page .silverkin-required {
    margin-left: 2px;
    color: #d9534f;
}

#device-management-page .silverkin-shipping-actions {
    display: flex;
    justify-content: center;
    gap: 8px;
}

#device-management-page .tempo-replacement-modal {
    display: flex !important;
    align-items: center;
    justify-content: center;
    overflow: auto;
    padding: 24px 12px;
    background: rgba(0, 0, 0, 0.5);
}

#device-management-page .tempo-replacement-modal .modal-dialog {
    width: min(984px, calc(100vw - 24px));
    max-width: 984px;
    margin: auto;
}

#device-management-page .tempo-replacement-modal .modal-content {
    width: 100%;
    min-height: min(727px, calc(100vh - 48px));
    max-height: calc(100vh - 48px);
    padding: 0;
    border: 0;
    border-radius: 10px;
    overflow: auto;
    font-family: "Inter", sans-serif;
    text-align: left;
}

#device-management-page .tempo-replacement-heading {
    padding: 24px 30px 8px;
}

#device-management-page .tempo-replacement-heading h4 {
    display: flex;
    width: 460.55px;
    max-width: 100%;
    min-height: 50.63px;
    align-items: center;
    margin: 0;
    color: #5ca8fc;
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-size: 16px;
    font-weight: 600;
    line-height: 22px;
}

#device-management-page .tempo-replacement-title-label {
    color: #000;
}

#device-management-page .tempo-replacement-location {
    font-size: 1rem;
}

#device-management-page .tempo-replacement-tabs {
    display: flex;
    height: 48px;
    align-items: center;
    gap: 16px;
    padding: 0 20px;
    background: #f3f2f8;
}

#device-management-page .tempo-replacement-tabs button {
    position: relative;
    height: 100%;
    padding: 0 4px;
    border: 0;
    background: transparent;
    color: #808891;
    font-size: 16px;
    font-weight: 500;
}

#device-management-page .tempo-replacement-tabs button.active {
    color: #000;
}

#device-management-page .tempo-replacement-tabs button.active::after {
    position: absolute;
    right: 0;
    bottom: 8px;
    left: 0;
    height: 2px;
    background: #f39336;
    content: "";
}

#device-management-page .tempo-replacement-content {
    display: grid;
    grid-template-columns: 1fr 1fr;
    min-height: 512px;
}

#device-management-page .tempo-current-device,
#device-management-page .tempo-new-device {
    padding: 18px 34px;
}

#device-management-page .tempo-new-device {
    border-left: 1px solid #d4e3ff;
}

#device-management-page .tempo-current-device h5,
#device-management-page .tempo-new-device h5 {
    margin: 0 0 14px;
    color: #000;
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

#device-management-page .tempo-new-device h5 {
    color: #f59223;
}

#device-management-page .tempo-device-details {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 12px 32px;
    margin: 0;
}

#device-management-page .tempo-device-details dt,
#device-management-page .tempo-device-details dd {
    min-height: 23px;
    margin: 0;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;
}

#device-management-page .tempo-device-details dt {
    color: #808891;
}

#device-management-page .tempo-device-details dd {
    color: #000;
}

#device-management-page .tempo-device-details dd.linked {
    color: #2c91ff;
}

#device-management-page .tempo-device-details dd.tempo-organization-value {
    display: flex;
    width: 172.76px;
    min-height: 23.03px;
    align-items: center;
    color: #000;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 17px;
}

#device-management-page .tempo-replacement-badge {
    display: inline-flex;
    width: 160px;
    height: 24px;
    align-items: center;
    justify-content: center;
    border-radius: 16px;
    font-family: Urbanist, sans-serif;
    font-size: 12px;
    font-weight: 600;
}

#device-management-page .tempo-replacement-badge.warranty {
    border: 1px solid #3aba91;
    background: #edf9f5;
    color: #3aba91;
}

#device-management-page .tempo-replacement-badge.status {
    border: 1px solid #57a4ff;
    background: rgba(87, 164, 255, 0.1);
    color: #57a4ff;
}

#device-management-page .tempo-replacement-warning {
    display: flex;
    min-height: 90px;
    align-items: flex-start;
    gap: 14px;
    padding: 12px 18px;
    margin-top: 24px;
    border-radius: 8px;
    background: rgba(245, 147, 37, 0.1);
    color: #ef4444;
}

#device-management-page .tempo-replacement-warning p {
    margin: 0;
    color: #000;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;
}

#device-management-page .tempo-new-device > label {
    display: block;
    margin: 12px 0 6px;
    color: #000;
    font-size: 11px;
    font-weight: 500;
}

#device-management-page .tempo-new-device .form-select {
    height: 40px;
    border: 0;
    border-radius: 4px;
    background-color: #f3f2f8;
    font-size: 14px;
}

#device-management-page .tempo-replacement-availability {
    min-height: 93px;
    padding: 8px 18px;
    margin-top: 12px;
    border-radius: 4px;
    background: #f4f9ff;
}

#device-management-page .tempo-replacement-availability > strong {
    color: #16a34a;
    font-size: 14px;
    font-weight: 500;
}

#device-management-page .tempo-replacement-specs {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 8px;
    margin-top: 6px;
}

#device-management-page .tempo-replacement-specs span {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

#device-management-page .tempo-replacement-specs small {
    color: #808891;
    font-size: 10px;
}

#device-management-page .tempo-replacement-specs b {
    color: #5d5e60;
    font-family: Urbanist, sans-serif;
    font-size: 12px;
    font-weight: 600;
}

#device-management-page .tempo-new-device .tempo-replacement-search-clear {
    padding: 0 6px;
    border: 0;
    background: transparent;
    color: #6b7280;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
}

#device-management-page .tempo-new-device .tempo-replacement-search-clear:hover {
    color: #111827;
}

#device-management-page .tempo-new-device .tempo-replacement-option {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
}

#device-management-page .cr-label-info-notinfacility {
    margin: 0;
    padding: 2px 6px;
    border-radius: 4px;
    background-color: #d9534f;
    color: #fff !important;
    font-size: 9px;
    line-height: 1.4;
    white-space: nowrap;
}

#device-management-page .tempo-new-device .tempo-replacement-option small {
    color: #8a98ac;
    font-size: 11px;
}

#device-management-page .tempo-new-device textarea {
    width: 100%;
    height: 66px;
    padding: 10px;
    border: 0;
    border-radius: 4px;
    outline: none;
    resize: none;
    background: #f4f9ff;
    color: #5d5e60;
    font-size: 12px;
    line-height: 13px;
}

#device-management-page .tempo-replacement-summary {
    min-height: 91px;
    padding: 10px 12px;
    margin-top: 12px;
    border-radius: 4px;
    background: #f4f9ff;
}

#device-management-page .tempo-replacement-summary strong {
    color: #5ba7fa;
    font-size: 11px;
    font-weight: 500;
}

#device-management-page .tempo-replacement-summary p {
    margin: 6px 0 0;
    color: #565656;
    font-size: 11px;
    line-height: 16px;
}

#device-management-page .tempo-replacement-footer {
    display: flex;
    min-height: 84px;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 16px 34px;
    border-top: 1px solid #d4e3ff;
}

#device-management-page .tempo-replacement-footer p {
    margin: 0;
    color: #8a94a8;
    font-size: 14px;
}

#device-management-page .tempo-replacement-footer > div {
    display: flex;
    gap: 24px;
}

#device-management-page .tempo-replacement-footer .btn {
    min-width: 161px;
    height: 48px;
    font-size: 16px;
}

#device-management-page .tempo-replacement-modal.history-active .modal-content {
    min-height: min(674px, calc(100vh - 48px));
    height: min(674px, calc(100vh - 48px));
}

#device-management-page .tempo-history-view {
    position: relative;
    min-height: 544px;
    padding: 62px 28px 92px 23px;
}

#device-management-page .tempo-history-count {
    position: absolute;
    top: 16px;
    right: 42px;
    color: #f59223;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;
}

#device-management-page .tempo-history-list {
    width: 100%;
    padding-left: 0;
}

#device-management-page .tempo-history-header,
#device-management-page .tempo-history-row {
    display: grid;
    grid-template-columns: 102px 52px 126px 127px 141px 164px 1fr;
    align-items: center;
}

#device-management-page .tempo-history-header {
    min-height: 39px;
    border-radius: 2px;
    background: #eef2f9;
    color: #000;
    font-size: 14px;
}

#device-management-page .tempo-history-row {
    min-height: 61px;
    border: 0.5px solid #cfcfcf;
    border-top: 0;
    background: #fff;
    color: #8b949e;
    font-size: 14px;
    line-height: 17px;
}

#device-management-page .tempo-history-row:nth-of-type(even) {
    background: #f9f9f9;
}

#device-management-page .tempo-history-row.current,
#device-management-page .tempo-history-row.expanded {
    border: 0.5px solid #f59325;
    background: #fff;
}

#device-management-page .tempo-history-row.expanded {
    min-height: 61px;
}

#device-management-page .tempo-history-header > span,
#device-management-page .tempo-history-row > span,
#device-management-page .tempo-history-row > strong {
    padding: 0 8px;
}

#device-management-page .tempo-history-row time {
    color: #000;
    font-size: 14px;
    font-weight: 500;
}

#device-management-page .tempo-history-row strong {
    color: #58a6ff;
    font-weight: 500;
}

#device-management-page .tempo-history-marker {
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #e2e6ef;
    color: #8a94a8;
    font-size: 9px;
    line-height: 6px;
    cursor: pointer;
}

#device-management-page .tempo-history-row.current .tempo-history-marker,
#device-management-page .tempo-history-row.expanded .tempo-history-marker {
    background: #f59325;
    color: #fff;
}

#device-management-page .tempo-history-expanded-details {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 61px;
    margin-left: 154px;
    padding: 8px 20px 8px 18px;
    border: 0.5px solid #f59325;
    border-top: 1px solid #d4e3ff;
    background: #fff;
}

#device-management-page .tempo-history-expanded-details > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    gap: 5px;
    padding: 0 8px;
}

#device-management-page .tempo-history-expanded-details strong {
    color: #000;
    font-size: 12px;
    font-weight: 400;
    line-height: 15px;
}

#device-management-page .tempo-history-expanded-details span {
    color: #8b949e;
    font-size: 12px;
    font-weight: 300;
    line-height: 15px;
}

#device-management-page .tempo-history-footer {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    display: flex;
    min-height: 92px;
    align-items: center;
    justify-content: flex-end;
    gap: 24px;
    padding: 18px 48px 25px;
    border-top: 1px solid #d4e3ff;
}

#device-management-page .tempo-history-footer .btn {
    min-width: 161px;
    height: 48px;
    font-size: 16px;
}

#device-management-page .tempo-history-footer .btn:last-child {
    min-width: 185px;
}

#device-management-page .tempo-history-table-wrap {
    width: 100%;
    overflow-x: auto;
}

#device-management-page .tempo-history-table {
    width: 100%;
    min-width: 900px;
    border-collapse: collapse;
    table-layout: fixed;
}

#device-management-page .tempo-history-table th,
#device-management-page .tempo-history-table td {
    vertical-align: middle;
}

#device-management-page .tempo-history-table th:nth-child(1),
#device-management-page .tempo-history-table td:nth-child(1) {
    width: 102px;
}

#device-management-page .tempo-history-table th:nth-child(2),
#device-management-page .tempo-history-table td:nth-child(2) {
    width: 52px;
}

#device-management-page .tempo-history-table th:nth-child(n+3),
#device-management-page .tempo-history-table td:nth-child(n+3) {
    width: calc((100% - 154px) / 5);
}

#device-management-page .tempo-history-table thead th {
    height: 39px;
    padding: 0 16px;
    border: 0;
    background: transparent;
    color: #000;
    font-size: 14px;
    font-weight: 400;
    line-height: 17px;
    text-align: left;
    text-transform: capitalize;
}

#device-management-page .tempo-history-table tbody tr {
    display: table-row;
}

#device-management-page .tempo-history-table tbody td {
    height: 61px;
    padding: 0 16px;
    color: #8b949e;
    font-size: 14px;
    font-weight: 400;
    line-height: 17px;
    text-align: left;
    text-transform: capitalize;
}

#device-management-page .tempo-history-table tbody td:nth-child(1),
#device-management-page .tempo-history-table tbody td:nth-child(2) {
    padding: 0;
    border: 0;
    background: transparent;
}

#device-management-page .tempo-history-table tbody td:nth-child(n+3) {
    border-top: 0.5px solid #cfcfcf;
    border-bottom: 0.5px solid #cfcfcf;
    background: #fff;
}

#device-management-page .tempo-history-table tbody td:nth-child(3) {
    border-left: 0.5px solid #cfcfcf;
}

#device-management-page .tempo-history-table tbody td:last-child {
    border-right: 0.5px solid #cfcfcf;
}

#device-management-page .tempo-history-table .tempo-history-row:nth-of-type(odd) td:nth-child(n+3) {
    background: #f9f9f9;
}

#device-management-page .tempo-history-table .tempo-history-row.current td:nth-child(n+3),
#device-management-page .tempo-history-table .tempo-history-row.expanded td:nth-child(n+3) {
    border-top-color: #f59325;
    border-bottom-color: #f59325;
    background: #fff;
}

#device-management-page .tempo-history-table .tempo-history-row.current td:nth-child(3),
#device-management-page .tempo-history-table .tempo-history-row.expanded td:nth-child(3) {
    border-left-color: #f59325;
}

#device-management-page .tempo-history-table .tempo-history-row.current td:last-child,
#device-management-page .tempo-history-table .tempo-history-row.expanded td:last-child {
    border-right-color: #f59325;
}

#device-management-page .tempo-history-date time {
    display: inline-flex;
    width: 89px;
    min-height: 23px;
    align-items: center;
    color: #000;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;
}

#device-management-page .tempo-history-table td.tempo-history-marker-cell {
    position: relative;
    text-align: center;
}

#device-management-page .tempo-history-table td.tempo-history-marker-cell::before {
    position: absolute;
    top: -31px;
    bottom: -31px;
    left: 50%;
    width: 1px;
    background: #d4e3ff;
    content: "";
    transform: translateX(-50%);
}

#device-management-page .tempo-history-table tbody tr:first-child td.tempo-history-marker-cell::before {
    top: 50%;
}

#device-management-page .tempo-history-table tbody tr:last-child td.tempo-history-marker-cell::before {
    bottom: 50%;
}

#device-management-page .tempo-history-marker {
    position: relative;
    z-index: 1;
    display: inline-flex;
    width: 19.77px;
    height: 19.77px;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    gap: 1px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #e2e6ef;
    cursor: pointer;
}

#device-management-page .tempo-history-row.current .tempo-history-marker,
#device-management-page .tempo-history-row.expanded .tempo-history-marker {
    background: #f59325;
}

#device-management-page .tempo-history-chevron {
    display: block;
    width: 7.29px;
    height: 3.73px;
    background: currentColor;
    clip-path: polygon(50% 100%, 0 0, 100% 0);
    color: #8a94a8;
}

#device-management-page .tempo-history-chevron.up {
    transform: rotate(180deg);
}

#device-management-page .tempo-history-row.current .tempo-history-chevron,
#device-management-page .tempo-history-row.expanded .tempo-history-chevron {
    color: #fff;
}

#device-management-page .tempo-history-row strong {
    color: #58a6ff;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;
}

#device-management-page .tempo-history-expanded-row > td {
    height: 61px;
}

#device-management-page .tempo-history-expanded-row > td[colspan="5"] {
    padding: 0;
    border: 0.5px solid #f59325;
    border-top: 1px solid #d4e3ff;
    background: #fff;
}

#device-management-page .tempo-history-expanded-details {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 61px;
    margin-left: 0;
    padding: 9px 16px;
    border: 0;
    background: transparent;
}

#device-management-page .tempo-history-expanded-details > div {
    display: flex;
    min-width: 0;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    padding: 0 8px;
    text-align: center;
}

#device-management-page .tempo-history-expanded-details strong {
    color: #000;
    font-size: 12px;
    font-weight: 400;
    line-height: 15px;
    text-transform: capitalize;
}

#device-management-page .tempo-history-expanded-details span {
    color: #8b949e;
    font-size: 12px;
    font-weight: 300;
    line-height: 15px;
    text-transform: capitalize;
}

#device-management-page .tempo-history-layout {
    display: grid;
    grid-template-columns: 154px minmax(780px, 1fr);
    align-items: start;
    width: 100%;
}

#device-management-page .tempo-history-timeline {
    position: relative;
    padding-top: 39px;
}

#device-management-page .tempo-history-timeline::before {
    position: absolute;
    top: 69px;
    bottom: 30px;
    left: 128px;
    width: 1px;
    background: #d4e3ff;
    content: "";
}

#device-management-page .tempo-history-timeline-item {
    position: relative;
    display: grid;
    grid-template-columns: 102px 52px;
    height: 61px;
    align-items: center;
}

#device-management-page .tempo-history-timeline-item.expanded {
    height: 122px;
    align-items: start;
    padding-top: 20px;
}

#device-management-page .tempo-history-timeline-item time {
    color: #000;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;
}

#device-management-page .tempo-history-timeline-item.latest time,
#device-management-page .tempo-history-timeline-item.expanded time {
    color: #f59325;
}

#device-management-page .tempo-history-timeline-item .tempo-history-marker {
    position: relative;
    z-index: 1;
    width: 19.77px;
    height: 19.77px;
    margin: 0 auto;
    background: #e2e6ef;
    color: #8a94a8;
}

#device-management-page .tempo-history-timeline-item.latest .tempo-history-marker,
#device-management-page .tempo-history-timeline-item.expanded .tempo-history-marker {
    background: #f59325;
    color: #fff;
}

#device-management-page .tempo-history-layout .tempo-history-table {
    min-width: 780px;
    table-layout: fixed;
}

#device-management-page .tempo-history-layout .tempo-history-table th,
#device-management-page .tempo-history-layout .tempo-history-table td {
    width: auto !important;
}

#device-management-page .tempo-history-layout .tempo-history-table thead th {
    height: 39px;
    padding: 0 16px;
    background: #eef2f9;
}

#device-management-page .tempo-history-layout .tempo-history-table tbody td {
    height: 61px;
    padding: 0 16px;
    border-top: 0.5px solid #cfcfcf;
    border-bottom: 0.5px solid #cfcfcf;
    background: #fff;
}

#device-management-page .tempo-history-layout .tempo-history-table tbody td:nth-child(3) {
    border-left: none;
}

#device-management-page .tempo-history-layout .tempo-history-table tbody tr.tempo-history-row:nth-of-type(even) td {
    background: #f9f9f9;
}

#device-management-page .tempo-history-layout .tempo-history-table tbody tr.tempo-history-row.expanded td {
    border-top-color: #f59325;
    border-bottom-color: #cfcfcf;
    background: #fff;
}

#device-management-page .tempo-history-layout .tempo-history-table tbody tr.tempo-history-row.expanded td:first-child,
#device-management-page .tempo-history-layout .tempo-history-table tbody tr.tempo-history-expanded-row td:first-child {
    border-left-color: #f59325;
}

#device-management-page .tempo-history-layout .tempo-history-table tbody tr.tempo-history-row.expanded td:last-child,
#device-management-page .tempo-history-layout .tempo-history-table tbody tr.tempo-history-expanded-row td:last-child {
    border-right-color: #f59325;
}

#device-management-page .tempo-history-layout .tempo-history-table tbody tr.tempo-history-expanded-row td {
    border-top-color: #d4e3ff;
    border-bottom-color: #f59325;
    background: #fff;
}

#device-management-page .tempo-history-layout .tempo-history-expanded-row > td[colspan="6"] {
    width: 100% !important;
    padding: 0;
    border-top: 1px solid #d4e3ff !important;
    border-right: 0.5px solid #f59325 !important;
    border-bottom: 0.5px solid #f59325 !important;
    border-left: 0.5px solid #f59325 !important;
}

#device-management-page .tempo-history-date-button {
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

#device-management-page .tempo-history-date-button:hover time {
    text-decoration: underline;
}

#device-management-page .tempo-history-row-arrow-cell {
    text-align: center !important;
}

#device-management-page .tempo-history-row-arrow {
    display: inline-flex;
    width: 24px;
    height: 24px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

#device-management-page .tempo-history-row-arrow img {
    width: 16.81px;
    height: 9.93px;
}

#device-management-page .tempo-history-layout .tempo-history-expanded-details {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    min-height: 61px;
    margin-left: 0;
    padding: 9px 16px;
}

#device-management-page .tempo-history-chevron {
    display: block;
    width: 7.29px;
    height: 3.73px;
    opacity: 1;
    filter: brightness(0) saturate(100%) invert(57%) sepia(11%) saturate(511%) hue-rotate(178deg) brightness(94%) contrast(86%);
}

#device-management-page .tempo-history-chevron.up {
    transform: rotate(180deg);
}

#device-management-page .tempo-history-chevron.down {
    transform: rotate(0deg);
}

#device-management-page .tempo-history-timeline-item.latest .tempo-history-chevron,
#device-management-page .tempo-history-timeline-item.expanded .tempo-history-chevron {
    filter: brightness(0) invert(1);
}

@media (max-width: 767px) {
    #device-management-page .tempo-replacement-content {
        grid-template-columns: 1fr;
    }

    #device-management-page .tempo-new-device {
        border-top: 1px solid #d4e3ff;
        border-left: 0;
    }

    #device-management-page .tempo-device-details {
        grid-template-columns: 125px minmax(0, 1fr);
        gap: 10px 16px;
    }

    #device-management-page .tempo-replacement-footer {
        align-items: stretch;
        flex-direction: column;
    }

    #device-management-page .tempo-replacement-footer > div,
    #device-management-page .tempo-replacement-footer .btn {
        width: 100%;
    }

    #device-management-page .tempo-history-view {
        overflow-x: auto;
    }

    #device-management-page .tempo-history-list {
        min-width: 900px;
    }

    #device-management-page .tempo-history-footer {
        position: static;
        align-items: stretch;
        flex-direction: column;
        padding: 16px 0 0;
    }

    #device-management-page .tempo-history-footer .btn,
    #device-management-page .tempo-history-footer .btn:last-child {
        width: 100%;
    }
}

@media (max-width: 575px) {
    #device-management-page .silverkin-shipping-field {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    #device-management-page .silverkin-shipping-field label {
        text-align: left;
    }
}

@media (max-width: 900px) {
    #device-management-page .silverkin-devices {
        padding-right: 10px;
        padding-left: 10px;
    }

    #device-management-page .silverkin-summary-section {
        padding-right: 8px;
    }

    #device-management-page .silverkin-summary-cards {
        gap: 7px;
    }

    #device-management-page .silverkin-summary-card {
        width: 125px;
    }

    #device-management-page .silverkin-ship-button {
        min-width: 85px;
    }

    #device-management-page .silverkin-device-table {
        min-width: 850px;
    }
}

@media (max-width: 575px) {
    .device-management-tabs {
        flex-wrap: nowrap;
        overflow-x: auto;
        padding-bottom: 0.25rem;
    }
}

.tab-content-container {
    padding: 10px;

    .form-select {
        border-color: #ccd0d4;
    }
}

.tab-content.d-none {
    display: none;
}

.device-management-table-body {
    .tempo_serial a,
    .edit-icon,
    .git_sha_link {
        color: #337ab7 !important;
        text-decoration: none;
        cursor: pointer;
    }

    .tempo_serial a:hover,
    .edit-icon:hover,
    .git_sha_link:hover {
        color: #23527c;
        text-decoration: underline;
    }
}

#device-management-page .custom-table-responsive {
    overflow: visible !important;
}

#device-management-page .custom-table-responsive .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

#device-management-page .custom-table-responsive .custom-table > thead.header > tr > th {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 60px !important;
    z-index: 10;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

#device-management-page.dm-new-fleet-table .dm-filter-toolbar {
    min-height: 73.37px;
    padding: 16px;
    border: 1px solid rgba(31, 77, 163, 0.08);
    border-radius: 12px;
    background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
    box-shadow: 0 10px 24px rgba(31, 77, 163, 0.08);
    opacity: 1;
}

#device-management-page .tempo-devices-summary-section {
    margin-top: 16px;
    margin-bottom: 12px;
}

#device-management-page .dm-filter-toolbar .form-select,
#device-management-page .dm-institution-column .form-select,
#device-management-page .dm-community-column .form-select,
#device-management-page .dm-tempo-serial-column .form-select {
    min-height: 46px;
    padding: 12px 40px 12px 14px;
    border: 1px solid rgba(61, 103, 180, 0.28);
    border-radius: 10px;
    background: linear-gradient(180deg, #ffffff 0%, #f3f8ff 100%);
    background-image: linear-gradient(45deg, transparent 50%, #4b5563 50%), linear-gradient(135deg, #4b5563 50%, transparent 50%);
    background-position: calc(100% - 16px) calc(50% - 1px), calc(100% - 11px) calc(50% - 1px);
    background-size: 5px 5px;
    background-repeat: no-repeat;
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04), 0 2px 8px rgba(61, 103, 180, 0.08);
    color: #1f2a37;
    font-weight: 500;
    line-height: 1.3;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    transition: all 0.2s ease;
}

#device-management-page .dm-filter-toolbar .form-select:focus,
#device-management-page .dm-institution-column .form-select:focus,
#device-management-page .dm-community-column .form-select:focus,
#device-management-page .dm-tempo-serial-column .form-select:focus {
    border-color: #3b82f6;
    box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.15), 0 8px 18px rgba(59, 130, 246, 0.14);
    outline: none;
}

#device-management-page .dm-filter-toolbar .form-select:hover,
#device-management-page .dm-institution-column .form-select:hover,
#device-management-page .dm-community-column .form-select:hover,
#device-management-page .dm-tempo-serial-column .form-select:hover {
    border-color: rgba(59, 130, 246, 0.48);
    box-shadow: 0 8px 20px rgba(59, 130, 246, 0.1);
}

#device-management-page .dm-filter-toolbar .custom_search,
#device-management-page .dm-search-column .form-control {
    height: 42px;
    border: 1px solid rgba(61, 103, 180, 0.28);
    border-radius: 10px;
    background: linear-gradient(180deg, #ffffff 0%, #f3f8ff 100%);
    box-shadow: inset 0 1px 2px rgba(15, 23, 42, 0.04), 0 2px 8px rgba(61, 103, 180, 0.06);
}

#device-management-page .tempo-devices-summary-cards {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: flex-start;
}

#device-management-page .tempo-devices-summary-cards .tempo-summary-row {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
}

#device-management-page .tempo-devices-summary-cards .silverkin-summary-card {
    flex: 0 0 237px;
    width: 237px;
    height: 79.79px;
    border-radius: 2px;
    background: #fff;
}

#device-management-page .tempo-devices-summary-cards .silverkin-card-number {
    width: fit-content;
    min-width: 43px;
    height: 27px;
    margin-bottom: 0;
    color: #141d46;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 22px;
    line-height: 26px;
}

#device-management-page .tempo-devices-summary-cards .silverkin-card-title {
    width: 110px;
    height: 23px;
    margin-bottom: 0;
    color: #000;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 12px;
    line-height: 18px;
}

#device-management-page .tempo-devices-summary-cards .silverkin-card-subtitle {
    width: 218px;
    height: 19px;
    color: #8a98ac;
    font-family: "Inter", sans-serif;
    font-weight: 300;
    font-size: 14px;
    line-height: 18px;
}

#device-management-page .tempo-unassigned-summary-icon {
    width: 16px;
    height: 16px;
    border-width: 1px;
    opacity: 1;
}

#device-management-page .tempo-assigned-summary-icon {
    position: absolute;
    top: 10.5px;
    right: 17px;
    display: flex;
    width: 33.34px;
    height: 33.34px;
    border-radius: 8px;
    background: #ffe7cb !important;
    color: #f0a33a;
    font-size: 9px;
    opacity: 1;
}

#device-management-page .tempo-unassigned-summary-icon .silverkin-warning-symbol {
    width: 10px;
    height: 10px;
    font-size: 10px;
    line-height: 10px;
}

#device-management-page .tempo-unassigned-summary-icon img {
    width: 16px;
    height: 16px;
    display: block;
}

#device-management-page .silverkin-card-icon.warning img {
    width: 16px;
    height: 16px;
    display: block;
}

#device-management-page .tempo-assigned-summary-icon img {
    width: 16px;
    height: 16px;
    display: block;
}

#device-management-page.dm-new-fleet-table .dm-filter-toolbar .dm-search-column {
    order: 0;
}

#device-management-page.dm-new-fleet-table .dm-filter-toolbar .dm-tempo-serial-column {
    order: 3;
}

#device-management-page.dm-new-fleet-table .dm-filter-toolbar .dm-institution-column {
    order: 1;
}

#device-management-page.dm-new-fleet-table .dm-filter-toolbar .dm-community-column {
    order: 2;
}

/* Bootstrap col-md-2 is too narrow for long institution/community names */
#device-management-page.dm-new-fleet-table .dm-filter-toolbar .dm-institution-column,
#device-management-page.dm-new-fleet-table .dm-filter-toolbar .dm-community-column {
    min-width: 340px;
}

#device-management-page.dm-new-fleet-table .dm-filter-toolbar .dm-action-column {
    order: 4;
}

#device-management-page.dm-new-fleet-table .dm-filter-toolbar .dm-export-column {
    order: 5;
}

#device-management-page .dm-search-box {
    position: relative;
}

#device-management-page.dm-new-fleet-table .dm-search-box .custom_search {
    padding-right: 34px;
}

#device-management-page .dm-search-icon {
    position: absolute;
    top: 50%;
    right: 12px;
    color: #858b91;
    font-size: 13px;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-50%);
}

#device-management-page .dm-search-clear {
  position: absolute;
  top: 50%;
  right: 8px;
  display: inline-flex;
  width: 20px;
  height: 20px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #e9ecef;
  color: #555;
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
  transform: translateY(-50%);
}

#device-management-page .dm-search-clear:hover,
#device-management-page .dm-search-clear:focus-visible {
  background: #ced4da;
  color: #000;
}

#device-management-page.dm-new-fleet-table .custom-table-responsive .custom-table > thead.header > tr > th {
    height: 66.08px;
    border: none !important;
    background: #e1e4ea !important;
    opacity: 1;
    vertical-align: middle;
}

#device-management-page .dm-sort-icons {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: 6px;
    vertical-align: middle;
    cursor: pointer;
}

#device-management-page .dm-sort-icons img {
    width: 7px;
    height: 12px;
}

#device-management-page.dm-tempo-table .custom-table > thead.header > tr > th > span:first-child {
    display: inline-flex;
    height: 17px;
    align-items: center;
    color: #000;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 14px;
    line-height: 17px;
    text-transform: capitalize;
}

#device-management-page.dm-tempo-table .custom-table > thead.header > tr > th:first-child > span:first-child {
    width: 119px;
}

#device-management-page.dm-tempo-table .dm-sort-icons {
    width: 12.01px;
    height: 13.16px;
    gap: 3.01px;
    margin-left: 6px;
}

#device-management-page.dm-tempo-table .dm-sort-icons img {
    flex: 0 0 4.5px;
    width: 4.5px;
    height: 12.5px;
}

#device-management-page.dm-tempo-table .custom-table > thead.header > tr > th:nth-child(5) > span:first-child {
    width: 67.24px;
    height: 25px;
    font-weight: 400;
}

#device-management-page.dm-tempo-table .custom-table > thead.header > tr > th:nth-child(5) .dm-sort-icons {
    height: 10.88px;
    margin-left: 4.52px;
}

#device-management-page.dm-tempo-table .custom-table > thead.header > tr > th:nth-child(5) .dm-sort-icons img {
    height: 10.33px;
}

#device-management-page.dm-new-fleet-table .device-management-table-body tr {
    height: 75px;
    opacity: 1;
}

#device-management-page.dm-new-fleet-table .device-management-table-body tr > td {
    height: 75px;
    border-top: 0.5px solid #e1e4ea !important;
    border-right: none !important;
    border-bottom: 0.5px solid #e1e4ea !important;
    border-left: none !important;
    vertical-align: middle;
}

#device-management-page.dm-new-fleet-table .device-management-table-body tr.even-row > td {
    background-color: #fff !important;
}

#device-management-page.dm-new-fleet-table .device-management-table-body tr.alt-row > td {
    background-color: #f5f6f8 !important;
}

#device-management-page.dm-new-fleet-table .device-management-table-body .edit-icon {
    width: 16px;
    height: 16px;
}

#device-management-page .dm-edit-beacon-button {
    display: inline-flex;
    width: 28px;
    height: 28px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: transparent;
    cursor: pointer;
}

#device-management-page .dm-edit-beacon-button:focus-visible {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

#device-management-page .firmware-default-actions {
    display: flex;
    justify-content: flex-end;
    padding: 16px;
    border-radius: 8px;
    margin-bottom: 12px;
    background: #fff;
}

#device-management-page .dm-tempo-serial-link {
    display: inline-block;
    width: 120px;
    min-height: 17px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #58a6ff;
    line-height: 17px;
    text-align: left;
    opacity: 1;
    cursor: pointer;
}

#device-management-page .dm-tempo-serial-link:hover {
    color: #58a6ff;
    text-decoration: underline;
}

#device-management-page .dm-status-badge {
    display: inline-flex;
    box-sizing: border-box;
    min-width: 72px;
    height: 22px;
    align-items: center;
    justify-content: center;
    padding: 0 8px;
    border: 1px solid #d7dce3;
    border-radius: 4px;
    background: #f5f6f8;
    color: #626a73;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    text-align: center;
}

#device-management-page .dm-status-badge.assigned,
#device-management-page .dm-status-badge.active,
#device-management-page .dm-status-badge.active:hover {
    width: 71px;
    height: 24px;
    padding: 0 5px;
    gap: 7px;
    border: 1px solid #3aba91;
    border-radius: 8px;
    background: #edf9f5;
    opacity: 1;
    color: #3aba91;
}

#device-management-page .dm-status-badge.assigned {
    border-color: #c4e5c4;
    background: #e5f5e5;
    color: #54a05a;
}

#device-management-page.dm-tempo-table .device-management-table-body .dm-status-badge.assigned {
    display: inline-flex;
    width: 71px;
    height: 24px;
    align-items: center;
    justify-content: center;
    padding: 0 5px;
    gap: 0;
    border: 1px solid #57a4ff;
    border-radius: 8px;
    background: rgba(87, 164, 255, 0.1);
    color: #57a4ff;
    font-family: "Urbanist", sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 1;
    text-align: center;
}

#device-management-page .dm-status-badge.unassigned {
    width: 79px;
    height: 24px;
    padding: 0 5px;
    gap: 7px;
    border: 1px solid #aeaeae;
    border-radius: 8px;
    background: #d5d9df80;
    color: #5d5e60;
    opacity: 1;
}

#device-management-page .dm-status-badge.unassigned:hover {
    border-color: #aeaeae;
    background: #d5d9df80;
    color: #5d5e60;
}

#device-management-page .dm-status-badge.expired,
#device-management-page .dm-status-badge.expired:hover {
    width: 71px;
    height: 24px;
    padding: 0 5px;
    gap: 7px;
    border: 1px solid #e2aab3;
    border-radius: 8px;
    background: #feebed;
    color: #d06469;
    opacity: 1;
}

#device-management-page .dm-status-badge.expiring,
#device-management-page .dm-status-badge.expiring:hover {
    width: 71px;
    height: 24px;
    padding: 0 5px;
    gap: 7px;
    border: 1px solid #ffd99b;
    border-radius: 8px;
    background: #fef3e2;
    color: #ad7918;
    opacity: 1;
}

#device-management-page .dm-history-button {
    display: inline-flex;
    width: 60px;
    height: 24px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 5px;
    border: 1px solid #aeaeae;
    border-radius: 8px;
    background: #d5d9df24;
    color: #5d5e60;
    font-size: 12px;
    font-weight: 600;
    opacity: 1;
    cursor: pointer;
}

#device-management-page .dm-history-button:hover {
    color: #5d5e60;
    text-decoration: underline;
}

/* New Fleet Management firmware card */
.firmware-card {
    width: 100%;
    min-height: 130px;
    padding: 22px;
    display: flex;
    align-items: center;
    gap: 34px;
    border: 1px solid #eee;
    background: #fff;
}

.firmware-badge {
    width: 135px;
    height: 88px;
    flex-shrink: 0;
    border-radius: 4px;
    background: #ff8c1a;
    color: #fff;
    padding: 11px 16px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.firmware-badge__title {
    font-size: 17px;
    font-weight: 600;
    line-height: 19px;
}

.firmware-badge__subtitle {
    font-size: 11px;
    line-height: 14px;
}

.firmware-info {
    width: 410px;
    display: grid;
    grid-template-columns: 105px 66px 105px 66px;
    column-gap: 17px;
    row-gap: 24px;
    align-items: center;
}

.firmware-info .field-label {
    color: #7d8590;
    font-size: 12px;
    white-space: nowrap;
}

.firmware-info .field-value {
    height: 21px;
    border: 1px solid #6ba7ff;
    border-radius: 4px;
    background: #f4f8ff;
    color: #666;
    font-size: 11px;
    text-align: center;
    padding: 3px 6px;
    outline: none;
    width: 66px;
}

.description-wrapper {
    width: 412px;
    height: 86px;
    flex-shrink: 0;
    background: #f3f7fc;
    border-radius: 4px;
    padding: 11px 17px;
    display: flex;
    flex-direction: column;
}

.description-label {
    color: #222;
    font-size: 11px;
    margin-bottom: 17px;
}

.description {
    flex: 1;
    width: 100%;
    resize: none;
    border: none;
    outline: none;
    background: #F4F9FF;
    color: #777;
    font-family: inherit;
    font-size: 11px;
    padding: 0;
}

.firmware-update-button {
    margin: 0 auto;
    width: 119px;
    height: 40px;
    border: none;
    border-radius: 5px;
    background: #ff8c1a;
    color: #fff;
    font-size: 15px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.firmware-update-button:hover {
    background: #f47f08;
}

.firmware-refresh-icon {
    font-size: 17px;
    line-height: 1;
}

#device-management-page .dm-manufacturing-toggle {
    display: inline-flex;
    height: 40px;
    align-items: center;
    gap: 8px;
    padding: 0 6px;
    border: 1px solid #cfcfcf;
    border-radius: 20px;
    background: #fff;
    color: #3d4452;
    font-size: 14px;
    white-space: nowrap;
    cursor: pointer;
    transition: border-color 0.15s, background-color 0.15s;
}

#device-management-page .dm-manufacturing-toggle:hover {
    border-color: #f59325;
}

#device-management-page .dm-manufacturing-toggle-label {
    padding: 6px 12px;
    border-radius: 16px;
    color: #98a2b3;
    transition: color 0.15s, background-color 0.15s;
}

#device-management-page .dm-manufacturing-toggle:not(.active) .dm-manufacturing-toggle-label.left,
#device-management-page .dm-manufacturing-toggle.active .dm-manufacturing-toggle-label.right {
    background: #f59325;
    color: #fff;
    font-weight: 600;
}

#device-management-page .dm-clear-filters-wrap {
    display: inline-block;
}

#device-management-page .dm-clear-filters-btn {
    height: 40px;
    padding: 0 16px;
    border: 1px solid #f59325;
    border-radius: 6px;
    background: #fff;
    color: #f59325;
    font-size: 14px;
    white-space: nowrap;
}

#device-management-page .dm-clear-filters-btn:hover:not(:disabled) {
    background: #fff6ea;
}

#device-management-page .dm-clear-filters-btn:disabled {
    border-color: #d0d5dd;
    background: #f2f4f7;
    color: #98a2b3;
    cursor: not-allowed;
    opacity: 1;
    pointer-events: none;
}

/* One background per row across every column */
#device-management-page .tempo-history-layout .tempo-history-table tbody tr.tempo-history-row:nth-of-type(odd) td:nth-child(n) {
    background: #fff;
}

#device-management-page .tempo-history-layout .tempo-history-table tbody tr.tempo-history-row:nth-of-type(even) td:nth-child(n) {
    background: #f9f9f9;
}

#device-management-page .tempo-assigned-dot {
    margin: 0 8px;
    font-size: 22px;
    line-height: 1;
    vertical-align: middle;
}

#device-management-page .tempo-assigned-suite {
    vertical-align: middle;
}

#device-management-page .tempo-replace-result-modal {
    z-index: 1100;
    background: rgba(0, 0, 0, 0.5);
}

#device-management-page .tempo-replace-btn-wrap {
    display: inline-block;
}

#device-management-page .tempo-replace-btn-wrap .btn:disabled {
    cursor: not-allowed;
    pointer-events: none;
}

#device-management-page .cr-label-info-alis {
    display: inline-flex;
    align-items: center;
    margin: 0 0 0 8px;
    padding: 1px 8px;
    border-radius: 10px;
    background: #49b6d6;
    color: #fff !important;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    white-space: nowrap;
    vertical-align: middle;
}

#device-management-page .tempo-history-timeline-item time {
    display: flex;
    flex-direction: column;
}

#device-management-page .tempo-history-timeline-item .tempo-history-time {
    font-size: 12px;
    font-weight: 400;
    line-height: 15px;
}

/* History tab: heading and tabs stay fixed; only the history rows scroll */
#device-management-page .tempo-replacement-modal.history-active .modal-content {
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#device-management-page .tempo-replacement-modal.history-active .tempo-replacement-heading,
#device-management-page .tempo-replacement-modal.history-active .tempo-replacement-tabs {
    flex-shrink: 0;
}

#device-management-page .tempo-replacement-modal.history-active .modal-content > form {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
}

#device-management-page .tempo-replacement-modal.history-active .tempo-history-view {
    display: flex;
    min-height: 0;
    flex: 1;
    flex-direction: column;
    padding-bottom: 0;
}

#device-management-page .tempo-replacement-modal.history-active .tempo-history-layout {
    min-height: 0;
    flex: 1;
    overflow: auto;
}

#device-management-page .tempo-replacement-modal.history-active .tempo-history-footer {
    position: static;
    flex-shrink: 0;
    margin: 0 -28px 0 -23px;
}

/* One scroll area for both axes; the header row stays visible while scrolling down */
#device-management-page .tempo-replacement-modal.history-active .tempo-history-layout {
    overflow-x: auto;
    overflow-y: auto;
    scrollbar-color: #c3cad6 transparent;
    scrollbar-width: thin;
}

#device-management-page .tempo-replacement-modal.history-active .tempo-history-layout::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

#device-management-page .tempo-replacement-modal.history-active .tempo-history-layout::-webkit-scrollbar-thumb {
    border-radius: 4px;
    background: #c3cad6;
}

#device-management-page .tempo-replacement-modal.history-active .tempo-history-layout::-webkit-scrollbar-track {
    background: transparent;
}

#device-management-page .tempo-replacement-modal.history-active .tempo-history-table-wrap {
    overflow: visible;
}

#device-management-page .tempo-replacement-modal.history-active .tempo-history-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
}

/* Wide enough for the timeline plus all history columns without horizontal scrolling */
#device-management-page .tempo-replacement-modal.history-active .modal-dialog {
    width: min(1200px, calc(100vw - 24px));
    max-width: 1200px;
}

/* Device lifecycle statuses; onboarded and decommissioned keep the default badge colour */
#device-management-page .dm-status-badge.manufactured,
#device-management-page .tempo-replacement-badge.status.manufactured {
    border: 1px solid #b9a6ec;
    border-radius: 8px;
    background: #f1edfc;
    color: #7357c9;
}

#device-management-page .dm-status-badge.in_qa,
#device-management-page .tempo-replacement-badge.status.in_qa {
    border: 1px solid #f5c58a;
    border-radius: 8px;
    background: #fff4e5;
    color: #c4721a;
}

#device-management-page .dm-status-badge.shipped,
#device-management-page .tempo-replacement-badge.status.shipped {
    border: 1px solid #84cfd9;
    border-radius: 8px;
    background: #e8f8fa;
    color: #1d8e9e;
}

#device-management-page .dm-status-badge.onboarded,
#device-management-page .tempo-replacement-badge.status.onboarded {
    border: 1px solid #57a4ff;
    border-radius: 8px;
    background: #57a4ff1a;
    color: #57a4ff;
}

#device-management-page .dm-status-badge.decommissioned,
#device-management-page .tempo-replacement-badge.status.decommissioned {
    border: 1px solid #e2aab3;
    border-radius: 8px;
    background: #e2aab34d;
    color: #d06469;
}

#device-management-page .dm-status-badge.claimed,
#device-management-page .tempo-replacement-badge.warranty.claimed {
    border: 1px solid #e3a3cd;
    border-radius: 8px;
    background: #fceef7;
    color: #b5448c;
}

/* Matches the app-wide message popup in case its global style is not loaded on this page */
#device-management-page .tempo-replace-result-modal .modal_msg {
    color: #707478;
    font-size: 30px;
    text-align: center;
}

#device-management-page .tempo-history-layout .tempo-history-table tbody td.tempo-history-empty {
    padding: 0 16px;
    border: 0.5px solid #cfcfcf;
    background: #fff;
    color: #8b949e;
    text-align: center;
    text-transform: none;
}

#device-management-page .dm-orange-loader-icon,
#device-management-page .dm-orange-loader {
    color: #f59325;
}

#device-management-page .dm-orange-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 79.79px;
}

#report-logs-filter,
#report-logs-body,
.report-logs-page > .custom-panel {
  width: 100%;
}

.report-logs-page {
  width: 100%;
}

.report-logs-header {
  width: 100%;
  margin-bottom: 20px;
}
#report-logs-filter {
  background: white;
}

#report-logs-filter .ant-picker {
  height: 42px;
}

#report-logs-filter .ant-picker .ant-picker-input>input {
  height: 40px;
  font-size: 1rem;
}

.report-usage-summary {
  max-width: 600px;
  text-align: center;
  margin-top: 40px;
}

.report-title {
  font-weight: 500;
  font-size: 22px;
  color: #333333;
  padding: 5px;
}

.report-run-count {
  font-weight: 600;
  font-size: 14px;
  color: #707478;
}

#report-logs-body .custom-table-responsive {
  padding: 0 !important;
}

/* Bare col has no parent .row to cancel Bootstrap gutter padding — zero it so the table spans full width like the filter panel */
#report-logs-body > .col-lg-12 {
  padding-left: 0;
  padding-right: 0;
}

#report-logs-body .custom-table-body {
  .text-center {
    background-color: #f0f3f5;
    font-size: 20px;
    padding: 10px 15px;
  }
}

.button-disabled {
  cursor: not-allowed !important;
  pointer-events: auto;
}

.spinner-border {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  border: 0.15em solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: spinner-border .75s linear infinite;
}

@keyframes spinner-border {
  to {
    transform: rotate(360deg);
  }
}
#report-logs-body .report-logs-sticky-scroll.custom-table-responsive {
  overflow-x: visible;
  overflow-y: visible;
}

#report-logs-body .report-logs-sticky-scroll .custom-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  table-layout: fixed;
}

#report-logs-body .report-logs-sticky-scroll .custom-table > thead.header > tr > th {
  position: sticky;
  top: 60px;
  z-index: 3;
  background: #e6e6e6 !important;
  box-shadow: 0 1px 0 #e2e7eb;
}

#report-logs-body .report-logs-sticky-scroll .custom-table > thead.header > tr > th.table_header {
  cursor: default;
}

#report-logs-body .report-logs-sticky-scroll .custom-table > thead.header > tr > th.table_header .report-logs-th-content {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
}
.event-report-page,
.event-report-header,
#event-report {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

#event-report {
    min-height: 80vh;
}

.event-report-table-panel-body {
    width: 100%;
    padding: 15px 0;
}

.event-report-table-panel-body .custom-table-responsive,
.event-report-table-panel-body .custom-table {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.event-report-filter-control {
    width: 350px;
    height: 38px;
    min-height: 38px;
}

@media (max-width: 991.98px) {
    .event-report-filter-control {
        width: 100%;
    }
}

.ev-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.ev-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.events-page,
.events-header,
.events-table-section,
.events-table-section .custom-panel {
    width: 100%;
}

.events-header,
.events-table-section {
    margin-left: 0;
    margin-right: 0;
}

.events-table-panel-body {
    width: 100%;
    padding: 15px 0;
}

.ev-create-button,
.ev-search-wrapper {
    width: 255px;
    min-width: 255px;
    max-width: 255px;
}

.ev-create-button {
    flex: 0 0 255px;
}

.ev-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.ev-search-input {
    width: 100%;
    padding-right: 32px;
}

@media (max-width: 575.98px) {
    .ev-create-button,
    .ev-search-wrapper {
        width: 100%;
        min-width: 0;
        max-width: none;
        flex-basis: auto;
    }
}

.ev-search-icon {
    position: absolute;
    right: 10px;
    color: #aaa;
    pointer-events: none;
    font-size: 13px;
}

.ev-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: #e9ecef;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #555;
    font-size: 14px;
    line-height: 1;
    width: 20px;
    height: 20px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.ev-search-clear:hover {
    background: #ced4da;
    color: #000;
}

.custom-table-body {
    .actions-column {
        display: flex;
        flex-direction: column;
        gap: 6px;
        align-items: self-start;
      }
      
    .actions-column .acti {
        display: block;
    }
    
    i {
        color: #333;
    }
}

.facility-header .btn_custom_background {
  border: 1px solid #f59325;
  background-color: #f59325;
  color: #fff;
  font-size: 0.875rem;
  border-radius: 3px;
  transition: all 0.2s ease-in-out;
  box-shadow: none;
}

.facility-header .btn_custom_background:hover {
  background-color: #e8821d;
  border-color: #e8821d;
}

.facility-header .custom_search {
  border: 1px solid #ccd0d4;
  box-shadow: none;
  font-size: 0.875rem;
  border-radius: 3px;
}

.facility-header hr.custom-hr-bottom,
hr.custom-hr-bottom {
  margin-top: 25px !important;
  margin-bottom: 20px;
  border-top: 1px solid #eee;
  opacity: 1;
}

.custom-select-arrow {
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 fill=%27%23333%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M1.5 5.5l6 6 6-6%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 1rem;
  padding-right: 2rem;
}

.facility-buttons {
  display: flex;
}

.facility-header-group {
  margin-top: 26px !important;
}

.breadcrumb-wrapper {
  flex-grow: 1;
  min-width: 200px;
}

.button-search-row {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-right: 11px;
}

.button-group {
  display: flex;
  gap: 10px;
}

.button-group .btn {
  height: 45px;
  white-space: nowrap;
}

.search-input-wrapper {
  flex-shrink: 0;
}

.search-input {
  height: 45px;
  width: 180px;
}

/* ========== Table Styles ========== */
.admin-language .table {
  width: 100%;
  table-layout: auto;
  border-collapse: collapse;
}

.admin-language-panel-body {
  border-radius: 0 0 4px 4px;
}

.admin-language .table th,
.admin-language .table td {
  padding: 6px 12px;
  text-align: left;
  vertical-align: middle;
}

.admin-language .table th {
  background-color: #999999;
  color: white;
  font-weight: 600;
}

.admin-language .table td {
  background-color: #f8f8f8;
}

.admin-language .badge {
  padding: 4px 10px !important;
  font-size: 12px;
  font-weight: 600;
  color: #fff;
  border-radius: 4px !important;
}

.admin-language .badge.lang-badge-ready {
  background-color: #49b6d6;
}

.admin-language .badge.lang-badge-progress {
  background-color: #f39f09;
}

.admin-language .badge.lang-badge-done {
  background-color: #22a06b;
}

.admin-language .badge.lang-badge-pushed {
  background-color: #0f7b4f;
}

.lang-spinner-cell {
  padding: 24px 0;
}

.lang-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.lang-action-btn {
  border: none;
  background: transparent;
  cursor: pointer;
  font-size: 14px;
  color: #337ab7;
  padding: 4px 6px;
  border-radius: 4px;
}

.lang-action-btn:hover {
  color: #23527c;
}

.lang-action-btn:disabled {
  color: #b6b2b2;
  cursor: not-allowed;
}

.lang-action-btn:disabled:hover {
  color: #b6b2b2;
}

.language-release-link {
  padding: 0;
  border: 0;
  background: transparent;
  color: #337ab7;
  cursor: pointer;
  text-align: left;
}

.language-release-link:hover {
  color: #23527c;
  text-decoration: underline;
}

.admin-language .actions-column {
  text-align: center;
}

.admin-language .page_title {
  margin-top: 0;
  font-size: 20px;
  font-weight: 600;
}

.admin-language .action-btn {
  background: none;
  border: none;
  font-size: 16px;
  color: #007bff;
  margin: 0 5px;
  cursor: pointer;
}

.fact-name,
.validate-schema-btn {
  color: #337ab7 !important;
  text-decoration: none;
  cursor: pointer;
}

.fact-name:hover,
.validate-schema-btn:hover {
  color: #23527c;
  text-decoration: underline;
}

.fact-count {
  font-weight: 600;
  color: blue;
  cursor: default;
}

.schema-upto-date {
  font-size: 30px;
  color: #707478;
}

.company-admin-page .align-items-center {
  margin-top: 0 !important;
}

.admin-language-wrapper {
  min-height: 100vh;
}

.language-upload-overlay {
  position: fixed;
  inset: 0;
  z-index: 1060;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: rgba(0, 0, 0, 0.5);
}

.language-upload-dialog {
  width: min(600px, 100%);
  overflow: hidden;
  background: #fff;
  border-radius: 5px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  transform: translateY(-50px);
}

@media (max-height: 600px) {
  .language-upload-dialog {
    transform: translateY(-20px);
  }
}

.language-upload-header,
.language-upload-body,
.language-upload-footer,
.language-confirm-body {
  padding: 15px;
}

.language-upload-header {
  border-bottom: 1px solid #e5e5e5;
}

.language-upload-header h2 {
  margin: 0;
  font-size: 18px;
  font-weight: 500;
}

.language-upload-body label {
  display: block;
  margin-bottom: 8px;
  font-weight: 600;
}

.language-required,
.language-upload-error,
.language-upload-note {
  color: #d9534f;
}

.language-upload-error,
.language-upload-note {
  margin-top: 8px;
  font-size: 13px;
}

.language-upload-footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  border-top: 1px solid #e5e5e5;
}

.language-primary-btn {
  border-color: #f59325 !important;
  background-color: #f59325 !important;
}

.language-secondary-btn {
  border: 1px solid #f59325 !important;
  background: #fff !important;
  color: #f59325 !important;
}

.language-confirm-body {
  padding-top: 35px;
  padding-bottom: 35px;
  text-align: center;
  font-size: 15px;
}

.language-confirm-footer {
  justify-content: center;
}

.branding {
    min-height: 80vh;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.logo-panel {
    background-color: white;
}

.custom-panel-head {
    background: #929292 !important;
    text-transform: uppercase !important;
    color: #fff !important;
    height: 40px !important;
    padding-top: 7px !important;
    padding-left: 10px !important;
    width: 105.5% !important;
    margin-left: -17px !important;
    margin-top: -16px !important;
}

.supported-formats {
    color: red;
    font-weight: bold;
    font-size: 12px;
    text-align: center;
}

.branding-actions-panel {
    background-color: white;
}

.branding-image-box {
    min-height: 100px;
}
.slh-page {
    width: 100%;
}

.slh-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
    margin-bottom: 16px;
}

.slh-filters {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-left: auto;
}

.slh-filter-select,
.slh-search-input {
    width: 220px;
    height: 36px;
}

.slh-panel,
.slh-panel-body,
.slh-sticky-scroll {
    width: 100%;
}

.slh-panel-body {
    padding: 0;
}

.slh-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 220px;
    flex-shrink: 0;
}

.slh-search-input {
    padding-right: 32px;
}

.slh-search-icon {
    position: absolute;
    right: 10px;
    color: #aaa;
    pointer-events: none;
    font-size: 13px;
}

.slh-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: #e9ecef;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #555;
    font-size: 14px;
    line-height: 1;
    width: 20px;
    height: 20px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.slh-search-clear:hover {
    background: #ced4da;
    color: #000;
}

.slh-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.slh-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.slh-sticky-scroll .custom-table > thead.header > tr > th.slh-sortable-header {
    cursor: pointer;
    user-select: none;
}

.slh-sticky-scroll .custom-table > thead.header > tr > th.slh-sortable-header:hover {
    background: #d9d9d9 !important;
}

@media (max-width: 991px) {
    .slh-filters {
        width: 100%;
        margin-left: 0;
        flex-wrap: wrap;
    }
}

@media (max-width: 575px) {
    .slh-filter-select,
    .slh-search-wrapper,
    .slh-search-input {
        width: 100%;
        min-width: 0;
    }
}

.savh-page {
    width: 100%;
}

.savh-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
    margin-bottom: 16px;
}

.savh-panel,
.savh-panel-body,
.savh-sticky-scroll {
    width: 100%;
}

.savh-panel-body {
    padding: 0;
}

.savh-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 220px;
    flex-shrink: 0;
    margin-left: auto;
}

.savh-search-input {
    width: 220px;
    height: 36px;
    padding-right: 32px;
}

.savh-search-icon {
    position: absolute;
    right: 10px;
    color: #aaa;
    pointer-events: none;
    font-size: 13px;
}

.savh-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: #e9ecef;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #555;
    font-size: 14px;
    line-height: 1;
    width: 20px;
    height: 20px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.savh-search-clear:hover {
    background: #ced4da;
    color: #000;
}

.savh-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.savh-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.savh-sticky-scroll .custom-table > thead.header > tr > th.savh-sortable-header {
    cursor: pointer;
    user-select: none;
}

.savh-sticky-scroll .custom-table > thead.header > tr > th.savh-sortable-header:hover {
    background: #d9d9d9 !important;
}

@media (max-width: 575px) {
    .savh-search-wrapper,
    .savh-search-input {
        width: 100%;
        min-width: 0;
    }
}

.mav-page {
    width: 100%;
}

.mav-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
    width: 100%;
    margin-bottom: 16px;
}

.mav-breadcrumb {
    flex: 1;
    min-width: 0;
}

.mav-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 220px;
    flex-shrink: 0;
}

.mav-search-input {
    width: 220px;
    height: 36px;
    padding-right: 32px;
}

.mav-panel,
.mav-panel-body,
.mav-sticky-scroll {
    width: 100%;
}

.mav-panel-body {
    padding: 0;
}

.mav-search-icon {
    position: absolute;
    right: 10px;
    color: #aaa;
    pointer-events: none;
    font-size: 13px;
}

.mav-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: #e9ecef;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #555;
    font-size: 14px;
    line-height: 1;
    width: 20px;
    height: 20px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.mav-search-clear:hover {
    background: #ced4da;
    color: #000;
}

.mav-header-cell {
    cursor: pointer;
    user-select: none;
    white-space: nowrap;
}

.mav-header-cell-disabled {
    cursor: default;
}

.mav-sort-icon {
    margin-left: 4px;
}

.mav-state-cell {
    text-align: center;
    padding: 24px 0;
}

.mav-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.mav-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.mav-sticky-scroll .custom-table > thead.header > tr > th.mav-header-cell:not(.mav-header-cell-disabled):hover {
    background: #d9d9d9 !important;
}

@media (max-width: 575px) {
    .mav-search-wrapper,
    .mav-search-input {
        width: 100%;
        min-width: 0;
    }
}

/* ─── Modal shell / backdrop ─────────────────────────────────────────────────
   This modal is a plain fixed-position overlay (not Bootstrap's JS-driven
   modal instance), so its centering/sizing rules override Bootstrap's default
   `.modal`/`.modal-dialog` styles with !important where needed. */

/* Full-viewport, centered overlay behind the dialog */
.facility-region-information-history-backdrop {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    inset: 0;
    z-index: 1050;
}

.facility-region-information-history-backdrop .modal-dialog {
    max-width: 800px;
    /* Leaves 3.5rem of viewport margin so the dialog never touches the screen edges */
    max-height: calc(100vh - 3.5rem);
    margin: 1.75rem auto !important;
    display: flex;
    flex-direction: column;
    width: 100%;
    transform: translateY(-40px);
}

.facility-region-information-history-backdrop .modal-content {
    display: flex;
    flex-direction: column;
    max-height: calc(100vh - 3.5rem);
    /* Content stays clipped to the dialog's max-height; the body (below) scrolls internally */
    overflow: hidden;
    width: 100% !important;
}

/* Scrollable region for a tall timeline — header stays pinned above it */
.facility-region-information-history-backdrop .modal-body {
    overflow-y: auto;
    flex: 1 1 auto;
    padding: 24px 30px;
}

/* min-width:0 lets the title shrink below its content width in the header's flex
   row, which the ellipsis truncation below needs to actually kick in instead of
   pushing the close button off screen. */
.facility-region-information-history-title {
    margin: 0;
    text-align: left;
    flex: 1;
    min-width: 0;
    font-size: 18px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Centered spinner shown in the body while history is being fetched */
.facility-region-information-history-loader {
    display: flex;
    justify-content: center;
    padding: 24px 0;
}

/* ─── Vertical Timeline ──────────────────────────────────────────────────────
   Single source of truth for horizontal centering:
   every element (line, dot, year pill) is centered at left:50% of this
   wrapper, so they all land on the same pixel column with no offset math. */
.facility-region-information-history-timeline {
    position: relative;
    padding: 16px 0 32px;
}

/* The one continuous vertical line — absolutely positioned, always at 50% */
.facility-region-information-history-timeline-line {
    position: absolute;
    left: 50%;
    top: 0;
    bottom: 0;
    width: 6px;
    border-radius: 4px;
    background: #f5f5f5;
    border: 1px solid rgba(0, 0, 0, .08);
    transform: translateX(-50%);
    z-index: 0;
}

/* ─── Year pill row ──────────────────────────────────────────────────────── */
.facility-region-information-history-year-row {
    position: relative;
    z-index: 2;
    display: flex;
    justify-content: center;
    margin: 16px 0 8px;
}

.facility-region-information-history-year-pill {
    background: #f59325;
    color: #fff;
    font-weight: 700;
    font-size: 14px;
    padding: 6px 22px;
    border-radius: 4px;
    display: inline-block;
    position: relative;
    z-index: 2;
    letter-spacing: 0.5px;
}

/* ─── Event row ──────────────────────────────────────────────────────────── */
/* grid: equal 1fr sides + fixed 20px axis so the axis center = container 50% */
.facility-region-information-history-row {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: 1fr 20px 1fr;
    align-items: center;
    margin: 32px 0;
}

/* min-width:0 allows the long API endpoint text inside (card side) to wrap/ellipsis
   instead of forcing the grid column wider than its 1fr share */
.facility-region-information-history-side {
    display: flex;
    min-width: 0;
}

/* card-left: card on left, date label on right */
.facility-region-information-history-row.card-left .facility-region-information-history-side:first-child {
    justify-content: flex-end;
    padding-right: 28px;
}
.facility-region-information-history-row.card-left .facility-region-information-history-side:last-child {
    justify-content: flex-start;
    padding-left: 28px;
}

/* card-right: date label on left, card on right */
.facility-region-information-history-row.card-right .facility-region-information-history-side:first-child {
    justify-content: flex-end;
    padding-right: 28px;
}
.facility-region-information-history-row.card-right .facility-region-information-history-side:last-child {
    justify-content: flex-start;
    padding-left: 28px;
}

/* ─── Axis cell ──────────────────────────────────────────────────────────── */
.facility-region-information-history-axis {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 3;
}

/* Dot: 20px = same as grid axis column so it fills the column exactly — zero drift */
.facility-region-information-history-dot {
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: #f59325;
    display: block;
    flex-shrink: 0;
    position: relative;
    z-index: 3;
}

/* ─── Date label ─────────────────────────────────────────────────────────── */
.facility-region-information-history-date-label {
    font-size: 14px;
    color: #555;
    white-space: nowrap;
}

/* ─── Card ───────────────────────────────────────────────────────────────── */
.facility-region-information-history-card {
    position: relative;
    background: #fff;
    border: 1px solid #e2e7eb;
    border-radius: 4px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.09);
    padding: 14px 18px;
    width: 100%;
    max-width: 300px;
    text-align: left;
}

/* ─── Notch ─────────────────────────────────────────────────────────────────
   ::after  = outer triangle (border colour)
   ::before = inner triangle (white fill, 1px smaller each side, offset 1px inward)
   top: 50% + translateY(-50%) pins the notch to the card's vertical midpoint,
   which is where the dot sits because the row uses align-items: center.         */

/* LEFT card — notch points RIGHT toward the axis dot */
.card-left .facility-region-information-history-card::after {
    content: '';
    position: absolute;
    right: -10px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 9px 0 9px 10px;
    border-color: transparent transparent transparent #e2e7eb;
    z-index: 1;
}
.card-left .facility-region-information-history-card::before {
    content: '';
    position: absolute;
    right: -8px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 0 8px 9px;
    border-color: transparent transparent transparent #fff;
    z-index: 2;
}

/* RIGHT card — notch points LEFT toward the axis dot */
.card-right .facility-region-information-history-card::after {
    content: '';
    position: absolute;
    left: -10px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 9px 10px 9px 0;
    border-color: transparent #e2e7eb transparent transparent;
    z-index: 1;
}
.card-right .facility-region-information-history-card::before {
    content: '';
    position: absolute;
    left: -8px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 8px 9px 8px 0;
    border-color: transparent #fff transparent transparent;
    z-index: 2;
}

/* ─── Card text ──────────────────────────────────────────────────────────── */
.facility-region-information-history-region {
    font-size: 13px;
    margin-bottom: 6px;
    color: #555;
}

.facility-region-information-history-subtitle {
    font-size: 13px;
    color: #555;
    margin-bottom: 6px;
}

.facility-region-information-history-endpoint {
    font-size: 13px;
    color: #333;
    word-break: normal;
    overflow-wrap: break-word;
}

/* ─── Layout ─────────────────────────────────────────────────────────────── */
.facility-region-information-breadcrumb {
    margin-bottom: 12px;
}

/* ─── Filter panel ───────────────────────────────────────────────────────── */
/* Card look (rounded corners + shadow) so the filter panel reads as a distinct
   surface floating above the page instead of blending into the table below it. */
#facility-region-information-filter {
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

#facility-region-information-filter .custom-panel-heading {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
}

/* White body to match the filter panels on other community-level reports */
#facility-region-information-filter .panel-body {
    background-color: #fff;
    padding: 14px 16px;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
}

/* Search input — search icon shown while empty, clear (x) button shown once text is entered */
.facility-region-information-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 100%;
}

.facility-region-information-search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    font-size: 13px;
    pointer-events: none;
    z-index: 1;
}

.facility-region-information-search-input {
    height: 37px !important;
    width: 100% !important;
    padding-right: 30px;
}

.facility-region-information-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background: none;
    border: none;
    padding: 0;
    color: #888;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    line-height: 1;
}

.facility-region-information-search-clear:hover {
    color: #333;
}

/* ─── Table ──────────────────────────────────────────────────────────────── */
/* Card look, matching the filter panel above (overrides .custom-panel's box-shadow: none) */
.facility-region-information-table-panel {
    border-radius: 4px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08) !important;
}

/* Same horizontal padding as #facility-region-information-filter .panel-body so the table's
   left/right edges line up exactly with the filter panel's edges above it */
.facility-region-information-table-panel .panel-body {
    padding: 0px 0px !important;
}

/* CP Region Id column is fetched/searched/sorted like any other field but is
   not meant to be shown to the user, so it's rendered and then hidden here. */
.facility-region-information-table .facility-region-information-hidden-col {
    display: none;
}

/* Facility id link that opens the migration history modal */
.facility-region-information-history-link {
    cursor: pointer;
    color: #337ab7;
    text-decoration: none;
}

.facility-region-information-history-link:hover {
    color: #23527c;
    text-decoration: underline;
}

/* ─── Sticky table header ────────────────────────────────────────────────── */
/* Overrides the shared .custom-table-responsive scroll container so the table
   scrolls with the page (not in its own inner scrollbox), which lets the
   header below stick relative to the viewport instead of the table itself. */
.facility-region-information-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

/* top:60px clears the fixed site header; z-index:3 keeps header cells above
   the scrolling table body content */
.facility-region-information-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.facility-region-information-sticky-scroll .custom-table > thead.header > tr > th.table_header {
    cursor: default;
}

.facility-region-information-sticky-scroll .custom-table > thead.header > tr > th.table_header .facility-region-information-th-content {
    display: inline-flex;
    align-items: flex-start;
    gap: 4px;
    cursor: pointer;
}

.integration-settings-page {
    width: 100%;
}

.integration-settings-toolbar,
.integration-settings-breadcrumb,
.integration-settings-panel,
.integration-settings-panel-body,
.integration-settings-sticky-scroll {
    width: 100%;
}

.integration-settings-toolbar {
    display: flex;
    align-items: center;
    margin: 0 0 16px;
    padding: 0;
}

.integration-settings-breadcrumb {
    flex: 1;
    min-width: 0;
    margin: 0;
    padding: 0;
}

.integration-settings-panel {
    margin-left: 0;
    margin-right: 0;
}

.integration-settings-table .integration-settings-th-content {
    display: inline-flex;
    align-items: flex-start;
    gap: 4px;
}

.integration-settings-table .integration-settings-th-content > i {
    margin-top: 3px;
}

.integration-settings-table thead.header > tr > th.table_header {
    cursor: default;
}

.integration-settings-table thead.header > tr > th.table_header .integration-settings-th-content {
    cursor: pointer;
}

.integration-settings-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.integration-settings-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.integration-settings-panel-body {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.integration-settings-panel-body .custom-table-responsive,
.integration-settings-panel-body .custom-table {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}
.auto-logout-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 10000;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 12vh;
}

.auto-logout-dialog {
    background: #fff;
    border-radius: 8px;
    width: 90%;
    max-width: 640px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
    z-index: 20001;
}

.auto-logout-header {
    height: 6px;
    background-color: #e9ecef;
}

.auto-logout-body {
    padding: 32px 40px 20px;
    text-align: center;
    font-size: 20px;
}

.auto-logout-attention {
    color: #dc3545;
    font-weight: 600;
    font-size: 20px;
}

.auto-logout-warning-text {
    font-size: 20px;
    color: #333;
}

/* MM:SS timer block */
.auto-logout-timer {
    margin: 0 4px;
    font-size: 20px;
    font-weight: 700;
    color: #f59325;
}

.auto-logout-subtext {
    margin-top: 12px;
    font-size: 20px;
    color: #555;
}

@media (max-width: 480px) {
    .auto-logout-dialog {
        max-width: 100%;
    }

    .auto-logout-body {
        font-size: 16px;
        padding: 24px 20px 16px;
    }

    .auto-logout-attention,
    .auto-logout-warning-text,
    .auto-logout-subtext {
        font-size: 16px;
    }

    .auto-logout-timer {
        font-size: 16px;
    }

    .auto-logout-ok-btn {
        width: 100%;
        font-size: 15px;
    }
}

.auto-logout-footer {
    padding: 12px 32px 24px;
    display: flex;
    justify-content: center;
    border-top: 1px solid #e9ecef;
}

.auto-logout-ok-btn {
    min-width: 120px;
    font-size: 17px;
    padding: 10px 28px;
}

.reset-password-overlay {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 80px;
  background-color: rgba(0, 0, 0, 0.5);
}

.reset-password-dialog {
  width: 100%;
  max-width: 720px;
  margin: 0 16px;
}

.reset-password-content {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  overflow: hidden;
}

.reset-password-body {
  padding: 40px 48px;
}

.reset-password-header {
  text-align: center;
  margin-bottom: 24px;
}

.reset-password-title {
  font-size: 20px;
  font-weight: 700;
  color: #242a30;
  margin: 0 0 8px;
}

.reset-password-warning {
  font-size: 13px;
  color: #c0392b;
  margin: 8px 0 0;
  line-height: 1.5;
}

.reset-password-form {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.reset-password-field {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 12px;
}

.reset-password-label {
  flex: 0 0 160px;
  font-size: 13px;
  font-weight: 600;
  color: #242a30;
  white-space: nowrap;
  margin: 0;
  text-align: right;
}

.reset-password-required {
  color: #c0392b;
  margin-left: 2px;
}

.reset-password-input-wrap {
  width: 100%;
}

.reset-password-input {
  width: 100%;
}

.reset-password-input--error {
  border-color: #c0392b !important;
  box-shadow: 0 0 0 0.15rem rgba(192, 57, 43, 0.2) !important;
}

.reset-password-input--valid {
  border-color: #27ae60 !important;
  box-shadow: 0 0 0 0.15rem rgba(39, 174, 96, 0.2) !important;
}

.reset-password-error {
  font-size: 12px;
  color: #c0392b;
  margin: 4px 0 0;
}

.reset-password-checking {
  font-size: 12px;
  color: #888;
  margin: 4px 0 0;
}

.reset-password-server-error {
  font-size: 13px;
  color: #c0392b;
  text-align: center;
  margin: 4px 0 0;
}

.reset-password-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  margin-top: 8px;
}

.reset-password-cancel {
  min-width: 90px;
}

.reset-password-submit {
  min-width: 140px;
}

.dashboard.no-sidebar .main-content {
  margin-left: 0 !important;
  width: 100% !important;
}

.dashboard.no-sidebar .main-content.collapsed {
  margin-left: 0 !important;
  width: 100% !important;
}

.content-area {
  flex: 1;
  min-height: 100vh;
}

.main-content {
  background: #F4F4F4;
  flex: 1;
  margin-left: 220px;
  width: calc(100% - 220px);
  min-height: 100vh;
  padding: 1rem;
  margin-top: 60px;
  display: flex;
  flex-direction: column;
  transition: margin-left 0.3s ease, width 0.3s ease;
}

.main-content.collapsed {
  margin-left: 70px;
  width: calc(100% - 70px);
  transition: margin-left 0.3s ease, width 0.3s ease;
  padding: 1rem;
}

.app-footer {
  background: #ffffff;
  border: none;
  border-radius: 0;
  position: fixed;
  right: 0;
  left: 0;
  bottom: 0;
  box-shadow: 0 0 2px rgba(0, 0, 0, .3);
  z-index: 1020;
}

.logo-wrapper {
  padding: 20px;
  border-bottom: 1px solid #ddd;
  background-color: #fff;
  position: sticky;
  top: 0;
  z-index: 10;
}

.sidebar nav {
  flex: 1;
  overflow-y: auto;
  position: relative;
}

.sidebar.collapsed nav {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.sidebar.collapsed nav::-webkit-scrollbar {
  display: none;
}

.sidebar nav::-webkit-scrollbar {
  width: 5px;
  height: 50px;
}

.sidebar nav::-webkit-scrollbar-thumb {
  background: #707478;
  opacity: 0.4;
  border-radius: 7px;
}

.sidebar nav::-webkit-scrollbar-track {
  background: transparent;
}

.logo {
  padding: 10px;
  text-align: center;
}

.menu-scroll {
  flex-grow: 1;
  overflow-y: auto;
}

@media (max-width: 767px) {
  .dashboard {
    flex-direction: column;
  }
  
  .main-content {
    margin-top: 90px;
    margin-left: 0;
    width: 100%;
  }

  .sidebar {
    position: relative;
    width: 100%;
    height: auto;
    border-bottom: 1px solid #e0e0e0;
  }

  .content-area {
    margin-left: 0;
    width: 100%;
  }

  .main-content {
    margin-left: 0;
    width: 100%;
    padding: 1rem;
  }

  .app-footer {
    position: relative;
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

/* iPad Mini and iPad Air - Fix content positioning and scrolling */
@media (min-width: 768px) and (max-width: 1024px) {
  .dashboard {
    overflow-y: auto;
  }

  .main-content {
    margin-left: 220px;
    width: calc(100% - 220px);
    overflow-y: auto;
  }

  .main-content.collapsed {
    margin-left: 70px;
    width: calc(100% - 70px);
  }

  .content-area {
    min-height: 100vh;
    height: auto;
    overflow-y: auto;
  }
}

@media (min-width: 1024px) {
  .main-content {
    margin-left: 220px;
  }

  .main-content.collapsed {
    margin-left: 70px;
    width: calc(100% - 70px);
  }
}
.map-canvas-wrapper {
  position: relative;
  width: 100%;
  height: 500px;
}

.map-canvas-surface {
  width: 100%;
  height: 100%;
}

.map-canvas-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 255, 255, 0.85);
}

.map-canvas-error {
  color: #a94442;
  font-size: 14px;
  text-align: center;
  padding: 0 16px;
}

.search-form {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 8px;
}

.search-form-fields {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.search-form-input {
  flex: 1 1 calc(50% - 4px);
  min-width: 180px;
  height: 38px;
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 14px;
  color: #555;
}

.search-form-input:focus {
  outline: none;
  border-color: #f59325;
  box-shadow: 0 0 0 0.15rem rgba(245, 147, 37, 0.2);
}

.search-form-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
}

.search-form-sort-label {
  color: #707478;
  font-size: 14px;
  font-weight: 700;
  margin: 0;
}

.search-form-select {
  height: 38px;
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 14px;
  color: #555;
}

.search-form-select:focus {
  outline: none;
  border-color: #f59325;
  box-shadow: 0 0 0 0.15rem rgba(245, 147, 37, 0.2);
}

.search-form-controls .custom-button {
  min-width: 164px;
}

.results-table-scroll {
  max-height: 455px;
  overflow-y: auto;
  overflow-x: auto;
}

.results-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.results-table thead th {
  position: sticky;
  top: 0;
  z-index: 2;
  background: #e6e6e6;
  color: #565656;
  font-weight: 600;
  text-align: left;
  padding: 8px 10px;
  white-space: nowrap;
  border: none;
}

.results-table tbody td {
  border: none;
  color: #707478;
  padding: 8px 10px;
  vertical-align: top;
}

.results-table tbody tr:hover td {
  background: #eaeaea;
  cursor: pointer;
}

.results-table-status {
  text-align: center;
  color: #707478;
  padding: 24px 8px;
}

.results-table-name {
  padding: 0;
  border: none;
  background: none;
  color: #4071c6;
  font-size: 14px;
  text-align: left;
  cursor: pointer;
  text-decoration: underline;
}

.results-table-name:hover {
  color: #2a4f8f;
}

.account-map-view {
  padding: 16px;
}

.account-map-body {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  margin-top: 12px;
}

.account-map-left {
  flex: 1 1 55%;
  min-width: 320px;
}

.account-map-right {
  flex: 1 1 40%;
  min-width: 320px;
  display: flex;
  flex-direction: column;
  border: 1px solid #ccc;
  background: #fff;
  padding: 12px;
  border-radius: 4px;
}

.account-map-warning {
  color: #a94442;
  font-size: 14px;
  margin: 4px 0;
}

.account-map-note {
  font-size: 13px;
  color: #707478;
  margin-top: auto;
  padding-top: 8px;
}

.tempo-search-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  background: #fff;
  padding: 12px;
  border-radius: 4px;
}

.tempo-search-input {
  flex: 1 1 200px;
  min-width: 200px;
  height: 38px;
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 14px;
  color: #555;
  box-sizing: border-box;
}

.tempo-search-input-wide {
  flex: 1 1 240px;
  min-width: 240px;
}

.tempo-search-input:focus {
  outline: none;
  border-color: #f59325;
  box-shadow: 0 0 0 0.15rem rgba(245, 147, 37, 0.2);
}

.tempo-search-submit {
  min-width: 120px;
  height: 38px;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1;
  box-sizing: border-box;
}

.tempo-table-scroll {
  overflow-x: auto;
  width: 100%;
}

.tempo-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.tempo-table thead th {
  background: #e6e6e6;
  color: #565656;
  font-weight: 600;
  text-align: left;
  padding: 8px 10px;
  white-space: nowrap;
  border: none;
}

.tempo-table tbody td {
  border: none;
  background: #fff;
  color: #707478;
  padding: 8px 10px;
  vertical-align: top;
}

.tempo-table tbody tr:hover td {
  background: #eaeaea;
}

.tempo-table-sort {
  margin-left: 6px;
  color: #999;
  cursor: pointer;
}

.tempo-table-status {
  text-align: center;
  background: #fff;
  color: #707478;
  padding: 24px 8px;
}

.tempo-table-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.tempo-table-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: #888;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

.tempo-table-action:hover {
  color: #555;
}

.tempo-table-action-sep {
  color: #cccccc;
  user-select: none;
}

.tempo-table-action-img {
  width: 18px;
  height: 18px;
  display: block;
}


.tempo-wearers {
  padding: 16px;
}

.tempo-wearers-body {
  margin-top: 12px;
}

.tempo-wearers-filter {
  display: flex;
  justify-content: flex-end;
  margin: 12px 0;
}

.tempo-wearers-filter-select {
  width: 220px;
  height: 38px;
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 14px;
  color: #555;
}

.tempo-wearers-filter-select:focus {
  outline: none;
  border-color: #f59325;
  box-shadow: 0 0 0 0.15rem rgba(245, 147, 37, 0.2);
}

.carecircle-search-form {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  background: #fff;
  padding: 12px;
  border-radius: 4px;
}

.carecircle-search-input {
  flex: 1 1 200px;
  min-width: 200px;
  height: 38px;
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 14px;
  color: #555;
  box-sizing: border-box;
}

.carecircle-search-input-wide {
  flex: 1 1 240px;
  min-width: 240px;
}

.carecircle-search-input:focus {
  outline: none;
  border-color: #f59325;
  box-shadow: 0 0 0 0.15rem rgba(245, 147, 37, 0.2);
}

.carecircle-search-submit {
  min-width: 120px;
  height: 38px;
  padding-top: 0;
  padding-bottom: 0;
  line-height: 1;
  box-sizing: border-box;
}

.carecircle-table-scroll {
  overflow-x: auto;
  width: 100%;
}

.carecircle-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}

.carecircle-table thead th {
  background: #e6e6e6;
  color: #565656;
  font-weight: 600;
  text-align: left;
  padding: 8px 10px;
  white-space: nowrap;
  border: none;
}

.carecircle-table tbody td {
  border: none;
  background: #fff;
  color: #707478;
  padding: 8px 10px;
  vertical-align: top;
}

.carecircle-table tbody tr:hover td {
  background: #eaeaea;
}

.carecircle-table-sort {
  margin-left: 6px;
  color: #999;
  cursor: pointer;
}

.carecircle-table-status {
  text-align: center;
  background: #fff;
  color: #707478;
  padding: 24px 8px;
}

.carecircle-table-actions {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}

.carecircle-table-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  background: transparent;
  color: #888;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

.carecircle-table-action:hover {
  color: #555;
}

.carecircle-table-action-sep {
  color: #cccccc;
  user-select: none;
}

.carecircle-table-action-img {
  width: 18px;
  height: 18px;
  display: block;
}

.carecircle-members {
  padding: 16px;
}

.carecircle-members-body {
  margin-top: 12px;
}

.carecircle-members-filter {
  display: flex;
  justify-content: flex-end;
  margin: 12px 0;
}

.carecircle-members-filter-select {
  width: 220px;
  height: 38px;
  padding: 6px 10px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 14px;
  color: #555;
}

.carecircle-members-filter-select:focus {
  outline: none;
  border-color: #f59325;
  box-shadow: 0 0 0 0.15rem rgba(245, 147, 37, 0.2);
}

.tempo-trend-chart {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1 1 calc(50% - 24px);
  min-width: 280px;
}

.tempo-trend-canvas {
  width: 100%;
  max-width: 760px;
  height: 380px;
}

.tempo-trend-caption {
  margin-top: 24px;
  padding: 6px 14px;
  background-color: #f59325;
  color: #fff;
  font-size: 13px;
  border-radius: 4px;
  text-align: center;
  white-space: nowrap;
}

.tempo-stats {
  padding: 16px;
}

.tempo-stats-trends {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 12px;
}

.tempo-stats-trend-link {
  padding: 0;
  border: none;
  background: none;
  color: #f59325;
  font-size: 14px;
  cursor: pointer;
}

.tempo-stats-trend-link:hover {
  text-decoration: underline;
}

.tempo-stats-trend-divider {
  color: #999;
}

.tempo-stats-divider {
  margin: 12px 0 24px;
  border: none;
  border-top: 1px solid #e0e0e0;
}

.tempo-stats-charts {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 48px;
  min-height: 400px;
  padding: 32px;
  background-color: #fff;
  border-radius: 6px;
}

.tempo-stats-message {
  padding: 24px 0;
  color: #707478;
  font-size: 14px;
  text-align: center;
}

.tempo-stats-error {
  color: #d9534f;
}

#institution-form .institution-form-card {
  border: 1px solid #d9dee3;
  border-radius: 3px;
  background: #fff;
  box-shadow: none;
}

#institution-form .card-header {
  min-height: 42px;
  padding: 11px 15px;
  border-radius: 2px 2px 0 0;
  background: #6c757d !important;
  font-size: 14px;
  font-weight: 600;
}

#institution-form .card-body {
  padding: 20px;
  background: #fff;
}

#institution-form .col-form-label {
  color: #555;
  font-size: 13px;
  font-weight: 600;
  text-align: end;
}

#institution-form .form-control,
#institution-form .form-select {
  min-height: 38px;
  font-size: 14px;
}

#institution-form .form-control:focus,
#institution-form .form-select:focus {
  border-color: #f59325;
  box-shadow: 0 0 0 0.15rem rgba(245, 147, 37, 0.2);
}

#institution-form .institution-branding-preview {
  display: block;
  width: auto;
  max-width: 100%;
  height: 72px;
  margin-bottom: 10px;
  object-fit: contain;
  object-position: left center;
}

#institution-form .institution-manager-table thead th {
  background: #e6e6e6;
  color: #555;
  font-size: 13px;
}

#institution-form .institution-manager-actions {
  display: flex;
  gap: 14px;
}

#institution-form .institution-manager-actions button {
  padding: 0;
  border: 0;
  background: transparent;
  color: #337ab7;
  cursor: pointer;
}

#institution-form .institution-manager-invite-row {
  display: flex;
  justify-content: flex-end;
  margin-top: 6px;
}

#institution-form .institution-form-actions {
  display: flex;
  justify-content: center;
  gap: 10px;
  padding-top: 4px;
}

#institution-form .institution-primary-button,
#institution-form .institution-secondary-button {
  border-color: #f59325;
  background: #f59325;
  color: #fff;
}

#institution-form .institution-primary-button:hover,
#institution-form .institution-secondary-button:hover {
  border-color: #df8119;
  background: #df8119;
  color: #fff;
}

#institution-form .institution-cancel-button {
  border-color: #6c757d;
  background: #fff;
  color: #495057;
}

#institution-form .institution-cancel-button:hover {
  background: #6c757d;
  color: #fff;
}

@media (max-width: 575px) {
  #institution-form .col-form-label {
    margin-bottom: 5px;
    text-align: start;
  }

  #institution-form .card-body {
    padding: 16px;
  }
}

#institution-form .institution-model-options .form-check {
  display: flex;
  align-items: center;
  min-height: 38px;
  gap: 10px;
}

#institution-form .form-check-input {
  width: 16px;
  height: 16px;
  margin-top: 0;
  border-color: #6c757d;
  cursor: pointer;
}

#institution-form .form-check-input:checked {
  border-color: #0d6efd;
  background-color: #0d6efd;
}

#institution-form .form-check-input:disabled,
#institution-form .form-check-input:disabled + .form-check-label {
  cursor: not-allowed;
}

#institution-form .form-control:disabled,
#institution-form .form-select:disabled {
  cursor: not-allowed;
}

#institution-form .form-check-label {
  cursor: pointer;
}

#institution-form .institution-branding-field + .institution-branding-field {
  margin-top: 22px;
  padding-top: 22px;
  border-top: 1px solid #e5e5e5;
}

#institution-form .institution-image-control {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px;
}

#institution-form .institution-branding-preview {
  width: 180px;
  height: 100px;
  object-fit: contain;
  object-position: left center;
}

#institution-form .institution-file-name {
  color: #555;
  font-size: 13px;
  overflow-wrap: anywhere;
}

#institution-form .institution-branding-note {
  margin: 18px 0 0;
  color: #222;
  font-size: 14px;
  line-height: 1.45;
}

#institution-form .institution-file-warning {
  margin: 4px 0 0;
  color: #ff5b57;
  font-size: 13px;
  font-weight: 700;
  text-align: center;
}

#institution-form .institution-invite-manager-row,
#institution-form .institution-manager-form-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

#institution-form .institution-manager-summary {
  margin-bottom: 14px;
}

#institution-form .institution-manager-form {
  padding-top: 4px;
}

#institution-form .institution-manager-error {
  margin: 10px 0 0;
  color: #dc3545;
  font-size: 13px;
  text-align: center;
}

#institution-form .institution-outline-button,
#institution-form .institution-cancel-button {
  border: 1px solid #f59325;
  background: #fff;
  color: #f59325;
}

#institution-form .institution-outline-button:hover,
#institution-form .institution-cancel-button:hover {
  background: #f59325;
  color: #fff;
}

#institution-form .institution-branding-field .col-form-label {
  text-align: left;
}

#institution-form.was-validated .form-control:invalid,
#institution-form.was-validated .form-control:valid {
  padding-right: 0.75rem;
  background-image: none;
}

#institution-form.was-validated .form-select:invalid,
#institution-form.was-validated .form-select:valid {
  padding-right: 2.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
}

#institution-form.was-validated .form-control:valid,
#institution-form.was-validated .form-select:valid {
  border-color: #ced4da;
  box-shadow: none;
}

/* No red exclamation/danger icon on invalid inputs */
#institution-form .form-control.is-invalid,
#institution-form.was-validated .form-control.is-invalid {
  padding-right: 0.75rem;
  background-image: none;
}

/* Keep only the dropdown caret (no danger icon) on invalid selects */
#institution-form .form-select.is-invalid,
#institution-form.was-validated .form-select.is-invalid {
  padding-right: 2.25rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
}

#institution-form .institution-manager-error-above {
  margin: 0 0 10px;
}

#institution-form .institution-file-required {
  flex-basis: 100%;
  color: #dc3545;
  font-size: 0.875em;
}

#institution-form .institution-uploading {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #6c757d;
  font-size: 13px;
}

#institution-form .institution-branding-preview-column {
  display: flex;
  align-items: center;
}

#institution-form .institution-branding-preview-column .institution-branding-preview {
  width: 100%;
  max-width: 140px;
  height: 80px;
  margin: 0;
  object-fit: contain;
}

#institution-form button:disabled,
#institution-form input:disabled,
#institution-form select:disabled {
  cursor: not-allowed;
}

/* Keep the "In this Institution" radio labels and inputs neutral when the form is validated */
#institution-form.was-validated .form-check-input:valid,
#institution-form.was-validated .form-check-input:valid:checked {
  border-color: #6c757d;
}

#institution-form.was-validated .form-check-input:valid:checked {
  border-color: #0d6efd;
  background-color: #0d6efd;
}

#institution-form.was-validated .form-check-input:valid ~ .form-check-label,
#institution-form.was-validated .form-check-label {
  color: #555;
}
.logged-out-device-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1060;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 12vh;
}

.logged-out-device-dialog {
    background: #fff;
    border-radius: 8px;
    width: 90%;
    max-width: 640px;
    overflow: hidden;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.2);
}

.logged-out-device-header {
    height: 6px;
    background-color: #e9ecef;
}

.logged-out-device-body {
    padding: 32px 40px 20px;
    text-align: center;
    font-size: 20px;
}

.logged-out-device-message {
    font-size: 20px;
    color: #333;
}

.logged-out-device-footer {
    padding: 12px 40px 24px;
    display: flex;
    justify-content: center;
}

.logged-out-device-ok-btn {
    min-width: 80px;
}

@media (max-width: 480px) {
    .logged-out-device-dialog {
        max-width: 100%;
    }

    .logged-out-device-body {
        padding: 24px 20px 16px;
        font-size: 16px;
    }

    .logged-out-device-message {
        font-size: 16px;
    }
}

.unified-time-container {
    background: #f4f4f4 !important;
    border-radius: 8px;
    width: 680px;
    max-width: 96vw;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.unified-time-header {
    padding: 10px 20px;
    background: #f4f4f4;
    border-bottom: none;
    display: flex;
    align-items: center;
    gap: 12px;
}

.unified-time-header-title {
    flex: 1;
    text-align: center;
    font-size: 16px;
    font-weight: 600;
    color: #333;
}

.unified-back-btn {
    background: transparent;
    border: none;
    border-radius: 6px;
    padding: 10px 24px;
    font-size: 15px;
    font-weight: 600;
    color: #6c757d;
    cursor: pointer;
    flex-shrink: 0;
    white-space: nowrap;
    transition: color 0.15s;
}

.unified-back-btn:hover {
    color: #495057;
}

.unified-time-container .unifiedmodal-body {
    padding-top: 8px;
}

.unified-resident-block {
    background: #fff;
    border: 1px solid #e9ecef;
    border-radius: 12px;
    margin-bottom: 10px;
    overflow: hidden;
}

.unified-resident-block .unified-resident-header {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    background: #fff;
    cursor: pointer;
    user-select: none;
    border-radius: 12px;
    transition: background 0.15s;
}

.unified-resident-block .unified-resident-header:hover {
    background: #f9f9f9;
}

.unified-resident-block .unified-resident-info {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
    min-width: 0;
}

.unified-resident-block .unified-resident-name {
    display: block;
    font-size: 14px;
    font-weight: 600;
    color: #222;
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.unified-resident-suite {
    display: block;
    font-size: 12px;
    color: #888;
    line-height: 1.2;
}

.unified-resident-time-body {
    padding: 4px 16px 14px;
    border-top: 1px solid #f0f0f0;
}

.unified-time-item {
    padding: 12px 0;
    border-bottom: 1px solid #efefef;
    display: block;
}

.unified-time-item:last-child {
    border-bottom: none;
}

.unified-header-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.unified-assist-header {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.unified-scheduled-time-top {
    font-size: 11px;
    color: #888;
    margin-bottom: 2px;
}

.unified-assist-type-row {
    display: flex;
    align-items: center;
    gap: 6px;
}

.unified-assist-type {
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

.unified-info-icon {
    font-size: 18px;
    color: #f59325;
    cursor: default;
    line-height: 1;
    flex-shrink: 0;
}

.unified-time-diff {
    font-size: 12px;
    font-weight: 600;
    display: none;
    margin-top: 2px;
}

.unified-time-diff.visible {
    display: inline-block;
}

.unified-time-diff.plus  { color: #28a745; }
.unified-time-diff.minus { display: none !important; }

.unified-time-row {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
}

.unified-time-btn {
    width: 30px;
    height: 30px;
    border: 1px solid #ced4da;
    border-radius: 50%;
    background: #f0f0f0;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
    transition: background 0.12s;
}

.unified-time-btn:hover {
    background: #e9ecef;
    color: #222;
}

.unified-minutes {
    width: 52px;
    height: 30px;
    text-align: center;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 14px;
    padding: 0 4px;
    outline: none;
}

.unified-minutes:focus {
    border-color: #f78b1f;
    box-shadow: 0 0 0 2px rgba(247, 139, 31, 0.2);
}

.unified-minutes.error {
    border-color: #dc3545;
}

.unified-min-label {
    font-size: 12px;
    color: #888;
}

.unified-instructions {
    font-size: 13px;
    color: #555;
    margin-top: 6px;
    font-style: italic;
}

.unified-outcome {
    margin-top: 8px;
}

.unified-outcome-select {
    width: 100%;
    padding: 6px 10px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 13px;
    outline: none;
}

.unified-outcome-select:focus {
    border-color: #f78b1f;
    box-shadow: 0 0 0 2px rgba(247, 139, 31, 0.2);
}

.unified-outcome-select.unified-outcome-select-error {
    border-color: #dc3545;
}

.unified-notes {
    margin-top: 8px;
}

.unified-freeform {
    width: 100%;
    padding: 6px 10px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 13px;
    resize: vertical;
    outline: none;
    min-height: 64px;
}

.unified-freeform:focus {
    border-color: #f78b1f;
    box-shadow: 0 0 0 2px rgba(247, 139, 31, 0.2);
}

.unified-freeform.freeform-error {
    border-color: #dc3545;
}

.unified-total-time {
    background: #f7f7f7;
    border-radius: 8px;
    padding: 14px 16px;
    margin-top: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.time-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.unified-total-time-label {
    font-size: 13px;
    color: #555;
    font-weight: 500;
}

.unified-total-time-value {
    font-size: 13px;
    font-weight: 600;
    color: #333;
}

.unifiedmodal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1060;
    display: flex;
    align-items: center;
    justify-content: center;
}

.unifiedmodal-container {
    background: #fff;
    border-radius: 8px;
    width: 560px;
    max-width: 95vw;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.unifiedmodal-header {
    padding: 16px 24px;
    border-bottom: 1px solid #e9ecef;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.unified-popup-title {
    font-size: 18px;
    font-weight: 600;
    color: #333;
    flex: 1;
}

.unified-popup-close {
    font-size: 22px;
    line-height: 1;
    color: #888;
    cursor: pointer;
    padding: 0 2px;
    flex-shrink: 0;
    background: none;
    border: none;
    transition: color 0.15s;
}

.unified-popup-close:hover {
    color: #333;
}

.unifiedmodal-body {
    padding: 20px 20px;
    overflow-y: auto;
    flex: 1;
}

.unifiedmodal-footer {
    padding: 12px 24px 20px;
    border-top: 1px solid #e9ecef;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.unified-btn {
    width: 100%;
    padding: 10px 24px;
    background-color: #f59325;
    color: #fff;
    border: none;
    border-radius: 4px;
    font-size: 15px;
    cursor: pointer;
}

.unified-btn.disabled,
.unified-btn:disabled {
    background-color: #ccc;
    cursor: not-allowed;
}

.unified-error {
    color: #dc3545;
    font-size: 13px;
    text-align: center;
}

/* ─── Other Residents Modal ─────────────────────────────────────────────────── */

.unifiedmodal-box {
    background: #fff;
    border-radius: 8px;
    width: 480px;
    max-width: 95vw;
    max-height: 80vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.unifiedmodal-header {
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    color: #f78b1f;
    font-weight: 600;
    font-size: 16px;
}

.unifiedmodal-header .unifiedmodal-close {
    position: absolute;
    right: 16px;
}

.unifiedmodal-close {
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: #666;
    padding: 0 4px;
}

.unifiedmodal-close:hover {
    color: #333;
}

.unifiedmodal-search {
    padding: 12px 24px 0;
}

.unified-search-input {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 14px;
    outline: none;
}

.unified-search-input:focus {
    border-color: #f78b1f;
    box-shadow: 0 0 0 2px rgba(247, 139, 31, 0.25);
}

.unified-resident-selectable {
    cursor: pointer;
}

.unified-resident-selectable:hover {
    background-color: #ebebeb;
}

.unified-no-residents {
    padding: 20px 0;
    text-align: center;
    color: #888;
    font-size: 14px;
}

/* ─── Option rows ────────────────────────────────────────────────────────────── */

.unified-row-wrapper {
    padding: 6px 0;
    border-bottom: 1px solid #f0f0f0;
}

.unified-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
}

.unified-row-left {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 1;
}

.unified-row-right {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    flex-shrink: 0;
}

.unified-row-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.unified-row-icon-care {
    width: 30px;
    height: 30px;
}

.unified-label-text {
    font-size: 14px;
    font-weight: 500;
    color: #333;
}

.assistance-type-label {
    color: #555;
    font-size: 13px;
}

.option_care {
    font-size: 14px;
    color: #333;
    cursor: pointer;
    margin: 0;
}

.option_care:hover {
    color: #f58220;
}

.unified-row-left label:not(.unified-label-text):not(.option_care) {
    cursor: pointer;
}

.unified-row-left label:not(.unified-label-text):not(.option_care):hover {
    color: #f58220;
}

.unified-scheduled {
    font-size: 12px;
    color: #888;
    margin-top: 2px;
}

/* Button-type option */
.unified-button-option {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding-left: 20px;
    padding-right: 12px;
}

.unified-option-btn {
    padding: 5px 14px;
    border: 1px solid #f59325;
    border-radius: 4px;
    background: #f59325;
    color: #fff;
    font-size: 13px;
    cursor: pointer;
    transition: background 0.15s, border-color 0.15s;
    flex-shrink: 0;
}

.unified-option-btn:hover {
    background: #e07d0a;
    border-color: #e07d0a;
    color: #fff;
}

.unified-option-btn.active {
    border-color: #d4800f;
    color: #fff;
}

/* Suboptions — smooth slide via max-height transition */
.unified-suboptions {
    max-height: 0;
    overflow: hidden;
    padding-left: 20px;
    border-left: 3px solid #f59325;
    border-radius: 0 0 4px 4px;
    transition: max-height 0.25s ease, padding 0.25s ease;
    padding-top: 0;
    padding-bottom: 0;
}

.unified-suboptions.unified-suboptions-open {
    max-height: 600px;
    padding-top: 6px;
    padding-bottom: 6px;
}

.unified-suboption-title {
    font-size: 13px;
    font-weight: 600;
    color: #555;
    margin-bottom: 4px;
}

/* Freeform text */
.unified-freeform {
    width: 100%;
    margin-top: 6px;
    padding: 5px 10px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    font-size: 13px;
    outline: none;
}

.unified-freeform:focus {
    border-color: #f78b1f;
    box-shadow: 0 0 0 2px rgba(247, 139, 31, 0.2);
}

/* Label-only row */
.unified-label-only .unified-row {
    background: #f8f9fa;
    padding: 4px 8px;
    border-radius: 4px;
}

/* custom checkbox & radio — styled with white checkmark on orange bg */
.unified-row-left input[type="checkbox"],
.unified-row-left input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border: 2px solid #bbb;
    border-radius: 3px;
    background: #fff;
    flex-shrink: 0;
    cursor: pointer;
    position: relative;
}

.unified-row-left input[type="radio"] {
    border-radius: 50%;
}

.unified-row-left input[type="checkbox"]:checked,
.unified-row-left input[type="radio"]:checked {
    background-color: #f59325;
    border-color: #f59325;
}

.unified-row-left input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 3px;
    top: 0px;
    width: 5px;
    height: 9px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

.unified-row-left input[type="radio"]:checked::after {
    content: "";
    position: absolute;
    inset: 0;
    margin: auto;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
}

/* unified-selected — row that has a checked input */
.unified-row-wrapper.unified-selected {
    background-color: #f2f2f2;
    border-radius: 3px;
}

/* Sub-option rows inside an open parent also get the selected background */
.unified-suboptions.unified-suboptions-open .unified-row-wrapper {
    background-color: #f2f2f2;
    border-radius: 3px;
}

/* ─── Section block ──────────────────────────────────────────────────────────── */

.unified-section {
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    margin-bottom: 10px;
    overflow: hidden;
}

.unified-section-header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 12px 16px;
    background: #f8f9fa;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s;
}

.unified-section-header:hover {
    background: #eef0f3;
}

.unified-section-icon {
    width: 24px;
    height: 24px;
    object-fit: contain;
    flex-shrink: 0;
}

.unified-section-title {
    flex: 1;
    font-size: 15px;
    font-weight: 600;
    color: #333;
}

.unified-section-body {
    max-height: 0;
    overflow: hidden;
    background: #fff;
    transition: max-height 0.28s ease, padding 0.28s ease;
    padding: 0 12px;
}

.unified-section-body.unified-section-body-open {
    max-height: 2000px;
    padding: 8px 12px 12px;
}

.unified-option-title {
    font-size: 13px;
    font-weight: 600;
    color: #555;
    padding: 6px 0 4px;
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 6px;
}

/* ─── Resident block ─────────────────────────────────────────────────────────── */

.unified-resident-section {
    border: 1px solid #e9ecef;
    border-radius: 5px;
    margin-bottom: 6px;
    overflow: hidden;
}

.unified-resident-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 10px 14px;
    background: #fafafa;
    cursor: pointer;
    user-select: none;
    transition: background 0.15s;
}

.unified-resident-header:hover {
    background: #ebebeb;
}

.unified-resident-info {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 1;
}

.unified-avatar {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 1px solid #dee2e6;
}

.unified-avatar-empty {
    object-fit: contain;
    padding: 5px;
    background: #f1f3f5;
}

.unified-resident-initials {
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #6c757d;
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.unified-other-avatar {
    background: #c6c6c6;
    font-size: 22px;
    font-weight: 400;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
}

.unified-resident-name {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: #333;
    line-height: 1.3;
}

.unified-resident-room {
    display: block;
    font-size: 12px;
    color: #888;
    line-height: 1.2;
}

.unified-resident-body {
    max-height: 0;
    overflow: hidden;
    background: #fff;
    border-top: 0px solid #f0f0f0;
    transition: max-height 0.28s ease, padding 0.28s ease, border-top-width 0.28s ease;
    padding: 0 14px;
}

.unified-resident-body.unified-resident-body-open {
    max-height: 1200px;
    padding: 6px 14px 10px;
    border-top-width: 1px;
}

/* ─── Arrow chevron ──────────────────────────────────────────────────────────── */

.unified-arrow {
    font-size: 13px;
    color: #888;
    transition: transform 0.2s;
    display: inline-block;
    margin-left: 8px;
    flex-shrink: 0;
}

/* Main popup: open = rotated 90deg (points right→down) */
.unified-arrow.open {
    transform: rotate(90deg);
}

/* Time modal: default open = points down (270deg), closed = points right (0deg) */
.unified-arrow.arrow-down {
    transform: rotate(90deg);
}

/* ─── Edit resident icon ─────────────────────────────────────────────────────── */

.edit-resident {
    font-size: 16px;
    cursor: pointer;
    margin-right: 4px;
    flex-shrink: 0;
}

/* ─── Modal body (Other Residents) ──────────────────────────────────────────── */

.unifiedmodal-box .unifiedmodal-body {
    padding: 12px 16px;
    overflow-y: auto;
    flex: 1;
}

.unified-row.suboption-row {
    border-radius: 4px;
    padding: 4px 6px;
}

.unified-row.suboption-row label {
    font-size: 14px;
    font-weight: 400;
    color: #444;
    cursor: pointer;
}

.unified-row.suboption-row label:hover {
    color: #f58220;
}

/* ─── Responsive ─────────────────────────────────────────────────────────────── */

@media (max-width: 600px) {
    .unifiedmodal-container {
        width: 100%;
        max-width: 100vw;
        border-radius: 0;
        max-height: 100vh;
    }

    .unifiedmodal-box {
        width: 100%;
        max-width: 100vw;
    }

    .unified-resident-header {
        padding: 8px 10px;
    }
}
/* FallCompletePopupV2 — overlay backdrop */
.fall-complete-v2-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
}

/* Modal wrapper */
.fall-complete-v2-modal {
    position: relative;
    width: 100%;
}

/* Header */
.fall-complete-v2-header {
    border-bottom: none !important;
}

/* Close button */
.fall-complete-v2-close {
    float: right;
    font-size: 1.5rem;
    background: transparent;
    border: none;
    cursor: pointer;
}

/* Fall type radio rows */
.fall-complete-v2-fall-type-row {
    display: block;
    clear: both;
}

/* Assistance radio rows */
.fall-complete-v2-assist-row {
    display: block;
    clear: both;
}

/* Section heading */
.fall-complete-v2-section-heading {
    font-weight: 600;
    line-height: 1.5;
}

/* Assistance section container */
.fall-complete-v2-section {
    margin-top: 1rem;
}

/* Free-form text container */
.fall-complete-v2-freeform {
    display: inline-block;
    width: 91.66%;
    margin-top: 0.25rem;
    margin-left: 1.25rem;
}

/* Free-form text input */
.fall-complete-v2-freeform-input {
    width: 100%;
}

/* Medical attention row wrapper */
.fall-complete-v2-medical-row {
    display: flex;
    flex-wrap: wrap;
    margin-top: 0.5rem;
}

/* Footer */
.fall-complete-v2-footer {
    border: none !important;
}

/* ExternalCompletePopup — overlay backdrop */
.ext-complete-popup-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
}

/* Modal wrapper */
.ext-complete-popup-modal {
    position: relative;
    width: 100%;
}

/* Header */
.ext-complete-popup-header {
    border-bottom: none !important;
}

/* Close button */
.ext-complete-popup-close {
    float: right;
    font-size: 1.5rem;
    background: transparent;
    border: none;
    cursor: pointer;
}

/* Item row */
.ext-complete-popup-item-row {
    display: block;
    clear: both;
}

/* Free-form text container */
.ext-complete-popup-freeform {
    display: inline-block;
    width: 91.66%;
    margin-top: 0.25rem;
    margin-left: 1.25rem;
}

/* Free-form input */
.ext-complete-popup-freeform-input {
    width: 100%;
}

/* Bed-pad section spacing */
.ext-complete-popup-bedpad-section {
    margin-bottom: 1rem;
}

/* Footer */
.ext-complete-popup-footer {
    border: none !important;
}

.ext-complete-popup-validation-msg {
    color: #dc3545;
    font-size: 13px;
    margin-bottom: 8px;
}

/* NoMovementCompletePopupV2 — overlay backdrop */
.no-movement-v2-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
}

/* Modal wrapper */
.no-movement-v2-modal {
    position: relative;
    width: 100%;
}

/* Header */
.no-movement-v2-header {
    border-bottom: none !important;
}

/* Close button */
.no-movement-v2-close {
    float: right;
    font-size: 1.5rem;
    background: transparent;
    border: none;
    cursor: pointer;
}

/* Assistance + tempo radio rows */
.no-movement-v2-item-row {
    display: block;
    clear: both;
}

/* Free-form text container */
.no-movement-v2-freeform {
    display: inline-block;
    width: 91.66%;
    margin-top: 0.25rem;
    margin-left: 1.25rem;
}

/* Free-form input */
.no-movement-v2-freeform-input {
    width: 100%;
}

/* Tempo worn section */
.no-movement-v2-tempo-section {
    margin-top: 1rem;
}

/* Section heading */
.no-movement-v2-section-heading {
    font-weight: 600;
    line-height: 1.5;
}

/* Footer */
.no-movement-v2-footer {
    border: none !important;
}

/* CompleteActionPopup — overlay backdrop */
.complete-action-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
}

/* Modal wrapper */
.complete-action-modal {
    position: relative;
    width: 100%;
}

/* Header */
.complete-action-header {
    border-bottom: none !important;
}

/* Close button */
.complete-action-close {
    float: right;
    font-size: 1.5rem;
    background: transparent;
    border: none;
    cursor: pointer;
}

/* Assistance item rows */
.complete-action-item-row {
    display: block;
    clear: both;
}

/* Free-form row wrapper */
.complete-action-freeform-row {
    display: block;
}

/* Free-form text container */
.complete-action-freeform {
    display: inline-block;
    width: 91.66%;
    margin-top: 0.25rem;
    margin-left: 1.25rem;
}

/* Free-form input */
.complete-action-freeform-input {
    width: 100%;
}

/* Resident list */
.complete-action-resident-list {
    max-height: 300px;
    overflow-y: auto;
}

/* Unmatched resident sub-list */
.complete-action-other-list {
    margin-left: 20px;
}

/* Footer */
.complete-action-footer {
    border: none !important;
}

/* EscalationPopup — overlay backdrop */
.escalation-popup-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
}

/* Modal wrapper */
.escalation-popup-modal {
    position: relative;
    width: 100%;
}

/* Header */
.escalation-popup-header {
    border-bottom: none !important;
}

/* Footer */
.escalation-popup-footer {
    border: none !important;
    display: flex;
    justify-content: center !important;
}

/* ReminderAcknowledgePopup -- overlay backdrop */
.reminder-ack-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    overflow-y: auto;
}

/* Modal wrapper -- same max-width as AlertPopup (620px) */
.reminder-ack-modal {
    position: relative;
    width: 100%;
}

.reminder-ack-modal .modal-dialog {
    max-width: 620px;
    width: 95%;
    margin: 1.75rem auto;
}

.reminder-ack-modal .modal-content {
    border-radius: 8px;
    text-align: center;
}

/* Header -- centered, no bottom border */
.reminder-ack-header {
    border-bottom: none !important;
    padding: 20px 28px 10px;
    display: flex !important;
    justify-content: center !important;
}

/* Footer -- centered buttons, no top border */
.reminder-ack-footer {
    border-top: none !important;
    padding: 12px 28px 20px;
    display: flex !important;
    justify-content: center !important;
    gap: 8px;
}

/* Buttons */
.reminder-ack-footer .btn {
    min-width: 120px;
    font-size: 15px;
    font-weight: 600;
}

/* Steps to resolve button spacing */
.reminder-ack-steps-btn {
    margin-left: 0.5rem;
}

.modal-dialog.alert-popup-dialog {
    max-width: 620px;
    width: 95%;
    margin: 1.75rem auto;
}

@media (max-width: 767px) and (min-width: 480px) {
    .modal-dialog.alert-popup-dialog {
        max-width: 95vw;
        width: 95vw;
        margin: 1rem auto;
    }
}

@media (max-width: 479px) {
    .modal-dialog.alert-popup-dialog {
        max-width: 98vw;
        width: 98vw;
        margin: 0.5rem auto;
    }
}

/* Slide in from top on open */
@keyframes alertSlideDown {
    from {
        transform: translateY(-60px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Slide back up to top on close */
@keyframes alertSlideUp {
    from {
        transform: translateY(0);
        opacity: 1;
    }

    to {
        transform: translateY(-60px);
        opacity: 0;
    }
}

.alert-popup-content {
    position: relative;
    z-index: 1050;
    pointer-events: auto;
    width: 100%;
    border-radius: 8px;
    text-align: center;
    animation: alertSlideDown 0.25s ease-out both;
    background: white;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.alert-popup-content.alert-popup-closing {
    animation: alertSlideUp 0.25s ease-in both;
}

.alert-popup-header {
    border-bottom: 1px solid #e9ecef;
    padding: 20px 28px;
}

.alert-popup-title {
    font-size: 22px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.alert-popup-body {
    padding: 28px 36px 16px;
}

.alert-popup-message {
    font-size: 24px;
    color: #707478;
    margin-bottom: 8px;
}

.alert-popup-escalation {
    font-size: 20px;
    color: #555;
    margin-top: 10px;
}

.alert-popup-footer {
    padding: 16px 36px 28px;
    border-top: none;
}

.alert-popup-subheading {
    font-size: 22px;
    font-weight: 600;
    color: #555;
    margin-bottom: 14px;
}

.alert-popup-resident-list {
    font-weight: 600;
    line-height: 2;
    font-size: 20px;
}

.alert-popup-geofence-subtitle {
    font-size: 20px;
    color: #555;
    margin-bottom: 10px;
}

.alert-popup-current-location {
    background-color: #ffff00;
    padding: 5px 8px;
    line-height: 1.6;
    display: inline-block;
    word-break: break-word;
    white-space: normal;
}

.alert-popup-initial-alert-location {
    line-height: 1.4;
    word-break: break-word;
    white-space: normal;
}

/* Message heading and body — same size */
.alert-popup-message-heading {
    font-size: 30px;
    font-weight: 700;
    color: #333;
    text-align: center;
    margin-bottom: 6px;
}

.alert-popup-title-time {
    font-size: 30px;
    font-weight: 700;
    color: #333;
    text-align: center;
    margin-bottom: 10px;
}

.alert-popup-body-compact {
    padding: 14px 36px 10px;
}

.alert-popup-message-body-compact {
    font-size: 24px;
    margin-top: 4px;
    margin-bottom: 4px;
    line-height: 1.4;
}

.alert-popup-message-body {
    font-size: 30px;
    color: #707478;
    text-align: center;
    margin-bottom: 10px;
    line-height: 1.4;
    word-break: break-word;
    white-space: normal;
}

/* Location — smaller than heading/body but still larger than before */
.alert-popup-location {
    margin-top: 16px;
}

.alert-popup-location h3 {
    font-size: 20px;
    margin-bottom: 6px;
}

/* Buttons — full width on small screens, fixed width on larger */
.alert-popup-btn {
    width: 100%;
    font-size: 18px;
    padding: 10px 16px;
    font-weight: 600;
}

/* Bootstrap disables pointer events on disabled buttons, which prevents the
   not-allowed cursor from appearing. Native disabled state still blocks clicks. */
.alert-popup-btn:disabled {
    cursor: not-allowed !important;
    pointer-events: auto !important;
}

@media (min-width: 480px) {
    .alert-popup-btn {
        min-width: 160px;
    }
}

/* ── Tablet (480px – 767px) ── */
@media (max-width: 767px) and (min-width: 480px) {
    .alert-popup-header {
        padding: 14px 20px;
    }

    .alert-popup-title {
        font-size: 18px;
    }

    .alert-popup-body {
        padding: 18px 24px 12px;
    }

    .alert-popup-message-heading {
        font-size: 22px;
    }

    .alert-popup-title-time {
        font-size: 22px;
    }

    .alert-popup-message-body {
        font-size: 20px;
    }

    .alert-popup-message {
        font-size: 18px;
    }

    .alert-popup-escalation {
        font-size: 16px;
    }

    .alert-popup-subheading {
        font-size: 18px;
    }

    .alert-popup-resident-list {
        font-size: 16px;
    }

    .alert-popup-geofence-subtitle {
        font-size: 16px;
    }

    .alert-popup-location h3 {
        font-size: 16px;
    }

    .alert-popup-footer {
        padding: 12px 24px 20px;
    }

    .alert-popup-btn {
        font-size: 16px;
        padding: 9px 14px;
    }
}

/* ── Mobile (<480px) ── */
@media (max-width: 479px) {
    .alert-popup-header {
        padding: 10px 14px;
    }

    .alert-popup-title {
        font-size: 15px;
    }

    .alert-popup-body {
        padding: 12px 16px 8px;
    }

    .alert-popup-message-heading {
        font-size: 17px;
    }

    .alert-popup-title-time {
        font-size: 17px;
    }

    .alert-popup-message-body {
        font-size: 16px;
    }

    .alert-popup-message {
        font-size: 15px;
    }

    .alert-popup-escalation {
        font-size: 14px;
    }

    .alert-popup-subheading {
        font-size: 15px;
        margin-bottom: 10px;
    }

    .alert-popup-resident-list {
        font-size: 14px;
        line-height: 1.8;
    }

    .alert-popup-geofence-subtitle {
        font-size: 14px;
    }

    .alert-popup-location h3 {
        font-size: 14px;
    }

    .alert-popup-footer {
        padding: 10px 14px 16px;
        flex-wrap: wrap;
    }

    .alert-popup-btn {
        font-size: 14px;
        padding: 8px 12px;
        min-width: unset;
        width: 100%;
    }
}

/* Main row — uses CSS variable set on the container in AlertsList */
.alert-row {
    display: grid;
    grid-template-columns: var(--alert-grid-cols);
    overflow: hidden;
    background-color: #DAE2ED;
}

/* Each cell */
.alert-col {
    padding: 8px 10px;
    font-size: 15px;
    display: flex;
    align-items: center;
}

.alert-col:last-child {
    border-right: none;
}

/* Center-aligned columns (all except name) */
.alert-col-center {
    justify-content: center;
    text-align: center;
    flex-direction: column;
}

/* Name column */
.alert-col-name {
    flex-direction: row;
    align-items: flex-start;
    justify-content: flex-start;
    word-break: break-word;
    line-height: 1.5;
    white-space: normal;
}

/* Wraps stacked name-cell children so ::before label + content sit side-by-side on mobile */
.alert-col-name-content {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

/* Sub-rows (door alert, fall context) - full width below the main row */
.alert-subrow-inner {
    border-top: 1px solid #ddd;
    padding: 8px 12px;
}

/* -- Cell content styles (unchanged from previous) ------------ */

.alert-row-resident-name {
    font-weight: 600;
}

.alert-row-location {
    font-size: 12px;
    display: inline-block;
    padding: 1px 3px;
}

.alert-row-geo-location {
    font-size: 11px;
    margin-top: 2px;
    color: #555;
}

.alert-row-geo-location .alert-row-geo-location-label {
    word-break: break-word;
    line-height: 1.2;
    white-space: normal;
}

.alert-row-taken-by {
    display: block;
    font-size: 11px;
    color: #666;
    margin-top: 2px;
}

.alert-row-type-cell {
    min-width: 0;
}

.alert-row-action-cell {
    min-width: 0;
}

.alert-row-action-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-items: stretch;
}

/* Preserve the disabled cursor even when Bootstrap applies pointer-events:none. */
.alert-row-action-cell button:disabled {
    cursor: not-allowed !important;
    pointer-events: auto !important;
}

.alert-row-take-btn,
.alert-row-take-btn.btn,
button.alert-row-take-btn {
    background-color: #28a745 !important;
    color: #fff !important;
    border: none;
    min-width: 100px;
    padding: 5px 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.alert-row-take-btn:hover,
.alert-row-take-btn.btn:hover,
button.alert-row-take-btn:hover {
    background-color: #218838 !important;
    color: #fff !important;
}

.alert-row-untake-btn,
.alert-row-untake-btn.btn,
button.alert-row-untake-btn {
    background-color: #dc3545 !important;
    color: #fff !important;
    border: none;
    min-width: 100px;
    padding: 5px 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.alert-row-complete-btn,
.alert-row-complete-btn.btn,
button.alert-row-complete-btn {
    background-color: rgb(40, 167, 69) !important;
    color: #fff !important;
    border: none;
    min-width: 100px;
    padding: 5px 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.alert-row-complete-btn:hover,
.alert-row-complete-btn.btn:hover,
button.alert-row-complete-btn:hover {
    background-color: rgb(33, 136, 56) !important;
    color: #fff !important;
}

.alert-row-steps-btn {
    background-color: #28a745 !important;
    color: #fff !important;
    border: none;
    min-width: 100px;
    padding: 3px 6px !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: normal;
    word-break: break-word;
    text-align: center;
    line-height: 1.2;
    font-size: 11px;
}

.alert-row-steps-btn:hover {
    background-color: #218838 !important;
    color: #fff !important;
}

.alert-row-steps-label {
    font-size: 11px;
    color: #555;
}

.alert-row-delete-btn {
    background: transparent;
    border: none;
    color: #dc3545;
    font-size: 14px;
}

.alert-row-delete-btn .fa-trash {
    color: #dc3545;
}

.alert-row-delete-btn:hover {
    color: #a71d2a;
}

.alert-row-sub-cell {
    font-size: 13px;
}

.alert-row-fall-row {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
}

.alert-row-fall-block {
    min-width: 180px;
}

.alert-row-fall-block .form-check {
    margin-bottom: 2px;
}


/* -- Alert List Grid Container ------------------------------- */

#alert-list-table {
    width: 100%;
    min-width: 0;
}

/*
 * .alert-list-container holds the CSS variable only.
 * .alert-list-scroll-body is the actual scrolling viewport — it wraps the
 * header + all sections together so they scroll as one unit on tablet/mobile.
 * This fixes the iPad clipping issue where overflow:hidden on .alert-section
 * was blocking the scroll.
 */
.alert-list-container {
    --alert-grid-cols: minmax(140px, 2fr) minmax(110px, 1.5fr) minmax(100px, 1.3fr) minmax(80px, 1fr) minmax(55px, 0.6fr) minmax(90px, 1fr) minmax(100px, 1.2fr) minmax(110px, 1.3fr);
    width: 100%;
}

.alert-list-container.has-delete-col {
    --alert-grid-cols: minmax(140px, 2fr) minmax(110px, 1.5fr) minmax(100px, 1.3fr) minmax(80px, 1fr) minmax(55px, 0.6fr) minmax(90px, 1fr) minmax(100px, 1.2fr) minmax(110px, 1.3fr) minmax(80px, 0.8fr);
}

/* Scrolling viewport — overflow here, NOT on the container or sections */
.alert-list-scroll-body {
    overflow-x: auto;
    width: 100%;
}

/* -- Sticky header row --------------------------------------- */

.alert-list-header {
    display: grid;
    grid-template-columns: var(--alert-grid-cols);
    position: sticky;
    top: 0;
    z-index: 10;
    background-color: #4a4a4a;
    border-radius: 4px;
    margin-bottom: 8px;
}

.alert-list-header-cell {
    padding: 8px 10px;
    font-size: 13px;
    font-weight: 600;
    color: #fff;
    text-align: center;
    white-space: normal;
}

.alert-list-header-cell:last-child {
    border-right: none;
}

/* -- Section headers (My Alerts / New Alerts! / Other Alerts) - */

.alert-section {
    border: 1px solid #ccc;
    border-radius: 6px;
    /* NO overflow:hidden — that was clipping horizontal scroll on iPad */
    margin-bottom: 4px;
    /* Use isolation so border-radius clips section-header background only */
    isolation: isolate;
}

.alert-section-header {
    background-color: #ddd;
    color: #000;
    padding: 6px 10px;
    font-size: 14px;
    font-weight: 600;
    border-radius: 5px 5px 0 0;
}

/* Empty state row */
.alert-empty-row {
    text-align: center;
    padding: 12px;
    font-size: 14px;
    color: #666;
    background: #fff;
}

/* Each alert-row-wrapper sits flush inside the section — no extra radius/border */
.alert-row-wrapper {
    margin-bottom: 0;
    border-top: 1px solid #ccc;
}

.alert-row {
    border-radius: 0;
    border: none;
}

/* Gap between sections */
.alert-section-gap {
    height: 5px;
}

/* -- Filter / search controls -------------------------------- */

select.alerts-list-select,
input.alerts-list-search {
    width: 200px !important;
}

@media (max-width: 767px) {
    select.alerts-list-select,
    input.alerts-list-search {
        width: 100% !important;
    }
}

/* ── iPad / Tablet (600px – 1199px): horizontal-scroll grid ── */
@media (max-width: 1199px) and (min-width: 600px) {
    .alert-list-container {
        --alert-grid-cols: 160px 130px 110px 90px 65px 95px 110px 130px;
    }
    .alert-list-container.has-delete-col {
        --alert-grid-cols: 160px 130px 110px 90px 65px 95px 110px 130px 90px;
    }
    .alert-list-header {
        position: static;
        min-width: 890px;
    }
    .alert-row {
        min-width: 890px;
    }
    /* Section header and empty row must match row width so they don't appear shorter */
    .alert-section-header,
    .alert-empty-row {
        min-width: 890px;
    }
    .alert-list-container.has-delete-col .alert-list-header,
    .alert-list-container.has-delete-col .alert-row,
    .alert-list-container.has-delete-col .alert-section-header,
    .alert-list-container.has-delete-col .alert-empty-row {
        min-width: 980px;
    }
}

/* ── Mobile (<600px): stacked card layout ────────────────────── */
@media (max-width: 599px) {
    /* Hide the column header — labels come from data-label on each cell */
    .alert-list-header {
        display: none;
    }

    /* Each alert-row is now a single stacked column */
    .alert-row {
        display: flex;
        flex-direction: column;
        min-width: 0;
    }

    /* Every cell: label on the left (::before), value on the right */
    .alert-col {
        display: flex;
        flex-direction: row;
        align-items: flex-start;
        padding: 7px 12px;
        border-top: 1px solid rgba(0, 0, 0, 0.07);
        font-size: 14px;
        gap: 8px;
    }

    .alert-col:first-child {
        border-top: none;
    }

    /* Inject column label */
    .alert-col::before {
        content: attr(data-label);
        min-width: 110px;
        max-width: 110px;
        font-size: 11px;
        font-weight: 700;
        color: #555;
        text-transform: uppercase;
        flex-shrink: 0;
        padding-top: 2px;
        line-height: 1.4;
    }

    /* Reset flex-direction overrides so all cells go label → value horizontally */
    .alert-col-center,
    .alert-col-name {
        flex-direction: row;
        justify-content: flex-start;
        text-align: left;
        align-items: flex-start;
    }

    /* .alert-col-name-content already stacks its children vertically */
}

#priority-modal .modal-dialog {
    max-width: 900px !important;
    margin: 1rem auto;
}

#priority-modal .modal-content {
    width: 100%;
}

#priority-modal .modal-body {
    overflow: visible;
    max-height: none;
    padding: 8px 12px;
}

#priority-modal .modal-header {
    position: relative;
    justify-content: center;
    text-align: center;
    padding: 8px 16px;
}

#priority-modal .modal-header .btn-close {
    position: absolute;
    right: 16px;
}

#priority-modal .modal-title {
    color: #f59325 !important;
}

/* Priority Matrix Panel */
/* Priority Legend */
#priority-modal .contact-tracing-priorities .priority-legend {
    margin-bottom: 0px;
}
/* Keep the priority legend and its corresponding matrix body cells in sync. */
#priority-modal .contact-tracing-priorities .priority-badge.priority-1,
#priority-modal .contact-tracing-priorities .cell-priority-1 {
    background-color: #8a8989;
}

#priority-modal .contact-tracing-priorities .priority-badge.priority-2,
#priority-modal .contact-tracing-priorities .cell-priority-2 {
    background-color: #bfb9b9;
}

#priority-modal .contact-tracing-priorities .priority-matrix-table th,
#priority-modal .contact-tracing-priorities .priority-matrix-table td {
    padding: 5px 6px;
    text-align: center;
    border: 1px solid #ddd;
}

#priority-modal .contact-tracing-priorities .priority-matrix-panel {
    padding: 8px;
    margin-bottom: 8px !important;
}

#priority-modal .contact-tracing-priorities .assist-contact-header {
    padding-left: 3px;
    padding-right: 3px;
    line-height: 1.1;
    white-space: nowrap;
}

#priority-modal .contact-tracing-priorities .location-label {
    text-align: left;
    font-size: 13px;
}

#priority-modal .contact-tracing-priorities .duration-label {
    padding-right: 16px;
    font-size: 13px;
}

#priority-modal .contact-tracing-priorities .greater-equal {
    font-size: 13px;
    margin-right: 5px;
    font-weight: 600;
    display: inline;
}

#priority-modal .contact-tracing-priorities .minutes {
    font-size: 13px;
    margin-right: 5px;
}

#priority-modal .contact-tracing-priorities .time-unit {
    font-size: 12px;
}

#priority-modal .contact-tracing-priorities .priority-notes {
    padding: 0 12px 8px;
    font-size: 12px;
    line-height: 1.45;
    text-align: left;
}

#priority-modal .contact-tracing-priorities .priority-note {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    width: 100%;
    margin-bottom: 6px;
}

#priority-modal .contact-tracing-priorities .priority-note > span:last-child {
    flex: 1 1 auto;
    text-align: left;
}

#priority-modal .contact-tracing-priorities .priority-note:last-child {
    margin-bottom: 0;
}

#priority-modal .contact-tracing-priorities .priority-note-number {
    flex: 0 0 auto;
    font-weight: 600;
}

/* Laptop */
@media (max-width: 1400px) {
    #priority-modal .modal-dialog {
        max-width: 900px !important;
    }
}

/* Tablet */
@media (max-width: 1200px) {
    #priority-modal .modal-dialog {
        max-width: 95% !important;
    }
}

/* Mobile */
@media (max-width: 768px) {
    #priority-modal .modal-dialog {
        max-width: 100% !important;
        margin: 0.5rem;
    }
}
/* Staff Chat incoming-message popup ─────────────────────────── */

/* Wrapper — subtle blur overlay, positions dialog at center */
.sc-popup-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1100;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 10vh;
    pointer-events: none;   /* clicks pass through the empty area */
}

@keyframes scPopupFadeIn {
    from { opacity: 0; }
    to   { opacity: 1; }
}

@keyframes scPopupSlideIn {
    from { opacity: 0; transform: translateY(-100%); }
    to   { opacity: 1; transform: translateY(0); }
}

@keyframes scPopupSlideOut {
    from { opacity: 1; transform: translateY(0); }
    to   { opacity: 0; transform: translateY(-100%); }
}

.sc-popup-dialog {
    width: 560px;
    max-width: 94vw;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 12px 48px rgba(0, 0, 0, 0.32);
    display: flex;
    flex-direction: column;
    animation: scPopupSlideIn 0.28s ease-out;
    pointer-events: all;
}

/* Exit animation — added by closing state */
.sc-popup-closing .sc-popup-dialog {
    animation: scPopupSlideOut 0.25s ease-in forwards;
}

/* Header */
.sc-popup-header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px 20px 10px;
    position: relative;
    border-bottom: 1px solid #f0f0f0;
}

.sc-popup-icon {
    height: 40px;
    width: auto;
}

.sc-popup-close-btn {
    position: absolute;
    top: 10px;
    right: 14px;
    background: none;
    border: none;
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    color: #555;
    padding: 0 4px;
}

.sc-popup-close-btn:hover {
    color: #000;
}

/* Body */
.sc-popup-body {
    padding: 16px 22px 10px;
}

.sc-popup-facility-name {
    font-weight: 700;
    font-size: 17px;
    text-align: center;
    margin-bottom: 12px;
    color: #333;
}

.sc-popup-message-section {
    background: #f8f8f8;
    border-radius: 8px;
    padding: 12px 16px;
    margin-bottom: 12px;
}

.sc-popup-sender {
    margin: 0 0 6px;
    font-size: 14px;
    color: #555;
}

.sc-popup-sender strong {
    font-weight: 700;
    color: #222;
}

.sc-popup-message-text {
    margin: 0;
    font-size: 15px;
    color: #222;
    word-break: break-word;
    white-space: pre-line;
    line-height: 1.5;
    max-height: 140px;
    overflow-y: auto;
}

/* Reply composer (ChatComposer) */
.sc-popup-reply-area {
    margin-bottom: 8px;
}

/*  ChatComposer styles scoped for popup  */
.sc-popup-reply-area .sc-composer-wrapper {
    position: relative;
}

.sc-popup-reply-area .sc-emoji-picker-popup {
    position: absolute;
    top: calc(100% + 6px);
    bottom: auto;
    right: 0;
    left: auto;
    z-index: 1200;      /* above the popup backdrop (1100) */
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.18);
    border-radius: 8px;
    overflow: hidden;
}

.sc-popup-reply-area .sc-input-pill {
    border: solid 1px #9d9292;
    border-radius: 50px;
    background-color: #fff !important;
    display: flex;
    align-items: center;
}

.sc-popup-reply-area .sc-input-pill input[type=text],
.sc-popup-reply-area .sc-input-pill .form-control {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
    border-radius: 50px;
    flex: 1;
}

.sc-popup-reply-area .sc-emoji-toggle-btn {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 16px;
    padding: 0 6px;
    cursor: pointer;
    line-height: 1;
    align-self: center;
    color: #333;
    filter: grayscale(1);
    transition: opacity 0.15s;
    flex-shrink: 0;
}

.sc-popup-reply-area .sc-emoji-toggle-btn:hover {
    opacity: 0.7;
}

.sc-popup-reply-area .sc-chat-send-btn {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #00b300;
    font-size: 22px;
    cursor: pointer;
    flex-shrink: 0;
    align-self: center;
    margin-left: 2px;
    transition: color 0.15s;
}

.sc-popup-reply-area .sc-chat-send-btn:hover {
    color: #009900;
}

/* Footer */
.sc-popup-footer {
    display: flex;
    justify-content: center;
    gap: 12px;
    padding: 10px 16px 14px;
    border-top: 1px solid #f0f0f0;
}

.sc-popup-btn {
    min-width: 100px;
    font-size: 13px;
}

#dashboard-staff.dashboard.no-sidebar .main-content {
  margin-left: 0 !important;
  width: 100% !important;
}

#dashboard-staff.dashboard.no-sidebar .main-content.collapsed {
  margin-left: 0 !important;
  width: 100% !important;
}

.content-area-staff {
    flex: 1;
    min-height: 100vh;
}

/* Full-viewport loader shown while the facility session rehydrates on back/forward */
.dashboard-staff-restoring {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 100vh;
  width: 100%;
}

@media (max-width: 767px) {
    .content-area-staff {
      margin-left: 0;
      width: 100%;
      margin-top: 170px;
    }
}
#firmware-management-page .top-header {
    margin-bottom: 0;
}

#firmware-management-page .firmware-management-toolbar {
    margin-bottom: 8px;
}

/* Bootstrap 3 label/badge component scoped to avoid overriding Bootstrap globals */
#firmware-management-page .badge,
#firmware-management-page .label {
    font-size: 75%;
    font-weight: 600;
}

#firmware-management-page .label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

#firmware-management-page .label-text-90 { font-size: 90% !important; }

#firmware-management-page .firmware-header {
    font-size: 16px;
    font-weight: 700;
}

#firmware-management-page .firmware-panel-body {
    background: white;
    padding: 10px;
}


#firmware-management-page .custom-table-responsive {
    overflow: visible !important;
}


#firmware-management-page .custom-table-responsive .custom-table > thead.header > tr > th {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 60px !important;
    z-index: 10;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

#firmware-management-page .firmware-sortable-header {
    cursor: pointer;
}

#firmware-management-page .firmware-management-table-body .git_sha_link {
    color: #337ab7 !important;
    text-decoration: none;
    cursor: pointer;
}

#firmware-management-page .firmware-management-table-body .git_sha_link:hover {
    color: #23527c;
    text-decoration: underline;
}

#firmware-management-page .edit-icon,
#firmware-management-page .delete-icon,
#firmware-management-page .disabled-icon {
    color: #337ab7;
}

#firmware-management-page .edit-icon,
#firmware-management-page .delete-icon {
    cursor: pointer;
}

#firmware-management-page .edit-icon:hover,
#firmware-management-page .delete-icon:hover {
    color: #23527c;
}

#firmware-management-page .disabled-icon {
    cursor: not-allowed;
}

#firmware-management-page .firmware-file-row {
    margin-bottom: 4px;
    white-space: nowrap;
}

#firmware-management-page .firmware-download-link {
    color: #337ab7;
    text-decoration: none;
    margin-right: 4px;
}

#firmware-management-page .firmware-download-link:hover {
    color: #23527c;
    text-decoration: underline;
}

#firmware-management-page .firmware-action-separator {
    margin: 0 4px;
    color: #555;
}

#firmware-management-page .delete-feedback-modal .delete-feedback-body {
    padding: 0 20px 10px;
    text-align: left;
}

#firmware-management-page .delete-feedback-modal .form-group {
    margin-bottom: 12px;
}

#firmware-management-page .delete-feedback-modal .control-label {
    font-weight: 600;
    padding-top: 6px;
}

#firmware-management-page .delete-feedback-modal .lang_err_msg {
    color: red;
    font-weight: bold;
    margin-left: 2px;
}

#firmware-management-page .delete-feedback-modal .textcmt {
    width: 100%;
    resize: vertical;
}

#firmware-management-page .delete-feedback-modal .err_msg {
    color: #c0392b;
    font-size: 13px;
    margin: 4px 20px 0;
}

#add-firmware-page .top-header {
    margin-bottom: 10px;
}

#add-firmware-page .firmware-header {
    font-size: 16px;
    font-weight: 700;
}

#add-firmware-page .panel.custom-panel {
    margin-bottom: 16px;
}

#add-firmware-page .panel-heading.custom-panel-heading {
    background: #f5f5f5;
    border-bottom: 1px solid #e2e7eb;
    padding: 10px 15px;
}

#add-firmware-page .panel-heading.custom-panel-heading .panel-title {
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}

#add-firmware-page .panel-body {
    padding: 15px;
    background: #fff;
    border-bottom: 1px solid #e2e7eb;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

#add-firmware-page .control-label {
    font-weight: 600;
    font-size: 14px;
}

#add-firmware-page sub,
#add-firmware-page sup {
    position: relative;
    font-size: 100%;
    line-height: 0;
    vertical-align: baseline;
}

#add-firmware-page sup {
    top: -0.2em;
}

#add-firmware-page .m-t-10 {
    margin-top: 10px;
}

#add-firmware-page .panel-body-rounded-borders {
    border: 1px solid #242a30;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    padding: 10px 15px;
    font-size: 13px;
    background: #fafafa;
    min-height: 42px;
}

#add-firmware-page .file-block-panel {
    margin-bottom: 10px;
}

#add-firmware-page .file-info-labels .label {
    display: inline-block;
    margin-bottom: 4px;
    line-height: 1.5;
}

#add-firmware-page .custom_save_btn {
    border: 1px solid #f59325 !important;
    background: #f59325 !important;
    color: #ffffff !important;
    padding: 5px 10px;
}

#add-firmware-page .custom_save_btn:hover {
    background: #e08820 !important;
    border-color: #b86e15 !important;
}

#add-firmware-page .custom_cancel_btn {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
    padding: 5px 10px;
    cursor: pointer;
}

#add-firmware-page .custom_cancel_btn:hover {
    background: #fff8f0 !important;
    border-color: #e08820 !important;
}

/* Footer form-group border — scoped to this form only */
#add-firmware-page #cp_edit_firmware__form > .form-group {
    border: 1px solid #e2e7eb;
    border-radius: 4px;
    padding: 15px;
    background: #fff;
}

/* HW version autocomplete — scoped to avoid global leak */
#add-firmware-page .hw-autocomplete-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    list-style: none;
    margin: 0;
    padding: 0;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    max-height: 180px;
    overflow-y: auto;
    border-radius: 0 0 4px 4px;
}

#add-firmware-page .hw-autocomplete-list li {
    padding: 7px 12px;
    cursor: pointer;
    font-size: 13px;
}

#add-firmware-page .hw-autocomplete-list li:hover {
    background: #f5f5f5;
}

/* Parsley / validation error highlight */
#add-firmware-page .parsley-error {
    border-color: #d9534f !important;
}

/* File block delete button override */
#add-firmware-page .btn.btn_custom_border {
    background: #ffffff !important;
    border: 1px solid #f59325 !important;
    color: #f59325 !important;
    margin-left: 5px;
}

#add-firmware-page .delete-icon {
    color: #337ab7;
}

/* Badge / label variant colors (scoped to this page) */
#add-firmware-page .badge {
    font-size: 75%;
    line-height: 1.25;
    font-weight: 600;
}
#add-firmware-page .label {
    display: inline-block;
    padding: .3em .6em;
    font-size: 90%;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}
#add-firmware-page .badge.badge-square {
    border-radius: 0;
}
#add-firmware-page .badge.badge-default,
#add-firmware-page .label.label-default {
    background: #b6c2c9;
}
#add-firmware-page .badge.badge-danger,
#add-firmware-page .label.label-danger {
    background: #ff5b57;
}
#add-firmware-page .badge.badge-warning,
#add-firmware-page .label.label-warning {
    background: #f59c1a;
}
#add-firmware-page .badge.badge-success,
#add-firmware-page .label.label-success {
    background: #00acac;
}
#add-firmware-page .badge.badge-info,
#add-firmware-page .label.label-info {
    background: #49b6d6;
}
#add-firmware-page .badge.badge-primary,
#add-firmware-page .label.label-primary {
    background: #348fe2;
}

#add-firmware-page select.form-control {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 fill=%27%23333%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M1.5 5.5l6 6 6-6%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2rem;
}
#add-firmware-page .badge.badge-inverse,
#add-firmware-page .label.label-inverse {
    background: #2d353c;
}


#add-tempo-v2-firmware-page .top-header {
    margin-bottom: 10px;
}

#add-tempo-v2-firmware-page .firmware-header {
    font-size: 16px;
    font-weight: 700;
}

#add-tempo-v2-firmware-page .panel.custom-panel {
    margin-bottom: 16px;
}

#firmware_form_modal > .modal-dialog {
    width: calc(100vw - 32px);
    max-width: 1200px;
}

#firmware_form_modal .modal-content,
#firmware_form_modal .modal-body,
#firmware_form_modal #add-tempo-v2-firmware-page,
#firmware_form_modal #add-tempo-v2-firmware-page .file-block-panel {
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

#add-tempo-v2-firmware-page .panel.custom-panel > .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.175);
    background: #fff !important;
    color: #212529;
}

#add-tempo-v2-firmware-page .panel.custom-panel > .modal-header .modal-title {
    margin: 0;
    color: #212529;
    font-size: 1.25rem;
    font-weight: 500;
}

#add-tempo-v2-firmware-page .panel-body {
    padding: 15px;
    background: #fff;
    border-bottom: none;
    box-shadow: none;
}

#add-tempo-v2-firmware-page .control-label {
    display: block;
    margin-bottom: 6px;
    text-align: left;
    font-weight: 600;
    font-size: 14px;
}

#add-tempo-v2-firmware-page .form-field-group {
    margin-bottom: 10px;
}

#add-tempo-v2-firmware-page .git-sha-input-wrapper {
    position: relative;
}

#add-tempo-v2-firmware-page .git-sha-input-wrapper input {
    padding-right: 42px;
}

#add-tempo-v2-firmware-page .git-sha-masked {
    -webkit-text-security: disc;
}

#add-tempo-v2-firmware-page .git-sha-visibility-button {
    position: absolute;
    top: 50%;
    right: 1px;
    width: 38px;
    height: calc(100% - 2px);
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    color: #6c757d;
    cursor: pointer;
}

#add-tempo-v2-firmware-page .git-sha-visibility-button:hover,
#add-tempo-v2-firmware-page .git-sha-visibility-button:focus {
    color: #212529;
}

#add-tempo-v2-firmware-page .footer-button-add-tempo.text-right {
    text-align: right;
}

#add-tempo-v2-firmware-page sub,
#add-tempo-v2-firmware-page sup {
    position: relative;
    font-size: 100%;
    line-height: 0;
    vertical-align: baseline;
}

#add-tempo-v2-firmware-page sup {
    top: -0.2em;
}

#add-tempo-v2-firmware-page .m-t-10 {
    margin-top: 10px;
}

#add-tempo-v2-firmware-page .panel-body-rounded-borders {
    border: 1px solid #242a30;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    padding: 10px 15px;
    font-size: 13px;
    background: #fafafa;
    min-height: 42px;
}

#add-tempo-v2-firmware-page .file-block-panel {
    margin-bottom: 10px;
}

#add-tempo-v2-firmware-page .file-block-panel > .panel {
    width: 100%;
}

#add-tempo-v2-firmware-page .language-picker {
    position: relative;
}

#add-tempo-v2-firmware-page .language-picker-options {
    position: absolute;
    top: calc(100% + 2px);
    left: 0;
    right: 0;
    z-index: 1100;
    max-height: 240px;
    overflow-y: auto;
    padding: 4px 0;
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: 4px;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
}

#add-tempo-v2-firmware-page .language-picker-option {
    display: block;
    width: 100%;
    padding: 7px 10px;
    border: 0;
    background: #fff;
    color: #212529;
    cursor: pointer;
    font-size: 13px;
    text-align: left;
}

#add-tempo-v2-firmware-page .language-picker-option:hover,
#add-tempo-v2-firmware-page .language-picker-option[aria-selected="true"] {
    background: #f0f5fa;
}

#add-tempo-v2-firmware-page .language-picker-empty {
    padding: 8px 10px;
    color: #6c757d;
    font-size: 13px;
}

@media (max-width: 767.98px) {
    #firmware_form_modal > .modal-dialog {
        width: calc(100vw - 16px);
        margin: 8px auto;
    }

    #add-tempo-v2-firmware-page .file-block-panel .col-md-4 {
        width: 100%;
        margin-bottom: 10px;
    }
}

#add-tempo-v2-firmware-page .file-info-labels .label {
    display: inline-block;
    margin-bottom: 4px;
    line-height: 1.5;
}

#add-tempo-v2-firmware-page .custom_save_btn,
#add-tempo-v2-firmware-page .custom_cancel_btn {
    min-width: 80px;
    padding: 7px 18px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
}

#add-tempo-v2-firmware-page .custom_save_btn {
    border: 1px solid #f59325 !important;
    background: #f59325 !important;
    color: #ffffff !important;
}

#add-tempo-v2-firmware-page .custom_save_btn:hover:not(:disabled) {
    background: #d6831d !important;
    border-color: #d6831d !important;
}

#add-tempo-v2-firmware-page .custom_cancel_btn {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

#add-tempo-v2-firmware-page .custom_cancel_btn:hover {
    background: #fff7f0 !important;
}

#add-tempo-v2-firmware-page .custom_cancel_btn:disabled {
    cursor: not-allowed;
    opacity: 0.65;
}

/* HW/branch autocomplete — scoped to avoid global leak */
#add-tempo-v2-firmware-page .hw-autocomplete-list {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    list-style: none;
    margin: 0;
    padding: 0;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    max-height: 180px;
    overflow-y: auto;
    border-radius: 0 0 4px 4px;
}

#add-tempo-v2-firmware-page .hw-autocomplete-list li {
    padding: 7px 12px;
    cursor: pointer;
    font-size: 13px;
}

#add-tempo-v2-firmware-page .hw-autocomplete-list li:hover {
    background: #f5f5f5;
}

#add-tempo-v2-firmware-page .parsley-error {
    border-color: #d9534f !important;
}

#add-tempo-v2-firmware-page .btn.btn_custom_border {
    background: #ffffff !important;
    border: 1px solid #f59325 !important;
    color: #f59325 !important;
    margin-left: 5px;
}

#add-tempo-v2-firmware-page .delete-icon {
    color: #337ab7;
}

/* Badge / label variant colors (scoped to this page) */
#add-tempo-v2-firmware-page .badge {
    font-size: 75%;
    line-height: 1.25;
    font-weight: 600;
}
#add-tempo-v2-firmware-page .label {
    display: inline-block;
    padding: .3em .6em;
    font-size: 90%;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}
#add-tempo-v2-firmware-page .badge.badge-square {
    border-radius: 0;
}
#add-tempo-v2-firmware-page .badge.badge-default,
#add-tempo-v2-firmware-page .label.label-default { background: #b6c2c9; }
#add-tempo-v2-firmware-page .badge.badge-primary,
#add-tempo-v2-firmware-page .label.label-primary  { background: #348fe2; }
#add-tempo-v2-firmware-page .badge.badge-inverse,
#add-tempo-v2-firmware-page .label.label-inverse  { background: #2d353c; }
#add-tempo-v2-firmware-page .badge.badge-success,
#add-tempo-v2-firmware-page .label.label-success  { background: #00acac; }
#add-tempo-v2-firmware-page .badge.badge-info,
#add-tempo-v2-firmware-page .label.label-info     { background: #49b6d6; }
#add-tempo-v2-firmware-page .badge.badge-warning,
#add-tempo-v2-firmware-page .label.label-warning  { background: #f59c1a; }
#add-tempo-v2-firmware-page .badge.badge-danger,
#add-tempo-v2-firmware-page .label.label-danger   { background: #ff5b57; }

#add-tempo-v2-firmware-page select.form-control {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 fill=%27%23333%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M1.5 5.5l6 6 6-6%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2rem;
}

#tempo-v2-facility-firmware-page .facility-fw-header {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
}

/* ─────────────────────────────────────────────────────────────────────────
   New community-style card layout (enable_new_fleet_management = true)
───────────────────────────────────────────────────────────────────────── */

.community-firmware {
    width: 100%;
    min-height: 100vh;
    padding: 20px 12px 30px;
}

/* Page title */
.community-firmware .page-title {
    margin: 0 0 14px 0;
    font-size: 16px;
    font-weight: 600;
    color: #222;
}

.community-firmware .search-box {
    width: 235px;
    height: 32px;
    display: flex;
    align-items: center;
    gap: 6px;
    background: #f7f8fa;
    border: 1px solid #e2e5ea;
    border-radius: 4px;
    padding: 0 10px;
}

.community-firmware .search-box input {
    border: none;
    outline: none;
    background: transparent;
    flex: 1;
    min-width: 0;
    height: 100%;
    font-size: 11px;
    color: #555;
}

.community-firmware .search-box input::placeholder {
    color: #7d8490;
}

.community-firmware .cf-search-icon {
    font-size: 13px;
    flex-shrink: 0;
    color: #858b91;
}

/* Main layout */
.community-firmware .firmware-layout {
    display: grid;
    grid-template-columns: 234px minmax(0, 1fr);
    gap: 16px;
}

.community-firmware .community-details-loading {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}

/* Left institution panel */
.community-firmware .institution-panel {
    background: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 6px;
    min-height: 670px;
    overflow: hidden;
}

.community-firmware .institution-search {
    height: 57px;
    display: flex;
    align-items: center;
    padding: 0 8px;
    border-bottom: 1px solid #eee;
}

/* Full-width search box inside the institution panel */
.community-firmware .institution-panel .search-box {
    width: 100%;
    position: relative;
}

.community-firmware .cf-search-clear {
    position: absolute;
    top: 50%;
    right: 8px;
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #e9ecef;
    color: #555;
    cursor: pointer;
    transform: translateY(-50%);
}

.community-firmware .cf-search-clear:hover,
.community-firmware .cf-search-clear:focus-visible {
    background: #ced4da;
    color: #000;
}

.community-firmware .institution-list {
    width: 100%;
}

.community-firmware .institution-list-heading {
    min-height: 34px;
    margin: 0;
    padding: 0 10px 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #555;
    font-size: 12px;
    font-weight: 600;
}

.community-firmware .institution-sort-controls {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.community-firmware .institution-sort-button {
    width: 7px;
    height: 14px;
    padding: 0;
    border: 0;
    background: transparent;
    color: #a5aaaf;
    cursor: pointer;
    line-height: 1;
}

.community-firmware .institution-sort-button img {
    width: 7px;
    height: 14px;
}

.community-firmware .institution-sort-button:hover,
.community-firmware .institution-sort-button:focus-visible,
.community-firmware .institution-sort-button.active {
    color: #555;
}

.community-firmware .institution-item {
    height: 34px;
    width: 100%;
    padding: 0 14px;
    border: 0;
    display: flex;
    align-items: center;
    background: transparent;
    font-size: 11px;
    color: #8a8f95;
    position: relative;
    cursor: pointer;
    text-align: left;
}

.community-firmware .institution-item:hover {
    background: #f8f9fa;
}

.community-firmware .institution-item.active {
    background: #f2f3f4;
}

.community-firmware .institution-item > span:first-child {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.community-firmware .institution-count {
    min-width: 34px;
    height: 21px;
    padding: 0 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #f8eee1;
    border-radius: 4px;
    color: #555;
    font-size: 15px;
    font-weight: 600;
    margin-right: 10px;
}

.community-firmware .arrow {
    position: absolute;
    right: 1px;
    top: 42%;
    transform: translateY(-50%);
    font-size: 27px;
    color: #a5aaaf;
    line-height: 1;
    pointer-events: none;
    margin-right: 5px;
}

@media (max-width: 1100px) {
    .community-firmware .arrow {
        font-size: 24px;
        right: 1px;
    }
}

@media (max-width: 850px) {
    .community-firmware .arrow {
        font-size: 22px;
        right: 1px;
    }
}

/* Right content */
.community-firmware .firmware-content {
    min-width: 0;
}

/* Firmware card */
.community-firmware .firmware-card {
    width: 100%;
    min-height: 100px;
    background: #fff;
    border-radius: 4px;
    margin-bottom: 8px;
    display: grid;
    grid-template-columns: 240px minmax(0, 1fr);
    overflow: hidden;
}

.community-firmware .institution-summary-card {
    margin-bottom: 16px;
}

/* Rectangle 6784 */
.community-firmware .firmware-divider {
    width: 100%;
    height: 10px;
    background: #C4C4C4;
    border-radius: 1px;
    margin-bottom: 16px;
}

/* Institution info (left section of card) */
.community-firmware .institution-info {
    position: relative;
    width: 240px;
    min-width: 240px;
    max-width: 240px;
    box-sizing: border-box;
    padding: 18px 15px;
    border-right: 1px solid #e4e4e4;
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.community-firmware .building-icon {
    position: relative;
    height: 60px;
    margin-bottom: 3px;
    overflow: visible;
}

.community-firmware .building-icon img {
    position: relative;
    width: 43.97px;
    height: 28.85px;
    top: 27.99px;
    left: 21.1px;
    border: 1px solid transparent;
    opacity: 1;
    transform: rotate(0deg);
}

.community-firmware .institution-name {
    position: static;
    width: 100%;
    min-height: 38.12px;
    height: auto;
    margin: 0 auto;
    font-family: 'Inter';
    font-style: normal;
    font-weight: 500;
    font-size: 18px;
    line-height: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-transform: capitalize;
    color: #82868A;
    white-space: normal;
    overflow: visible;
}

/* Firmware details */
.community-firmware .firmware-details {
    min-width: 0;
    margin-left: -1px;
}

.community-firmware .firmware-header,
.community-firmware .firmware-row {
    display: grid;
    width: calc(100% + 1px);
    margin-left: -1px;
    grid-template-columns: minmax(85px, 1fr) 1fr 1.2fr 1fr 1.2fr 1fr 50px;
    column-gap: 10px;
    align-items: center;
    padding: 0 18px;
    justify-items: center;
}

.community-firmware .firmware-card:not(.institution-summary-card) .firmware-header,
.community-firmware .firmware-card:not(.institution-summary-card) .firmware-row {
    grid-template-columns: repeat(4, minmax(75px, 110px)) minmax(100px, 1fr) 56px 50px;
    column-gap: 20px;
    justify-content: start;
}

.community-firmware .institution-summary-card .firmware-header,
.community-firmware .institution-summary-card .firmware-row {
    grid-template-columns: repeat(4, minmax(75px, 110px)) minmax(100px, 1fr) 56px 50px;
    column-gap: 20px;
    justify-content: start;
}

.community-firmware .firmware-header {
    height: 32px;
    border-bottom: 1px solid #e4e4e4;
    color: #858b91;
    font-family: "Inter", sans-serif !important;
    font-weight: 500;
    font-size: 12px;
    line-height: 22px;
    letter-spacing: 0px;
    vertical-align: middle;
    text-align: center;
}

.community-firmware .firmware-header span {
    text-align: center;
}

.community-firmware .firmware-row {
    height: 45px;
    border-bottom: 1px solid #e4e4e4;
    font-size: 10px;
    color: #555;
    text-align: center;
}

.community-firmware .firmware-row:last-child {
    border-bottom: none;
}

/* Input fields inside rows */
.community-firmware .firmware-row input {
    width: min(100%, 130px);
    height: 25px;
    box-sizing: border-box;
    border: 1px solid #79b4ff;
    border-radius: 4px;
    background: #f4f8ff;
    color: #555;
    outline: none;
    padding: 8px 0 8px 5px;
    gap: 7px;
    opacity: 1;
    font-family: Urbanist, sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0px;
    vertical-align: middle;
    text-align: center;
    justify-self: center;
    margin: 0 auto;
}

.community-firmware .firmware-row--editing {
    height: 45px;
}

.community-firmware .firmware-row--editing .firmware-inline-select-wrapper {
    height: 25px;
}

.community-firmware .firmware-row--editing .firmware-inline-hardware,
.community-firmware .firmware-row--editing .firmware-inline-select {
    height: 25px;
    line-height: 23px;
}

.community-firmware .firmware-inline-select-wrapper {
    position: relative;
    width: min(100%, 130px);
    height: 25px;
    justify-self: center;
}

.community-firmware .firmware-inline-select-wrapper .firmware-inline-select {
    width: 100%;
}

.community-firmware .firmware-inline-select-wrapper.is-loading .firmware-inline-select {
    appearance: none;
    color: transparent;
    cursor: wait;
}

.community-firmware .inline-dropdown-spinner {
    position: absolute;
    top: 50%;
    right: 6px;
    display: inline-flex;
    width: 12px;
    height: 12px;
    align-items: center;
    justify-content: center;
    color: #222;
    font-size: 11px;
    line-height: 12px;
    margin-top: -7px;
    pointer-events: none;
    transform: translateY(-50%);
}

.community-firmware .firmware-row .firmware-inline-hardware,
.community-firmware .firmware-row .firmware-inline-select {
    width: min(100%, 110px);
    height: 25px;
    box-sizing: border-box;
    margin: 0;
    padding: 0 5px;
    border: 1px solid #79b4ff;
    border-radius: 4px;
    color: #555;
    font-family: Urbanist, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 23px;
    text-align: center;
    justify-self: center;
}

.community-firmware .firmware-row .firmware-inline-hardware:disabled {
    border-color: #d4d7dc;
    background: #eceff2;
    color: #858b91;
    cursor: not-allowed;
}

.community-firmware .firmware-row .firmware-inline-select {
    appearance: auto;
    background: #fff;
    cursor: pointer;
    text-align: left;
}

.community-firmware .firmware-row .firmware-inline-select:disabled {
    background: #f3f4f6;
    color: #858b91;
    cursor: not-allowed;
}

/* Description cell: truncated text, expand icon and popup */
.community-firmware .firmware-row .firmware-description-cell {
    position: relative;
    width: min(100%, 220px);
    justify-self: center;
}

.community-firmware .firmware-row .firmware-description-cell input {
    width: 100%;
    text-overflow: ellipsis;
}

.community-firmware .firmware-row .firmware-description-cell .description-edit-trigger {
    background: #fff;
    cursor: text;
}

.community-firmware .description-popup {
    position: fixed;
    z-index: 1100;
    width: 280px;
    max-height: 160px;
    box-sizing: border-box;
    overflow-y: auto;
    padding: 10px 12px;
    border: 1px solid #79b4ff;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.18);
    color: #555;
    font-family: Urbanist, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    overflow-wrap: anywhere;
    text-align: left;
    transform: translate(-50%, -100%);
    white-space: pre-wrap;
}

.community-firmware .description-popup--edit {
    padding: 6px;
}

.community-firmware .description-popup--view {
    pointer-events: none;
}

.community-firmware .description-popup-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 6px;
}

.community-firmware .description-popup-ok {
    min-width: 56px;
    padding: 4px 14px;
    border: 1px solid #f59325;
    border-radius: 4px;
    background: #f59325;
    color: #fff;
    font-family: Urbanist, sans-serif;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
}

.community-firmware .description-popup-ok:hover {
    border-color: #d6831d;
    background: #d6831d;
}

.community-firmware .description-popup textarea {
    display: block;
    width: 100%;
    height: 90px;
    box-sizing: border-box;
    padding: 6px;
    border: 1px solid #79b4ff;
    border-radius: 4px;
    background: #f4f8ff;
    color: #555;
    font-family: inherit;
    font-size: 12px;
    font-weight: 600;
    outline: none;
    resize: none;
}

.community-firmware .inline-edit-actions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
}

.community-firmware .inline-edit-confirm,
.community-firmware .inline-edit-cancel {
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    color: #fff;
    font-size: 11px;
    line-height: 1;
    cursor: pointer;
}

.community-firmware .inline-edit-confirm {
    background: #54a05a;
}

.community-firmware .inline-edit-cancel {
    background: #d06469;
}

.community-firmware .inline-edit-confirm:disabled,
.community-firmware .inline-edit-cancel:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

/* Overrided status badge */
.community-firmware .status {
    width: 56px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    font-family: Urbanist, sans-serif;
    font-weight: 600;
    font-size: 12px;
    line-height: 1;
    letter-spacing: 0px;
    vertical-align: middle;
    justify-self: center;
    margin: 0 auto;
}

.community-firmware .status.yes {
    background: #e5f5e5;
    border: 1px solid #c4e5c4;
    color: #54a05a;
}

.community-firmware .status.no {
    background: #fbe7e7;
    border: 1px solid #edbfc2;
    color: #d06469;
}

/* Edit icon */
.community-firmware .edit-icon {
    font-size: 17px;
    color: #333;
    cursor: pointer;
    text-align: center;
}

/* Building placeholder (right section of card) */
.community-firmware .building-placeholder {
    border-left: 1px solid #e4e4e4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 40px;
    color: #d8e4ef;
}

/* ── Responsive ──────────────────────────────────────────────────────── */

@media (max-width: 1100px) {
    .community-firmware .firmware-layout {
        grid-template-columns: 210px minmax(0, 1fr);
    }

    .community-firmware .firmware-card {
        grid-template-columns: 150px minmax(0, 1fr);
    }

    .community-firmware .institution-info {
        width: 150px;
        min-width: 150px;
        max-width: 150px;
    }

    .community-firmware .firmware-header,
    .community-firmware .firmware-row {
        grid-template-columns: minmax(75px, 1fr) 1fr 1.2fr 1fr 1.2fr 1fr 45px;
        column-gap: 7px;
        padding: 0 12px;
    }

    .community-firmware .firmware-card:not(.institution-summary-card) .firmware-header,
    .community-firmware .firmware-card:not(.institution-summary-card) .firmware-row {
        grid-template-columns: repeat(4, minmax(75px, 110px)) 56px 45px;
        column-gap: 20px;
        justify-content: start;
    }

    .community-firmware .institution-summary-card .firmware-header,
    .community-firmware .institution-summary-card .firmware-row {
        grid-template-columns: repeat(4, minmax(75px, 110px)) 56px 45px;
        column-gap: 20px;
        justify-content: start;
    }
}

@media (max-width: 850px) {
    .community-firmware .firmware-layout {
        grid-template-columns: 1fr;
    }

    .community-firmware .institution-panel {
        min-height: auto;
        max-height: 250px;
    }

    .community-firmware .firmware-card {
        grid-template-columns: 140px minmax(0, 1fr);
    }

    .community-firmware .institution-info {
        width: 140px;
        min-width: 140px;
        max-width: 140px;
    }

    .community-firmware .building-placeholder {
        display: none;
    }

    .community-firmware .firmware-details {
        overflow-x: auto;
    }
}

#tempo-v2-facility-firmware-page .panel.custom-panel {
    margin-bottom: 16px;
}

#tempo-v2-facility-firmware-page .panel-body {
    padding: 15px;
}

#tempo-v2-facility-firmware-page #edit_facility_firmware .control-label {
    display: block;
    margin-bottom: 6px;
    text-align: left;
}

#tempo-v2-facility-firmware-page #edit_facility_firmware .form-field-group {
    margin-bottom: 10px;
}

#tempo-v2-facility-firmware-page .custom-table-responsive {
    overflow: visible !important;
}

#tempo-v2-facility-firmware-page .custom-table-responsive .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

#tempo-v2-facility-firmware-page .custom-table-responsive .custom-table > thead.header > tr > th {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 60px !important;
    z-index: 10;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

#tempo-v2-facility-firmware-page .overrided-icon {
    color: green;
}

#tempo-v2-facility-firmware-page .reset-icon {
    color: red;
    margin-left: 6px;
}

#tempo-v2-facility-firmware-page .edit-icon {
    color: #337ab7;
    cursor: pointer;
}

#tempo-v2-facility-firmware-page .action-separator {
    margin: 0 6px;
    color: #ccc;
}

#tempo-v2-facility-firmware-page .parsley-error {
    border-color: #d9534f !important;
}

#tempo-v2-facility-firmware-page select.form-control {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 fill=%27%23333%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M1.5 5.5l6 6 6-6%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2rem;
}

#tempo-v2-facility-firmware-page select.form-control:disabled {
    background-color: #eee;
    cursor: not-allowed;
}

#edit_facility_firmware #fm_df_description_value[readonly] {
    background-color: #eee;
    color: #6c757d;
    cursor: not-allowed;
}

/* Edit modal form layout */
#edit_facility_firmware .form-group {
    display: flex;
    align-items: flex-start;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

#edit_facility_firmware .control-label {
    font-weight: 600;
    font-size: 13px;
    text-align: right;
    padding-top: 7px;
    padding-right: 20px;
}

#edit_facility_firmware .star_red {
    color: #d9534f;
    margin-left: 2px;
    font-size: 16px;
    vertical-align: middle;
}

#edit_facility_firmware .community-firmware-modal-footer {
    justify-content: flex-end;
    border-top: none !important;
}

#edit_facility_firmware .community-firmware-modal-footer .custom_cancel_btn,
#edit_facility_firmware .community-firmware-modal-footer .custom_save_btn {
    min-width: 80px;
    padding: 7px 18px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
}

#edit_facility_firmware .community-firmware-modal-footer .custom_cancel_btn {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

#edit_facility_firmware .community-firmware-modal-footer .custom_save_btn {
    border: 1px solid #f59325 !important;
    background: #f59325 !important;
    color: #ffffff !important;
}

#edit_facility_firmware .community-firmware-modal-footer .custom_cancel_btn:hover {
    background: #fff7f0 !important;
}

#edit_facility_firmware .community-firmware-modal-footer .custom_save_btn:hover:not(:disabled) {
    border-color: #d6831d !important;
    background: #d6831d !important;
}

#edit_facility_firmware .community-firmware-modal-footer .custom_cancel_btn.disabled {
    cursor: not-allowed;
    opacity: 0.65;
    pointer-events: none;
}

#edit_facility_firmware .community-firmware-modal-footer .custom_save_btn:disabled {
    cursor: not-allowed;
    opacity: 0.65;
}

#tempo-v2-facility-firmware-page .action-buttons {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

#tempo-v2-facility-firmware-page .acti {
    cursor: pointer;
}

#tempo-v2-facility-firmware-page .action-icon-button {
    display: inline-flex;
    width: 16px;
    height: 16px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
}

#tempo-v2-facility-firmware-page .action-icon-button:disabled {
    cursor: not-allowed;
    opacity: 0.75;
}

#tempo-v2-facility-firmware-page .refresh-icon {
    width: 16px;
    height: 16px;
}

#tempo-v2-facility-firmware-page .refresh-icon.rotating {
    animation: facility-firmware-reset-spin 0.8s linear infinite;
}

@keyframes facility-firmware-reset-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

#tempo-v2-facility-firmware-page .reset-action-wrapper {
    display: inline-flex;
    align-items: center;
    flex-direction: column;
    min-height: 16px;
    gap: 2px;
}

#tempo-v2-facility-firmware-page .reset-action-placeholder {
    display: inline-block;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
}

#tempo-v2-facility-firmware-page .resetting-label {
    color: #858B91;
    font-size: 11px;
    line-height: 1;
}

#tempo-v2-facility-firmware-page .fa-times-circle,
#tempo-v2-facility-firmware-page .fa-refresh {
    color: red;
}

#tempo-v2-facility-firmware-page .fa {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#add-upgrade-path-page .top-header {
    margin-bottom: 10px;
}

#add-upgrade-path-page .panel.custom-panel {
    margin-bottom: 16px;
}

#add-upgrade-path-page .panel.custom-panel > .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.175);
    background: #fff !important;
    color: #212529;
}

#add-upgrade-path-page .panel.custom-panel > .modal-header .modal-title {
    margin: 0;
    color: #212529;
    font-size: 1.25rem;
    font-weight: 500;
}

#add-upgrade-path-page .panel-body {
    padding: 15px;
    background: #fff;
    border-bottom: none;
    box-shadow: none;
}

#add-upgrade-path-page .control-label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 14px;
    text-align: left;
}

#add-upgrade-path-page .form-field-group {
    margin-bottom: 10px;
}

#add-upgrade-path-page .form-group {
    margin-bottom: 14px;
}

#add-upgrade-path-page sub,
#add-upgrade-path-page sup {
    position: relative;
    font-size: 100%;
    line-height: 0;
    vertical-align: baseline;
}

#add-upgrade-path-page sup {
    top: -0.2em;
}

#add-upgrade-path-page .m-t-10 {
    margin-top: 10px;
}

#add-upgrade-path-page .parsley-error {
    border-color: #d9534f !important;
}

#add-upgrade-path-page select.form-control {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 fill=%27%23333%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M1.5 5.5l6 6 6-6%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2rem;
}

/* Footer form-group border — scoped via direct child to avoid field form-groups */
#add-upgrade-path-page .panel-body > .form-group {
    border: none;
    padding: 15px;
    background: #fff;
}

#add-upgrade-path-page .custom_save_btn {
    min-width: 80px;
    border: 1px solid #f59325 !important;
    border-radius: 4px;
    background: #f59325 !important;
    color: #ffffff !important;
    padding: 7px 18px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

#add-upgrade-path-page .custom_save_btn:hover:not(:disabled) {
    background: #d6831d !important;
    border-color: #d6831d !important;
}

#add-upgrade-path-page .custom_cancel_btn {
    min-width: 80px;
    border: 1px solid #f59325 !important;
    border-radius: 4px;
    background: #ffffff !important;
    color: #f59325 !important;
    padding: 7px 18px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
}

#add-upgrade-path-page .custom_cancel_btn:hover {
    background: #fff7f0 !important;
}

#add-upgrade-path-page .custom_cancel_btn.disabled {
    cursor: not-allowed;
    opacity: 0.65;
    pointer-events: none;
}

#edit-upgrade-path-page .panel.custom-panel {
    margin-bottom: 16px;
}

#edit-upgrade-path-page .panel.custom-panel > .modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid rgba(0, 0, 0, 0.175);
    background: #fff !important;
    color: #212529;
}

#edit-upgrade-path-page .panel.custom-panel > .modal-header .modal-title {
    margin: 0;
    color: #212529;
    font-size: 1.25rem;
    font-weight: 500;
}

#edit-upgrade-path-page .panel-body {
    padding: 15px;
    background: #fff;
    border-bottom: none;
    box-shadow: none;
}

#edit-upgrade-path-page .control-label {
    display: block;
    margin-bottom: 6px;
    font-weight: 600;
    font-size: 14px;
    text-align: left;
}

#edit-upgrade-path-page .form-field-group {
    margin-bottom: 10px;
}

#edit-upgrade-path-page .form-group {
    margin-bottom: 14px;
}

#edit-upgrade-path-page sub,
#edit-upgrade-path-page sup {
    position: relative;
    font-size: 100%;
    line-height: 0;
    vertical-align: baseline;
}

#edit-upgrade-path-page sup {
    top: -0.2em;
}

#edit-upgrade-path-page .m-t-10 {
    margin-top: 10px;
}

#edit-upgrade-path-page .parsley-error {
    border-color: #d9534f !important;
}

#edit-upgrade-path-page select.form-control {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 fill=%27%23333%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M1.5 5.5l6 6 6-6%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2rem;
}

#edit-upgrade-path-page select:disabled,
#edit-upgrade-path-page input:disabled,
#edit-upgrade-path-page textarea:disabled {
    background-color: #eee;
    cursor: not-allowed;
}

/* Footer form-group border — scoped via direct child to avoid field form-groups */
#edit-upgrade-path-page .panel-body > .form-group {
    border: none;
    padding: 15px;
    background: #fff;
}

#edit-upgrade-path-page .custom_save_btn {
    min-width: 80px;
    border: 1px solid #f59325 !important;
    border-radius: 4px;
    background: #f59325 !important;
    color: #ffffff !important;
    padding: 7px 18px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
}

#edit-upgrade-path-page .custom_save_btn:hover:not(:disabled) {
    background: #d6831d !important;
    border-color: #d6831d !important;
}

#edit-upgrade-path-page .custom_cancel_btn {
    min-width: 80px;
    border: 1px solid #f59325 !important;
    border-radius: 4px;
    background: #ffffff !important;
    color: #f59325 !important;
    padding: 7px 18px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
}

#edit-upgrade-path-page .custom_cancel_btn:hover {
    background: #fff7f0 !important;
}

#edit-upgrade-path-page .custom_cancel_btn.disabled {
    cursor: not-allowed;
    opacity: 0.65;
    pointer-events: none;
}

#tempo-v2-upgrade-paths-page .custom-header {
    margin: 0 0 12px;
    border: none;
    font-size: 16px;
    font-weight: 700;
    line-height: 28px;
}

#tempo-v2-upgrade-paths-page.fm-new-fleet .fm-upgrade-toolbar {
    width: 100%;
    min-height: 73.37px;
    padding: 16px;
    border-radius: 8px;
    background-color: #FFFFFF;
    opacity: 1;
    justify-content: flex-start;
}

#tempo-v2-firmware-page #tempo-v2-upgrade-paths-page .fm-upgrade-toolbar,
#tempo-v2-firmware-page #tempo-v2-upgrade-paths-page .custom-panel,
#tempo-v2-firmware-page #tempo-v2-upgrade-paths-page .custom-panel .panel-body,
#tempo-v2-firmware-page #tempo-v2-upgrade-paths-page .custom-table-responsive {
    width: 100%;
}

#tempo-v2-firmware-page #tempo-v2-upgrade-paths-page .custom-panel .panel-body {
    padding-right: 0;
    padding-left: 0;
}

#tempo-v2-upgrade-paths-page.fm-new-fleet .fm-upgrade-toolbar .fm-back-column {
    margin-left: 0 !important;
    order: 1;
}

#tempo-v2-upgrade-paths-page.fm-new-fleet .fm-upgrade-toolbar .fm-search-column {
    order: 0;
}

#tempo-v2-upgrade-paths-page.fm-new-fleet .fm-upgrade-toolbar .fm-add-column {
    order: 2;
}

#tempo-v2-upgrade-paths-page .fm-search-box {
    position: relative;
}

#tempo-v2-upgrade-paths-page.fm-new-fleet .fm-search-box .custom_search {
    padding-right: 34px;
}

#tempo-v2-upgrade-paths-page .fm-search-icon {
    position: absolute;
    top: 50%;
    right: 12px;
    color: #858B91;
    font-size: 13px;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-50%);
}

#tempo-v2-upgrade-paths-page .fm-search-clear {
    position: absolute;
    top: 50%;
    right: 8px;
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #e9ecef;
    color: #555;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}

#tempo-v2-upgrade-paths-page .fm-search-clear:hover,
#tempo-v2-upgrade-paths-page .fm-search-clear:focus-visible {
    background: #ced4da;
    color: #000;
}

#tempo-v2-upgrade-paths-page .upgrade-path-form-modal .modal-body {
    padding: 0;
}

#tempo-v2-upgrade-paths-page .upgrade-path-form-modal .modal-dialog {
    margin: 1.75rem auto;
}

#tempo-v2-upgrade-paths-page .upgrade-path-form-modal .custom-panel {
    margin-bottom: 0;
}

#tempo-v2-upgrade-paths-page .custom-table-responsive {
    overflow: visible !important;
}

#tempo-v2-upgrade-paths-page .custom-table-responsive .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

#tempo-v2-upgrade-paths-page .custom-table-responsive .custom-table > thead.header > tr > th {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 60px !important;
    z-index: 10;
    height: 66.08px;
    border: none !important;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
    opacity: 1;
    vertical-align: middle;
}

#tempo-v2-upgrade-paths-page.fm-new-fleet .custom-table-responsive .custom-table > thead.header > tr > th {
    background: #E1E4EA !important;
}

#tempo-v2-upgrade-paths-page .custom-table > thead > tr > th:last-child {
    text-align: center;
}

#tempo-v2-upgrade-paths-page .fm-sort-icons {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: 6px;
    vertical-align: middle;
    cursor: pointer;
}

#tempo-v2-upgrade-paths-page .fm-sort-icons img {
    width: 7px;
    height: 12px;
}

#tempo-v2-upgrade-paths-page .firmware-upgrade-table-body tr {
    height: 75px;
    opacity: 1;
}

#tempo-v2-upgrade-paths-page .firmware-upgrade-table-body tr > td {
    height: 75px;
    border-top: 0.5px solid #E1E4EA !important;
    border-right: none !important;
    border-bottom: 0.5px solid #E1E4EA !important;
    border-left: none !important;
    vertical-align: middle;
}

#tempo-v2-upgrade-paths-page .firmware-upgrade-table-body tr > td:last-child {
    text-align: center;
}

#tempo-v2-upgrade-paths-page .firmware-upgrade-table-body tr.even-row > td {
    background-color: #F5F6F8 !important;
}

#tempo-v2-upgrade-paths-page .firmware-upgrade-table-body tr.alt-row > td {
    background-color: #FFFFFF !important;
}

#tempo-v2-upgrade-paths-page .edit-icon {
    width: 18px;
    height: 18px;
    cursor: pointer;
    margin-top: -8px;
}

#tempo-v2-upgrade-paths-page .delete-icon {
    padding: 0;
    border: 0;
    background: transparent;
    color: #337ab7;
    cursor: pointer;
}

#tempo-v2-upgrade-paths-page .delete-icon img {
    width: 16px;
    height: 16px;
    display: block;
}

#tempo-v2-upgrade-paths-page .delete-icon:hover {
    color: #23527c;
}

#tempo-v2-upgrade-paths-page .disabled-icon {
    color: #aaa;
    cursor: not-allowed;
}

#tempo-v2-upgrade-paths-page .action-separator {
    margin: 0 4px;
    color: #aaa;
}

#tempo-v2-upgrade-paths-page .delete-feedback-modal .delete-feedback-body {
    padding: 0 20px 10px;
    text-align: left;
}

#tempo-v2-upgrade-paths-page .delete-feedback-modal .form-group {
    margin-bottom: 12px;
}

#tempo-v2-upgrade-paths-page .delete-feedback-modal .control-label {
    font-weight: 600;
    padding-top: 6px;
}

#tempo-v2-upgrade-paths-page .delete-feedback-modal .lang_err_msg {
    color: red;
    font-weight: bold;
    margin-left: 2px;
}

#tempo-v2-upgrade-paths-page .delete-feedback-modal .textcmt {
    width: 100%;
    resize: vertical;
}

#tempo-v2-upgrade-paths-page .delete-feedback-modal .err_msg {
    color: #c0392b;
    font-size: 13px;
    margin: 4px 20px 0;
}

#tempo-overrides-page .tempo-overrides-header {
    font-size: 16px;
    font-weight: 700;
    margin: 0;
}

#tempo-overrides-page.fm-new-fleet .fm-overrides-title-row {
    margin-bottom: 12px;
}

#tempo-overrides-page.fm-new-fleet .fm-overrides-toolbar {
    width: 100%;
    min-height: 73.37px;
    padding: 16px;
    border-radius: 8px;
    background-color: #FFFFFF;
    opacity: 1;
    justify-content: flex-start;
}

#tempo-v2-firmware-page #tempo-overrides-page .fm-overrides-toolbar,
#tempo-v2-firmware-page #tempo-overrides-page .custom-panel,
#tempo-v2-firmware-page #tempo-overrides-page .custom-panel .panel-body,
#tempo-v2-firmware-page #tempo-overrides-page .custom-table-responsive {
    width: 100%;
}

#tempo-v2-firmware-page #tempo-overrides-page .custom-panel .panel-body {
    padding-right: 0;
    padding-left: 0;
}

#tempo-overrides-page.fm-new-fleet .fm-overrides-toolbar .fm-search-column {
    order: 0;
}

#tempo-overrides-page.fm-new-fleet .fm-overrides-toolbar .fm-back-column {
    order: 1;
    margin-left: 0 !important;
}

#tempo-overrides-page.fm-new-fleet .fm-overrides-toolbar .fm-add-column {
    order: 2;
}

#tempo-overrides-page .fm-search-box {
    position: relative;
}

#tempo-overrides-page.fm-new-fleet .fm-search-box .form-control {
    padding-right: 34px;
}

#tempo-overrides-page .fm-search-icon {
    position: absolute;
    top: 50%;
    right: 12px;
    color: #858B91;
    font-size: 13px;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-50%);
}

#tempo-overrides-page .fm-search-clear {
    position: absolute;
    top: 50%;
    right: 8px;
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #e9ecef;
    color: #555;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}

#tempo-overrides-page .fm-search-clear:hover,
#tempo-overrides-page .fm-search-clear:focus-visible {
    background: #ced4da;
    color: #000;
}

#tempo-overrides-page .panel.custom-panel {
    margin-bottom: 16px;
}

#tempo-overrides-page .panel-body {
    padding: 15px;
}

#tempo-overrides-page #edit_tempo_firmware .control-label {
    display: block;
    margin-bottom: 6px;
    text-align: left;
}

#tempo-overrides-page #edit_tempo_firmware .form-field-group {
    margin-bottom: 10px;
}

#tempo-overrides-page .custom-table-responsive {
    overflow: visible !important;
}

#tempo-overrides-page .custom-table-responsive .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

#tempo-overrides-page .custom-table-responsive .custom-table > thead.header > tr > th {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 60px !important;
    z-index: 10;
    height: 66.08px;
    border: none !important;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
    opacity: 1;
    vertical-align: middle;
}

#tempo-overrides-page.fm-new-fleet .custom-table-responsive .custom-table > thead.header > tr > th {
    background: #E1E4EA !important;
}

#tempo-overrides-page .custom-table > thead > tr > th:first-child,
#tempo-overrides-page .custom-table > tbody > tr > td:first-child {
    padding-left: calc(0.5rem + 5px);
}

#tempo-overrides-page .fm-sort-icons {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: 6px;
    vertical-align: middle;
    cursor: pointer;
}

#tempo-overrides-page .fm-sort-icons img {
    width: 7px;
    height: 14px;
}

#tempo-overrides-page .tempo-overrides-table-body tr {
    height: 75px;
    opacity: 1;
}

#tempo-overrides-page .tempo-overrides-table-body tr > td {
    height: 75px;
    border-top: 0.5px solid #E1E4EA !important;
    border-right: none !important;
    border-bottom: 0.5px solid #E1E4EA !important;
    border-left: none !important;
    vertical-align: middle;
}

#tempo-overrides-page .tempo-overrides-table-body tr > td:first-child {
    border-left: 0.5px solid #E1E4EA !important;
}

#tempo-overrides-page .tempo-overrides-table-body tr > td:last-child {
    border-right: 0.5px solid #E1E4EA !important;
}

#tempo-overrides-page .tempo-overrides-table-body tr.even-row > td {
    background-color: #F9F9F9 !important;
}

#tempo-overrides-page .tempo-overrides-table-body tr.alt-row > td {
    background-color: #FFFFFF !important;
}

#tempo-overrides-page .edit-icon,
#tempo-overrides-page .refresh-icon {
    width: 16px;
    height: 16px;
}

#tempo-overrides-page .refresh-icon.rotating {
    animation: tempo-override-reset-spin 0.8s linear infinite;
}

@keyframes tempo-override-reset-spin {
    from {
        transform: rotate(0deg);
    }

    to {
        transform: rotate(360deg);
    }
}

#tempo-overrides-page .action-buttons {
    display: flex;
    align-items: center;
    gap: 10px;
}

#tempo-overrides-page .acti {
    cursor: pointer;
}

#tempo-overrides-page .action-icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
}

#tempo-overrides-page .action-icon-button:disabled {
    cursor: not-allowed;
    opacity: 0.75;
}

#tempo-overrides-page .reset-action-wrapper {
    display: inline-flex;
    align-items: center;
    flex-direction: column;
    gap: 2px;
}

#tempo-overrides-page .resetting-label {
    color: #858B91;
    font-size: 11px;
    line-height: 1;
}

#tempo-overrides-page .fa-refresh {
    color: red;
}

#tempo-overrides-page .fa {
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    font-size: inherit;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#tempo-overrides-page select.form-control {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 fill=%27%23333%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M1.5 5.5l6 6 6-6%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2rem;
}

#tempo-overrides-page select.form-control:disabled {
    background-color: #eee;
    cursor: not-allowed;
}

/* Edit modal form layout */
#edit_tempo_firmware .form-group {
    display: flex;
    align-items: flex-start;
    margin-bottom: 14px;
    flex-wrap: wrap;
}

#edit_tempo_firmware .control-label {
    font-weight: 600;
    font-size: 13px;
    text-align: right;
    padding-top: 7px;
    padding-right: 20px;
}

#edit_tempo_firmware .star_red {
    color: #d9534f;
    margin-left: 2px;
    font-size: 16px;
    vertical-align: middle;
}

#edit_tempo_firmware select.form-control {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 fill=%27%23333%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M1.5 5.5l6 6 6-6%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2rem;
}

#edit_tempo_firmware select.form-control:disabled {
    background-color: #eee;
    cursor: not-allowed;
}

#edit_tempo_firmware textarea.form-control[readonly] {
    background-color: #eee;
    cursor: not-allowed;
}

#edit_tempo_firmware .parsley-error {
    border-color: #d9534f !important;
}

#edit_tempo_firmware .tempo-serial-picker {
    position: relative;
}

#edit_tempo_firmware .tempo-serial-picker .form-control {
    padding-right: 34px;
}

#edit_tempo_firmware .tempo-serial-picker-icon,
#edit_tempo_firmware .tempo-serial-picker-clear {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
}

#edit_tempo_firmware .tempo-serial-picker-icon {
    right: 12px;
    color: #858B91;
    font-size: 13px;
    pointer-events: none;
}

#edit_tempo_firmware .tempo-serial-picker-clear {
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #e9ecef;
    color: #555;
    cursor: pointer;
}

#edit_tempo_firmware .tempo-serial-picker-clear:hover,
#edit_tempo_firmware .tempo-serial-picker-clear:focus-visible {
    background: #ced4da;
    color: #000;
}

#edit_tempo_firmware .tempo-serial-options {
    position: absolute;
    z-index: 20;
    top: calc(100% + 4px);
    right: 0;
    left: 0;
    max-height: 180px;
    overflow-y: auto;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background: #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12);
}

#edit_tempo_firmware .tempo-serial-option {
    display: block;
    width: 100%;
    padding: 8px 12px;
    border: 0;
    border-bottom: 1px solid #eef0f2;
    background: #fff;
    color: #333;
    text-align: left;
    cursor: pointer;
}

#edit_tempo_firmware .tempo-serial-option:last-child {
    border-bottom: 0;
}

#edit_tempo_firmware .tempo-serial-option:hover,
#edit_tempo_firmware .tempo-serial-option:focus {
    background: #f5f6f8;
}

#edit_tempo_firmware .tempo-serial-no-options {
    padding: 8px 12px;
    color: #6c757d;
    font-size: 13px;
}

#edit_tempo_firmware .tempo-overrides-modal-footer {
    justify-content: flex-end;
    border-top: none !important;
}

#edit_tempo_firmware .tempo-overrides-modal-footer .custom_cancel_btn,
#edit_tempo_firmware .tempo-overrides-modal-footer .custom_save_btn {
    min-width: 80px;
    padding: 7px 18px;
    border-radius: 4px;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.5;
    cursor: pointer;
}

#edit_tempo_firmware .tempo-overrides-modal-footer .custom_cancel_btn {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

#edit_tempo_firmware .tempo-overrides-modal-footer .custom_save_btn {
    border: 1px solid #f59325 !important;
    background: #f59325 !important;
    color: #ffffff !important;
}

#edit_tempo_firmware .tempo-overrides-modal-footer .custom_cancel_btn:hover {
    background: #fff7f0 !important;
}

#edit_tempo_firmware .tempo-overrides-modal-footer .custom_save_btn:hover:not(:disabled) {
    border-color: #d6831d !important;
    background: #d6831d !important;
}

#edit_tempo_firmware .tempo-overrides-modal-footer .custom_cancel_btn.disabled {
    cursor: not-allowed;
    opacity: 0.65;
    pointer-events: none;
}

#tempo-v2-firmware-page .page_title {
    font-weight: 700;
}

#tempo-v2-firmware-page .custom-header {
    font-size: 16px;
    margin: 0 0 12px;
    padding: 0;
    border: none;
    line-height: 28px;
}

#tempo-v2-firmware-page.fm-new-fleet .fm-new-header .custom-header {
    margin-bottom: 12px;
}

#tempo-v2-firmware-page .fm-tabs-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    flex-wrap: nowrap;
    gap: 16px;
    margin-bottom: 12px !important;
}

#tempo-v2-firmware-page .fm-tabs {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: 0;
    min-width: 0;
    margin-bottom: 0;
    overflow-x: auto;
    overflow-y: visible;
    scrollbar-width: thin;
}

#tempo-v2-firmware-page .fm-tab {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    padding: 9px 13px;
    border: none;
    border-radius: 0;
    background: #fff;
    color: #333;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    transition: background 0.18s, color 0.18s;
    user-select: none;
    white-space: nowrap;
}

#tempo-v2-firmware-page .fm-tab:first-child {
    border-radius: 6px 0 0 6px;
}

#tempo-v2-firmware-page .fm-tab:last-child {
    border-radius: 0 6px 6px 0;
}

#tempo-v2-firmware-page .fm-tab:hover:not(.fm-tab--active) {
    background: #fef3e4;
}

#tempo-v2-firmware-page .fm-tab:focus-visible {
    outline: 2px solid #f59325;
    outline-offset: 2px;
}

#tempo-v2-firmware-page .fm-tab--active {
    position: relative;
    z-index: 2;
    background: #f59325;
    color: #fff;
    font-weight: 550;
}

#tempo-v2-firmware-page .fm-table-toolbar {
    width: 100%;
    min-height: 73.37px;
    padding: 16px;
    background-color: #FFFFFF;
    opacity: 1;
}

#tempo-v2-firmware-page .firmware-management-panel,
#tempo-v2-firmware-page .firmware-management-panel .panel-body,
#tempo-v2-firmware-page .custom-table-responsive {
    width: 100%;
}

#tempo-v2-firmware-page .firmware-management-panel .panel-body {
    padding-right: 0;
    padding-left: 0;
}

#tempo-v2-firmware-page .common-table-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 12px 16px;
    border-top: 1px solid #e1e4ea;
    background: #fff;
    flex-wrap: wrap;
}

#tempo-v2-firmware-page .common-table-pagination .ctp-left,
#tempo-v2-firmware-page .common-table-pagination .ctp-right,
#tempo-v2-firmware-page .common-table-pagination .ctp-controls,
#tempo-v2-firmware-page .fm-page-size-control {
    display: flex;
    align-items: center;
    gap: 8px;
}

#tempo-v2-firmware-page .fm-page-size-control label,
#tempo-v2-firmware-page .fm-page-size-control span,
#tempo-v2-firmware-page .common-table-pagination .ctp-info,
#tempo-v2-firmware-page .common-table-pagination .ctp-page-label {
    margin: 0;
    color: #5d5e60;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}

#tempo-v2-firmware-page .fm-page-size-control .form-select {
    width: 82px;
    height: 34px;
    font-size: 12px;
}

#tempo-v2-firmware-page .common-table-pagination .ctp-btn {
    display: inline-flex;
    min-width: 32px;
    height: 32px;
    align-items: center;
    justify-content: center;
    padding: 0 10px !important;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    background: #fff;
    color: #333;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
}

#tempo-v2-firmware-page .common-table-pagination .ctp-controls .ctp-btn:first-of-type,
#tempo-v2-firmware-page .common-table-pagination .ctp-controls .ctp-btn:last-of-type {
    font-size: 14px;
}

#tempo-v2-firmware-page .common-table-pagination .ctp-controls .ctp-btn:first-of-type::before,
#tempo-v2-firmware-page .common-table-pagination .ctp-controls .ctp-btn:last-of-type::before {
    content: none;
}

#tempo-v2-firmware-page .common-table-pagination .ctp-btn:hover:not(:disabled):not(.ctp-btn--active) {
    border-color: #bbb;
    background: #f5f5f5;
}

#tempo-v2-firmware-page .common-table-pagination .ctp-btn:disabled:not(.ctp-btn--active) {
    cursor: not-allowed;
    opacity: 0.5;
}

#tempo-v2-firmware-page .common-table-pagination .ctp-btn--active {
    border-color: #f59325;
    background: #f59325;
    color: #fff;
    font-weight: 600;
    cursor: default;
}

#tempo-v2-firmware-page .fm-search-box {
    position: relative;
}

#tempo-v2-firmware-page.fm-new-fleet .fm-search-box .custom_search {
    padding-right: 34px;
}

#tempo-v2-firmware-page .fm-search-box input[type="search"]::-webkit-search-cancel-button {
    appearance: none;
}

#tempo-v2-firmware-page .fm-add-column {
    text-align: right;
}

#tempo-v2-firmware-page .firmware-default-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 16px;
    border-radius: 8px;
    margin-bottom: 12px;
    background: #fff;
}

#tempo-v2-firmware-page .firmware-default-search-form {
    width: min(100%, 320px);
}

#tempo-v2-firmware-page .firmware-default-add-button {
    flex: 0 0 auto;
    border-color: #f59325;
    background: #f59325;
    color: #fff;
}

#tempo-v2-firmware-page .firmware-default-add-button:hover,
#tempo-v2-firmware-page .firmware-default-add-button:focus {
    border-color: #e68416;
    background: #e68416;
    color: #fff;
}

/* Leave room so the fixed page footer doesn't cover the last card's border */
#tempo-v2-firmware-page .firmware-default-list {
    padding: 0 0 60px;
    background: #F4F4F4;
}

#tempo-v2-firmware-page .firmware-default-empty {
    padding: 32px 16px;
    background: #fff;
    color: #666;
    text-align: center;
}

#tempo-v2-firmware-page .firmware-card {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    min-height: 130px;
    align-items: center;
    gap: 34px;
    padding: 22px;
    border: 1px solid #eee;
    background: #fff;
}

#tempo-v2-firmware-page .firmware-badge {
    display: flex;
    width: 135px;
    height: 88px;
    flex-shrink: 0;
    flex-direction: column;
    justify-content: space-between;
    padding: 11px 16px;
    border-radius: 4px;
    background: #f59325;
    color: #fff;
}

#tempo-v2-firmware-page .firmware-badge__title {
    font-size: 12px;
    font-weight: 600;
    line-height: 19px;
    text-align: center;
}

#tempo-v2-firmware-page .firmware-badge__subtitle {
    font-size: 11px;
    line-height: 14px;
    text-align: center;
}

#tempo-v2-firmware-page .firmware-info {
    display: grid;
    width: 522px;
    grid-template-columns: 105px 130px 105px 130px;
    align-items: center;
    column-gap: 17px;
    row-gap: 24px;
}

#tempo-v2-firmware-page .firmware-info .field-label {
    display: flex;
    width: 102.67px;
    min-height: 18.23px;
    align-items: center;
    color: #808891;
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 12px;
    line-height: 22px;
    white-space: nowrap;
}

#tempo-v2-firmware-page .firmware-info .field-value {
    width: 130px;
    max-width: 100%;
    min-height: 21px;
    padding: 3px 6px;
    border: 1px solid #6ba7ff;
    border-radius: 4px;
    outline: none;
    background: #f4f8ff;
    color: #5d5e60;
    font-family: "Urbanist", sans-serif;
    font-style: normal;
    font-weight: 600;
    font-size: 12px;
    line-height: 14px;
    text-align: center;
}

#tempo-v2-firmware-page .description-wrapper {
    display: flex;
    width: 412px;
    height: 86px;
    flex-shrink: 0;
    flex-direction: column;
    padding: 11px 17px;
    border-radius: 4px;
    background: #f3f7fc;
}

#tempo-v2-firmware-page .description-label {
    display: flex;
    width: 172.76px;
    height: 13px;
    align-items: center;
    margin-bottom: 17px;
    color: #000;
    font-family: "Inter", sans-serif;
    font-style: normal;
    font-weight: 500;
    font-size: 11px;
    line-height: 13px;
}

#tempo-v2-firmware-page .description {
    width: 100%;
    flex: 1;
    padding: 0;
    border: none;
    outline: none;
    background: #F4F9FF;
    color: #777;
    font-family: inherit;
    font-size: 11px;
    resize: none;
}

#tempo-v2-firmware-page .firmware-update-button {
    display: flex;
    width: 119px;
    height: 40px;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0 auto;
    border: none;
    border-radius: 5px;
    background: #f59325;
    color: #fff;
    font-size: 15px;
    cursor: pointer;
}

#tempo-v2-firmware-page .firmware-update-button:hover {
    background: #e68416;
}

#tempo-v2-firmware-page .firmware-refresh-icon {
    width: 17px;
    height: 17px;
    object-fit: contain;
    filter: brightness(0) invert(1);
}

#firmware_form_modal .modal-dialog {
    width: 100%;
    max-width: 800px;
    margin: 1.75rem auto;
}

#firmware_form_modal .modal-body {
    padding: 0;
}

#firmware_form_modal .custom-panel {
    margin-bottom: 0;
}

#firmware_form_modal .footer-button-add-tempo {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
}

#tempo-v2-firmware-page .fm-search-icon {
    position: absolute;
    top: 50%;
    right: 12px;
    color: #858B91;
    font-size: 13px;
    line-height: 1;
    pointer-events: none;
    transform: translateY(-50%);
}

#tempo-v2-firmware-page .fm-search-clear {
    position: absolute;
    top: 50%;
    right: 8px;
    display: inline-flex;
    width: 20px;
    height: 20px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: #e9ecef;
    color: #555;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    transform: translateY(-50%);
}

#tempo-v2-firmware-page .fm-search-clear:hover,
#tempo-v2-firmware-page .fm-search-clear:focus-visible {
    background: #ced4da;
    color: #000;
}

/* Original layout needs ~1600px of viewport (220px sidebar); compact it below that */
@media (min-width: 768px) and (max-width: 1600px) {
    #tempo-v2-firmware-page .firmware-card {
        gap: 24px;
    }

    #tempo-v2-firmware-page .description-wrapper {
        width: 288px;
        min-width: 160px;
        flex-shrink: 1;
    }

    #tempo-v2-firmware-page .firmware-update-button {
        flex-shrink: 0;
        margin: 0;
    }
}

@media (min-width: 768px) and (max-width: 1340px) {
    #tempo-v2-firmware-page .firmware-card {
        flex-wrap: wrap;
    }
}

@media (max-width: 900px) {
    #tempo-v2-firmware-page .fm-tabs-row {
        gap: 8px;
    }
}

@media (max-width: 767.98px) {
    #tempo-v2-firmware-page .fm-add-column {
        text-align: left;
    }

    #tempo-v2-firmware-page .firmware-default-actions {
        align-items: stretch;
        flex-direction: column;
        justify-content: flex-start;
    }

    #tempo-v2-firmware-page .firmware-default-search-form {
        width: 100%;
    }

    #tempo-v2-firmware-page .firmware-card {
        align-items: flex-start;
        flex-direction: column;
    }

    #tempo-v2-firmware-page .firmware-info,
    #tempo-v2-firmware-page .description-wrapper {
        width: 100%;
    }

    #tempo-v2-firmware-page .firmware-info {
        grid-template-columns: minmax(0, 1fr) minmax(0, 130px);
    }
}

#tempo-v2-firmware-page .custom-table-responsive {
    overflow: visible !important;
}

#tempo-v2-firmware-page .custom-table-responsive .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

#tempo-v2-firmware-page .custom-table-responsive .custom-table > thead.header > tr > th {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 60px !important;
    z-index: 10;
    height: 66.08px;
    border: none !important;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
    opacity: 1;
    vertical-align: middle;
}

#tempo-v2-firmware-page.fm-new-fleet .custom-table-responsive .custom-table > thead.header > tr > th {
    background: #E1E4EA !important;
}

#tempo-v2-firmware-page .firmware-list-table-header > tr > th {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 500;
    line-height: 17px;
    text-transform: capitalize;
    color: #000 !important;
}

#tempo-v2-firmware-page #firmware-list-panel .custom-table > thead > tr > th:first-child,
#tempo-v2-firmware-page #firmware-list-panel .custom-table > tbody > tr > td:first-child {
    padding-left: calc(0.5rem + 5px);
}

#tempo-v2-firmware-page #firmware-list-panel .custom-table > thead > tr > th:last-child {
    text-align: center;
}

#tempo-v2-firmware-page .fm-sort-icons {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    margin-left: 6px;
    vertical-align: middle;
    cursor: pointer;
}

#tempo-v2-firmware-page .fm-sort-icons img {
    width: 7px;
    height: 14px;
}

#tempo-v2-firmware-page .firmware-management-table-body .edit-icon {
    width: 16px;
    height: 16px;
}

#tempo-v2-firmware-page .firmware-management-table-body .git_sha_link,
#tempo-v2-firmware-page .firmware-management-table-body .git_sha_link:hover {
    text-decoration: none;
    cursor: pointer;
    padding-left: 5px;
}

#tempo-v2-firmware-page .firmware-file-name,
#tempo-v2-firmware-page .firmware-file-extension {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-style: normal;
    line-height: 100%;
    letter-spacing: 0;
    text-transform: capitalize;
}

#tempo-v2-firmware-page .firmware-file-name {
    font-weight: 400;
}

#tempo-v2-firmware-page .firmware-file-extension {
    font-weight: 600;
}

#tempo-v2-firmware-page .firmware-management-table-body tr {
    height: 75px;
    opacity: 1;
}

#tempo-v2-firmware-page .firmware-management-table-body tr > td {
    height: 75px;
    border-top: 0.5px solid #E1E4EA !important;
    border-right: none !important;
    border-bottom: 0.5px solid #E1E4EA !important;
    border-left: none !important;
    vertical-align: middle;
}

#tempo-v2-firmware-page .firmware-management-table-body tr > td:first-child {
    border-left: 0.5px solid #E1E4EA !important;
}

#tempo-v2-firmware-page .firmware-management-table-body tr > td:last-child {
    border-right: 0.5px solid #E1E4EA !important;
    text-align: center;
}

#tempo-v2-firmware-page .firmware-management-table-body tr.even-row > td {
    background-color: #F9F9F9 !important;
}

#tempo-v2-firmware-page .firmware-management-table-body tr.alt-row > td {
    background-color: #FFFFFF !important;
}

/* Fixed-width Description column; text up to 128 chars wraps onto extra lines */
#tempo-v2-firmware-page .firmware-description-col {
    width: 200px;
    min-width: 200px;
    max-width: 200px;
}

#tempo-v2-firmware-page .firmware-management-table-body td.firmware-description-col {
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    line-height: 1.4;
}

#firmware-chain-view-page .page_title {
    font-weight: 700;
}

#firmware-chain-view-page .custom-header {
    font-size: 16px;
    margin: 0;
    padding: 0;
    border: none;
    line-height: 28px;
}
#firmware-chain-view-page .firmware-chain-toolbar {
    margin-bottom: 8px;
}


#firmware-chain-view-page .custom-panel > .panel-body {
    padding: 0;
}

#firmware-chain-view-page .custom-table-responsive {
    overflow: visible;
}

#firmware-chain-view-page .custom-table-responsive .custom-table > thead > tr > th {
    position: sticky;
    top: 60px;
    z-index: 10;
    box-shadow: 0 1px 0 #e2e7eb;
}
#firmware-chain-view-page .firmware-sortable-header {
    cursor: pointer;
}

.firmware-chain-label {
    display: inline-block;
    margin: 0;
}

#firmware-chain-view-page .firmware-chain-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 5px;
}

#firmware-chain-view-page .firmware-chain-badges .label {
    padding: 0.3em 0.55em;
    border-radius: 2px;
}

#firmware-chain-view-page .edit-icon,
#firmware-chain-view-page .delete-icon {
    color: #337ab7;
    cursor: pointer;
}

#firmware-chain-view-page .edit-icon:hover,
#firmware-chain-view-page .delete-icon:hover {
    color: #23527c;
}
#firmware-chain-view-page .disabled-icon {
    color: #337ab7;
    cursor: not-allowed;
}

#firmware-chain-view-page .badge,
#firmware-chain-view-page .label {
    font-size: 75%;
    font-weight: 600;
    line-height: 1.25;
}

#firmware-chain-view-page .badge.badge-square {
    border-radius: 0;
}

#firmware-chain-view-page .badge.badge-default,
#firmware-chain-view-page .label.label-default  { background: #b6c2c9; }

#firmware-chain-view-page .badge.badge-danger,
#firmware-chain-view-page .label.label-danger   { background: #ff5b57; color: #fff; }

#firmware-chain-view-page .label.label-danger.bg-purple-darker { background: #5b6392 !important; color: #fff; }

#firmware-chain-view-page .badge.badge-warning,
#firmware-chain-view-page .label.label-warning  { background: #f59c1a; }

#firmware-chain-view-page .badge.badge-success,
#firmware-chain-view-page .label.label-success  { background: #00acac; }

#firmware-chain-view-page .badge.badge-info,
#firmware-chain-view-page .label.label-info     { background: #49b6d6; }

#firmware-chain-view-page .badge.badge-primary,
#firmware-chain-view-page .label.label-primary  { background: #348fe2; color: #fff; }

#firmware-chain-view-page .badge.badge-inverse,
#firmware-chain-view-page .label.label-inverse  { background: #2d353c; }

#firmware-chain-log-view-page .page_title {
    font-weight: 700;
}

#firmware-chain-log-view-page .custom-header {
    font-size: 16px;
    margin: 0;
    padding: 0;
    border: none;
    line-height: 28px;
}

#firmware-chain-log-view-page .firmware-chain-log-toolbar {
    margin-bottom: 8px;
}

#firmware-chain-log-view-page .custom-hr-bottom {
    margin: 0 0 12px;
}

#firmware-chain-log-view-page .custom-panel > .panel-body {
    padding: 0;
}

#firmware-chain-log-view-page .custom-table-responsive {
    overflow: visible;
}

#firmware-chain-log-view-page .custom-table-responsive .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 10;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

#firmware-chain-log-view-page .firmware-sortable-header {
    cursor: pointer;
}


/* SVer filter: CSS-based option visibility matching PHP display_none/display_block */
#firmware-chain-page option.display_none { display: none; }
#firmware-chain-page option.display_block { display: block; }

/* firmware_details: label + value on one line */
#firmware-chain-page .fc-detail-row { display: flex; align-items: baseline; margin-bottom: 4px; }
#firmware-chain-page .fc-detail-label { white-space: nowrap; margin-right: 6px; margin-bottom: 0; font-weight: normal; }

/* Choose Firmware modal: two selects side by side */
.fc-fw-selects-row { display: flex !important; align-items: flex-start; gap: 0; flex-wrap: nowrap; }
.fc-fw-selects-row .col-md-4 { float: none !important; flex: 0 0 33.33333%; max-width: 33.33333%; }
.fc-fw-selects-row .col-md-offset-2 { margin-left: 16.66666667% !important; }

@media (min-width: 992px) {
    #firmware-chain-page .col-md-offset-2 {
        margin-left: 16.66666667% !important;
    }
}

#firmware-chain-page .col-md-offset-2 {
    margin-left: 16.66666667% !important;
}

#firmware-chain-page .col-md-offset-1 {
    margin-left: 8.33333333% !important;
}

@media (min-width: 992px) {
    #firmware-chain-page .col-md-offset-1 {
        margin-left: 8.33333333% !important;
    }
}

@media (min-width: 992px) {
    #firmware-chain-page .col-md-10 {
        width: 83.33333333% !important;
    }
}

#firmware-chain-page .star_red {
    color: red !important;
}

#firmware-chain-page sup {
    position: relative !important;
    font-size: 75% !important;
    line-height: 0 !important;
    vertical-align: baseline !important;
    top: -.5em !important;
}

/* Step 1 equal-height columns */
#firmware-chain-page .fc-step1-row {
    display: flex;
    align-items: stretch;
}

#firmware-chain-page .fc-step1-row > .col-md-6 {
    display: flex;
    flex-direction: column;
}

#firmware-chain-page .fc-step1-row .col-md-10 {
    display: flex;
    flex-direction: column;
    flex: 1;
}

#firmware-chain-page .fc-step1-row .fc-desc-group {
    display: flex;
    flex-direction: column;
    flex: 1;
}

#firmware-chain-page .fc-step1-row .fc-desc-group textarea {
    flex: 1;
    resize: vertical;
    min-height: 80px;
}

/* ── Page scope ──────────────────────────────────────────────────────────── */
#firmware-chain-page .top-header {
    margin-bottom: 10px;
}

#firmware-chain-page .firmware-header {
    font-size: 16px;
    font-weight: 700;
}

#firmware-chain-page .panel.custom-panel {
    margin-bottom: 16px;
}

#firmware-chain-page .panel-heading.custom-panel-heading {
    background: #f5f5f5;
    border-bottom: 1px solid #e2e7eb;
    padding: 10px 15px;
    font-size: 14px; /* reset from fc-step-content 21px so labels/icons scale normally */
}

#firmware-chain-page .panel-heading.custom-panel-heading .panel-title {
    font-size: 14px;
    font-weight: 600;
    margin: 0;
}

#firmware-chain-page .panel-body {
    padding: 15px;
}

#firmware-chain-page .control-label {
    font-weight: 600;
    font-size: 14px;
}

#firmware-chain-page .form-group {
    margin-bottom: 14px;
}

#firmware-chain-page .parsley-error {
    border-color: #d9534f !important;
}

#firmware-chain-page select.form-control {
    appearance: none;
    -webkit-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 fill=%27%23333%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M1.5 5.5l6 6 6-6%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2rem;
}

#firmware-chain-page select.form-control:disabled {
    background-color: #eee;
    cursor: not-allowed;
}

/* ── Wizard step indicator (bwizard-style) ───────────────────────────────── */
#firmware-chain-page .bwizard-steps {
    list-style: none;
    overflow: hidden;
    padding: 0;
    margin: 0 0 24px;
    display: table;
    width: 100%;
}

#firmware-chain-page .bwizard-steps li {
    display: table-cell !important;
    position: relative;
    line-height: 20px !important;
    list-style: none;
    padding: 15px !important;
    background: #f0f3f4 !important;
    -webkit-border-radius: 0 !important;
    -moz-border-radius: 0 !important;
    border-radius: 0 !important;
    height: 60px;
    box-sizing: border-box;
    overflow: hidden;
    cursor: pointer;
    color: #666;
}

#firmware-chain-page .bwizard-steps li:first-child {
    -webkit-border-radius: 4px 0 0 4px !important;
    -moz-border-radius: 4px 0 0 4px !important;
    border-radius: 4px 0 0 4px !important;
    padding-left: 12px !important;
}

/* Chevron arrow */
#firmware-chain-page .bwizard-steps li:not(:last-child)::after {
    content: '';
    position: absolute;
    top: 0;
    right: -14px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 0 30px 14px;
    border-color: transparent transparent transparent #f0f3f4;
    z-index: 2;
}

/* Chevron border shadow */
#firmware-chain-page .bwizard-steps li:not(:last-child)::before {
    content: '';
    position: absolute;
    top: 0;
    right: -16px;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 30px 0 30px 16px;
    border-color: transparent transparent transparent #d1d9e0;
    z-index: 1;
}

#firmware-chain-page .bwizard-steps li.active,
#firmware-chain-page .bwizard-steps li.active:focus,
#firmware-chain-page .bwizard-steps li.active:hover {
    background: #00acac !important;
    color: #fff;
}

#firmware-chain-page .bwizard-steps li.active::after {
    border-left-color: #00acac;
}

/* Done = completed past steps; no equivalent in bwizard but useful for UX */
#firmware-chain-page .bwizard-steps li.done {
    background: #e0f5f5 !important;
    color: #008a8a;
}

#firmware-chain-page .bwizard-steps li.done::after {
    border-left-color: #e0f5f5;
}

/* Hover for inactive/done steps */
#firmware-chain-page .bwizard-steps li:not(.active):hover {
    background: rgb(211, 218, 223) !important;
}

#firmware-chain-page .bwizard-steps li:not(.active):hover::after {
    border-left-color: rgb(211, 218, 223);
}

#firmware-chain-page .bwizard-steps .label {
    float: left !important;
    padding: 0 !important;
    height: 20px !important;
    width: 20px !important;
    line-height: 20px !important;
    text-align: center !important;
    margin-right: 10px !important;
    top: 0 !important;
    background: #6d7479 !important;
    -webkit-border-radius: 50% !important;
    -moz-border-radius: 50% !important;
    border-radius: 50% !important;
    font-size: 75%;
    font-weight: 600;
    color: #fff;
    position: relative;
}

#firmware-chain-page .bwizard-steps li.active .label,
#firmware-chain-page .bwizard-steps .label.badge-inverse {
    background: rgba(0, 0, 0, 0.2) !important;
}

#firmware-chain-page .bwizard-steps li.done .label {
    background: rgba(0, 0, 0, 0.2) !important;
    color: #fff;
}

#firmware-chain-page .bwizard-steps li > span:not(.label) {
    display: block;
    overflow: hidden;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 20px;
}

#firmware-chain-page .bwizard-steps li small {
    display: block;
    font-size: 11px !important;
    color: #999 !important;
    display: block !important;
    line-height: 14px !important;
    margin-top: 3px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

#firmware-chain-page .bwizard-steps li.active small {
    color: #b2e6e6 !important;
}

#firmware-chain-page .bwizard-steps li.done small {
    color: #7a8c96;
}

/* ── Step content ─────────────────────────────────────────────────────────── */
#firmware-chain-page .fc-step-content {
    padding: 4px 10px 12px;
    border: 1px solid #ddd;
    font-size: 14px;
    line-height: inherit;
    color: #333;
    overflow: hidden; /* clear pager floats so panel-body expands to contain them */
}

#firmware-chain-page .btn_custom_border {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

/* Reset pager font-size back to base so buttons stay small */
#firmware-chain-page .pager.bwizard-buttons {
    font-size: 14px !important;
}

#firmware-chain-page .panel.custom-panel .panel-body {
    padding-bottom: 20px !important;
}

#firmware-chain-page .fc-step-heading {
    font-size: 15px;
    font-weight: 700;
    margin-bottom: 18px;
    padding-bottom: 8px;
    border-bottom: 1px solid #e2e7eb;
}

/* ── Wizard nav ───────────────────────────────────────────────────────────── */
#firmware-chain-page .fc-wizard-nav {
    margin-top: 20px;
    padding-top: 16px;
    border-top: 1px solid #e2e7eb;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

/* ── Tag multi-select ─────────────────────────────────────────────────────── */
#firmware-chain-page .fc-tag-container {
    position: relative;
}

#firmware-chain-page .fc-tag-input-wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    min-height: 38px;
    border: 1px solid #d1d9e0;
    border-radius: 4px;
    padding: 4px 8px;
    background: #fff;
    cursor: text;
}

#firmware-chain-page .fc-tag-input-wrapper:focus-within {
    border-color: #1b90e0;
    box-shadow: 0 0 0 2px rgba(27, 144, 224, 0.15);
}

#firmware-chain-page .fc-tag {
    display: inline-flex;
    align-items: center;
    background: #348fe2;
    color: #fff;
    border-radius: 3px;
    padding: 2px 6px;
    font-size: 12px;
    gap: 4px;
    line-height: 1.5;
}

#firmware-chain-page .fc-tag-remove {
    background: none;
    border: none;
    color: rgba(255, 255, 255, 0.85);
    cursor: pointer;
    padding: 0;
    font-size: 15px;
    line-height: 1;
    transition: color 0.1s;
}

#firmware-chain-page .fc-tag-remove:hover {
    color: #fff;
}

#firmware-chain-page .fc-tag-input {
    border: none;
    outline: none;
    flex: 1;
    min-width: 120px;
    font-size: 14px;
    padding: 2px 0;
    background: transparent;
}

#firmware-chain-page .fc-tag-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    max-height: 200px;
    overflow-y: auto;
    border: 1px solid #d1d9e0;
    border-top: none;
    background: #fff;
    z-index: 1050;
    border-radius: 0 0 4px 4px;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

#firmware-chain-page .fc-tag-dropdown-item {
    padding: 8px 12px;
    cursor: pointer;
    font-size: 13px;
    transition: background 0.1s;
}

#firmware-chain-page .fc-tag-dropdown-item:hover {
    background: #f0f7ff;
}

#firmware-chain-page .fc-tag-no-results {
    color: #999;
    cursor: default;
}

#firmware-chain-page .fc-tag-no-results:hover {
    background: transparent;
}

/* ── Firmware list (sortable) ─────────────────────────────────────────────── */
#firmware-chain-page .fc-fw-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

#firmware-chain-page .fc-no-firmware {
    color: #999;
    font-style: italic;
    padding: 16px 0;
    font-size: 14px;
}

#firmware-chain-page .fc-fw-card {
    border: 1px solid #e2e7eb;
    border-radius: 4px;
    background: #fff;
    cursor: grab;
    transition: border-color 0.15s, box-shadow 0.15s;
}

#firmware-chain-page .fc-fw-card:active {
    cursor: grabbing;
}

#firmware-chain-page .fc-fw-card.drag-over {
    border: 2px dashed #f59325;
    background: #fffbf5;
}

#firmware-chain-page .fc-fw-card-header {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 8px 12px;
    background: #f8f9fa;
    border-bottom: 1px solid #e2e7eb;
    flex-wrap: wrap;
    border-radius: 4px 4px 0 0;
}

#firmware-chain-page .fc-fw-drag-handle {
    font-size: 18px;
    color: #b6c2c9;
    cursor: grab;
    user-select: none;
    flex-shrink: 0;
}

#firmware-chain-page .fc-fw-title {
    font-weight: 600;
    font-size: 13px;
    flex: 1;
    min-width: 100px;
}

#firmware-chain-page .fc-fw-card-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
    flex-wrap: wrap;
}

#firmware-chain-page .fc-fw-action-btn {
    background: none;
    border: none;
    color: #666;
    cursor: pointer;
    padding: 4px 7px;
    font-size: 13px;
    border-radius: 3px;
    transition: background 0.1s;
    line-height: 1;
}

#firmware-chain-page .fc-fw-action-btn:hover {
    background: #e2e7eb;
}

#firmware-chain-page .fc-fw-action-btn:disabled {
    color: #ccc;
    cursor: not-allowed;
    background: none;
}

#firmware-chain-page .fc-fw-action-btn.fc-remove-btn:hover {
    background: #ffe5e5;
    color: #d9534f;
}

#firmware-chain-page .fc-fw-enable-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 12px;
    cursor: pointer;
    margin: 0;
    white-space: nowrap;
    padding: 3px 7px;
    border: 1px solid #d1d9e0;
    border-radius: 3px;
    background: #fff;
    transition: background 0.1s;
}

#firmware-chain-page .fc-fw-enable-label:hover {
    background: #f0f7ff;
}

#firmware-chain-page .fc-fw-enable-label input[type="checkbox"] {
    margin: 0;
    cursor: pointer;
}

#firmware-chain-page .fc-fw-card-body {
    padding: 8px 12px;
    font-size: 12px;
    color: #666;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    border-radius: 0 0 4px 4px;
}

/* ── Firmware chooser modal ───────────────────────────────────────────────── */
.fc-fw-modal .modal-header {
    padding: 12px 16px;
}

.fc-fw-modal .modal-title {
    font-size: 15px;
    font-weight: 700;
}

.fc-fw-details-panel {
    background: #f8f9fa;
    border: 1px solid #e2e7eb;
    border-radius: 4px;
    padding: 12px 16px;
    margin-top: 12px;
}

.fc-fw-details-panel h5 {
    font-size: 13px;
    font-weight: 700;
    margin-bottom: 8px;
    color: #2d353c;
}

.fc-fw-details-panel .table {
    margin-bottom: 0;
}

.fc-fw-details-panel .table th {
    font-weight: 600;
    font-size: 12px;
    color: #666;
    white-space: nowrap;
    padding: 4px 8px 4px 0;
    border: none;
}

.fc-fw-details-panel .table td {
    font-size: 13px;
    padding: 4px 8px;
    border: none;
}

/* ── Review panel ─────────────────────────────────────────────────────────── */
#firmware-chain-page .fc-review-body {
    padding: 12px 16px;
}

#firmware-chain-page .fc-review-row {
    display: flex;
    align-items: flex-start;
    margin-bottom: 8px;
    font-size: 14px;
    line-height: 1.5;
}

#firmware-chain-page .fc-review-label {
    min-width: 130px;
    font-weight: 600;
    color: #666;
    flex-shrink: 0;
}

#firmware-chain-page .fc-review-value {
    flex: 1;
    word-break: break-word;
}

#firmware-chain-page .fc-review-fw-item {
    display: flex;
    align-items: center;
    padding: 5px 0;
    border-bottom: 1px solid #f0f0f0;
    font-size: 13px;
    flex-wrap: wrap;
    gap: 4px;
}

#firmware-chain-page .fc-review-fw-item:last-child {
    border-bottom: none;
}

#firmware-chain-page .fc-review-fw-num {
    min-width: 24px;
    color: #999;
    font-size: 12px;
    flex-shrink: 0;
}

#firmware-chain-page .fc-review-fw-desc {
    flex: 1;
    min-width: 80px;
}

/* ── Chain Firmware panel (Step 3) ────────────────────────────────────────── */
#firmware-chain-page .panel-heading-btn {
    float: right !important;
}

#firmware-chain-page .panel.custom-panel .panel-body {
    background: #fff !important;
}

#firmware-chain-page .panel.custom-panel .panel-body-rounded-borders {
    border: 1px solid #242a30;
    border-bottom-left-radius: 3px;
    border-bottom-right-radius: 3px;
    background: #fff !important;
}

#firmware-chain-page .btn-icon.btn-xs {
    width: 16px !important;
    height: 16px !important;
    font-size: 8px !important;
    line-height: 16px !important;
}

#firmware-chain-page .custom-panel .label.label-info {
    background: #49b6d6 !important;
}

#firmware-chain-page .custom-panel .label.label-primary {
    background: #348fe2 !important;
}

#firmware-chain-page .custom-panel .label.label-success {
    background: #00acac !important;
}

#firmware-chain-page .custom-panel .label.label-warning {
    background: #b6b2b2 !important;
}

/* Step 4 review label colours (same values, broader scope) */
#firmware-chain-page .label.label-info {
    background: #49b6d6 !important;
}

#firmware-chain-page .label.label-primary {
    background: #348fe2 !important;
}

#firmware-chain-page .label.label-success {
    background: #00acac !important;
}

#firmware-chain-page .label.label-warning {
    background: #b6b2b2 !important;
}

#firmware-chain-page .label.label-danger {
    background: #ff5b57 !important;
}

/* ── Step 4 review layout ──────────────────────────────────────────────────── */
#firmware-chain-page fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0;
}

#firmware-chain-page legend.pull-left.width-full {
    display: block !important;
    float: left !important;
    width: 100% !important;
    padding: 0 !important;
    margin-bottom: 20px !important;
    font-size: 21px !important;
    line-height: inherit !important;
    color: #333 !important;
    border: 0 !important;
    border-bottom: 1px solid #e5e5e5 !important;
    font-weight: normal;
}

#firmware-chain-page .form-group.block1 > label {
    display: block;
    font-weight: 600;
    margin-bottom: 2px;
}

#firmware-chain-page .form-group.block1 > p,
#firmware-chain-page .form-group > p {
    margin: 0 0 10px;
    color: #242a30;
}

/* ── Pager navigation ─────────────────────────────────────────────────────── */
#firmware-chain-page .pager.bwizard-buttons {
    padding-left: 0 !important;
    margin: 20px 0 !important;
    text-align: center !important;
    list-style: none !important;
}

#firmware-chain-page .pager.bwizard-buttons li {
    display: inline !important;
}

#firmware-chain-page .pager.bwizard-buttons [role=button] {
    cursor: pointer !important;
}

#firmware-chain-page .pager.bwizard-buttons li > a,
#firmware-chain-page .pager.bwizard-buttons li > span {
    display: inline-block !important;
    padding: 5px 14px !important;
    background-color: #fff !important;
    border: 1px solid #e2e7eb !important;
    border-radius: 15px !important;
    color: #242a30 !important;
    text-decoration: none;
}

#firmware-chain-page .pager.bwizard-buttons li > a:hover,
#firmware-chain-page .pager.bwizard-buttons li > span:hover {
    background-color: #f5f5f5 !important;
    text-decoration: none;
}

#firmware-chain-page .pager.bwizard-buttons .previous > a,
#firmware-chain-page .pager.bwizard-buttons .previous > span {
    float: left !important;
}

#firmware-chain-page .pager.bwizard-buttons .next > a,
#firmware-chain-page .pager.bwizard-buttons .next > span {
    float: right !important;
}

#firmware-chain-page .pager.bwizard-buttons .disabled > a,
#firmware-chain-page .pager.bwizard-buttons .disabled > a:focus,
#firmware-chain-page .pager.bwizard-buttons .disabled > a:hover,
#firmware-chain-page .pager.bwizard-buttons .disabled > span {
    color: #777 !important;
    cursor: not-allowed !important;
    background-color: #fff !important;
    opacity: .6;
    filter: alpha(opacity=60);
    border-color: #ddd !important;
    pointer-events: none;
}

#firmware-chain-page .panel-heading-btn > a {
    margin-left: 8px !important;
}

#firmware-chain-page .custom-panel .txt-white {
    color: #fff !important;
}

#firmware-chain-page .custom-panel .txt-underlined {
    text-decoration: underline !important;
}

#firmware-chain-page .custom-panel .fa-lg {
    font-size: 1.33333333em !important;
    line-height: .75em !important;
    vertical-align: -15% !important;
}

#firmware-chain-page .custom-panel .btn.btn-warning {
    color: #fff !important;
    background: #f59c1a !important;
    border-color: #f59c1a !important;
}

#firmware-chain-page .custom-panel .btn.btn-danger {
    color: #fff !important;
    background: #ff5b57 !important;
    border-color: #ff5b57 !important;
}

#firmware-chain-page .custom-panel .btn-icon,
#firmware-chain-page .custom-panel .btn.btn-icon {
    display: inline-block !important;
    width: 28px !important;
    height: 28px !important;
    padding: 0 !important;
    border: none !important;
    line-height: 28px !important;
    text-align: center !important;
    font-size: 14px !important;
}

#firmware-chain-page .custom-panel .btn-icon.btn-xs {
    width: 16px !important;
    height: 16px !important;
    font-size: 8px !important;
    line-height: 16px !important;
}

#firmware-chain-page .custom-panel .btn-circle,
#firmware-chain-page .custom-panel .btn.btn-circle {
    -webkit-border-radius: 50% !important;
    -moz-border-radius: 50% !important;
    border-radius: 50% !important;
}

#firmware-chain-page .custom-panel .btn-xs {
    padding: 1px 5px !important;
    font-size: 14px !important;
    line-height: 1.5 !important;
    border-radius: 3px !important;
}

.panel-body {
    padding: 15px;
}

.add-tempo {
    margin-bottom: 15px;

    .validate {
        border-radius: 4px;
        border: 1px solid #ccd0d4;
    }

    .control-label {
        text-align: end;
    }

    .sample_download {
        color: #337ab7;
        text-decoration: none;
    }

    .sample_download:hover {
        text-decoration: underline;
    }
}

#tempo_firmware_metrix {
    .control-label {
        text-align: end;
        margin-bottom: 15px;
    }
}

#tempo_file_metrix {
    .control-label {
        text-align: end;
        margin-bottom: 15px;
    }

    input.form-control.is-valid {
        background: #cee !important;
        border-color: #00acac !important;
    }
      
    input.form-control.is-invalid {
        border-color: red !important;
    }
}

#add-tempo select.form-select,
#add-tempo input.form-control {
    box-shadow: none !important;
    outline: none !important;
}

.warning_messages {
    color: #FF7D7C;
    font-size: 14px;
}

.footer-button-add-tempo {
    margin-bottom: 30px;
    text-align: center;
}

#add-tempo .panel-body {
    background: #fff;
}

#add-tempo .align_center {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    background: #fff;
    text-align: center;
}

#add-tempo .star_red {
    color: #d9534f !important;
}

#add-tempo .cancel.btn_custom_border {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

.align_center > span.cancel.btn_custom_border,
.align_center > span.cancel.btn_custom_border:hover,
.align_center > span.cancel.btn_custom_border:focus {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

.add-tempo-footer-panel .align_center {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    width: 100%;
    background: #fff;
    text-align: center;
}
.edit-tempo {
    margin-bottom: 15px;

    .control-label {
        text-align: end;
    }

    .form-select {
        background: #e5e9ed;
        opacity: .6;
    }
}
#sections {
    background: white;
}

.footer-button-survey-form {
    text-align: center;
}
.create-event-form-panel-body,
.create-event-actions-panel-body {
  width: 100%;
  padding: 15px;
  background: #ffffff;
}

.container-fluid .section-header {
  background-color: #f59223;
  border-radius: 4px;
  color: white;
}

.summary-toggle {
  position: fixed;
  right: 0;
  z-index: 1050;
  background: #fff;
  border-radius: 6px 0 0 6px;
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.14);
  cursor: pointer;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  transition: right 0.4s cubic-bezier(.44, .02, .59, .92);
  font-size: 1.19em;
  padding: 0;
}

.summary-toggle.open {
  right: 350px;
  margin-left: -12px;
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.14);
}

.summary-toggle i {
  font-size: 1.06em;
  margin: 0;
}

.summary-popup {
  position: fixed;
  right: 0;
  min-width: 350px;
  background: #fff;
  border-radius: 6px;
  box-shadow: 0 3px 16px 0 rgba(0, 0, 0, 0.10);
  transform: translateX(110%);
  transition: transform 0.38s cubic-bezier(.44, .02, .59, .92);
  z-index: 1002;
  padding-bottom: 10px;
}

.summary-popup.show {
  transform: translateX(0);
}

.summary-popup-header {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 9px 22px 8px 12px;
  font-weight: 600;
  position: relative;
}

.summary-title {
  flex: 1 1 0;
  text-align: center;
  font-size: 1.13em;
  font-weight: bold;
  color: #222;
  margin-left: -25px;
}

.header-spacer {
  width: 28px;
  height: 28px;
}

.dummy-close-space {
  width: 28px;
  height: 28px;
  display: inline-block;
}

.summary-popup-body {
  padding: 5px 20px 12px 20px;
  font-size: 1em;
}

.section-link {
  color: #1976d2;
  font-weight: 600;
  display: block;
  margin-top: 10px;
  text-decoration: none;
}

.badge {
  background: #23292d;
  border-radius: 4px !important;
  padding: 1px 6px !important;
}

#survey-preview {
    .header-container {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    .header {
        font-weight: 600;
    }
}

.question-icon {
    cursor: pointer;
    font-size: 1.2rem;
    color: #337ab7;
}

.question-icon:hover {
    color: #23527c;
}

#survey-preview-form {
    background: white;
    
    .question {
        font-weight: 500;
        color: #000;
        font-size: 16px;
    }

    .question-option {
        font-weight: normal;
        font-size: 15px;
    }
}


.survey-map-container {
    .card-wrapper {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
    }

    .custom-card {
        width: 400px;
        background-color: #fff;
        border-radius: 6px;
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
        height: fit-content;
    }

    .card-header-custom {
        background-color: #929292;
        color: #fff;
        padding: 8px 12px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        border-radius: 6px;
    }

    .title-text {
        text-transform: uppercase;
        font-size: 13px;
        font-weight: 600;
    }

    .card-body-custom {
        padding: 10px 12px;
    }

    .facility-row {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 8px;
    }

    .facility-name {
        font-size: 13px;
        color: #707478;
        display: flex;
        align-items: center;
        gap: 4px;
    }

    .facility-name .bullet {
        font-size: 20px;
        vertical-align: middle;
        line-height: 1;
    }

    .no-facilities-message {
        text-align: center;
        font-size: 13px;
        color: #888;
        padding: 20px 0;
    }

    .toggle-circle {
        width: 18px;
        height: 18px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        color: #fff;
        background: #f59c1a;
        border-color: #f59c1a;
        cursor: pointer;
        font-size: 18px;
        font-weight: bold;
        transition: background-color 0.2s ease;
        margin-top: 4px;
    }

    .toggle-circle:hover {
        background-color: #999;
    }
}

.footer-button-map-survey {
    text-align: center;
}
.external-device-settings-page {
    width: 100%;
}

.external-device-settings-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    width: 100%;
    margin-bottom: 20px;
}

.external-device-settings-page > .custom-panel,
.external-device-settings-page > .panel {
    width: 100%;
}

@media (max-width: 767.98px) {
    .external-device-settings-header {
        align-items: flex-start;
        flex-direction: column;
    }
}

.ed-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.ed-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.ed-sticky-scroll .custom-table > thead.header > tr > th.table_header {
    cursor: default;
}

.ed-sticky-scroll .custom-table > thead.header > tr > th.table_header > span,
.ed-sticky-scroll .custom-table > thead.header > tr > th.table_header > i {
    cursor: pointer;
}

.device-hr-button {
    margin-top: 20px;
    color: #eee;
    opacity: unset;
}

.external-device-panel {
    box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2) !important;
    border-radius: 3px;
    border: none;
    margin-bottom: 50px;
    background-color: #fff;
}

.custom-table-body {    
    .edit-icon,
    .trash-icon {
        color: #337ab7 !important;
        text-decoration: none;
        cursor: pointer;
    }

    .edit-icon:hover,
    .trash-icon:hover {
        color: #23527c;
    }

    select.form-select {
        background-image: none !important;
        appearance: auto !important;
        -webkit-appearance: auto !important;
        -moz-appearance: auto !important;
    }
      
}

.external-device-settings-page > .row.w-100 {
    width: 100% !important;
    margin-right: 0;
    margin-left: 0;
    margin-bottom: 20px;
}

.external-device-settings-page > .row.w-100 > .col-12 {
    padding-right: 0;
    padding-left: 0;
}
.external-device-settings-table-panel-body {
    width: 100%;
    padding-left: 0;
    padding-right: 0;
}

.external-device-settings-table-panel-body > .col-lg-12,
.external-device-settings-table-panel-body .custom-table-responsive,
.external-device-settings-table-panel-body .custom-table {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
    padding-left: 0;
    padding-right: 0;
}
.sk-sticky-scroll.custom-table-responsive {
  overflow-x: visible;
  overflow-y: visible;
}

.sk-panel-shell {
  margin-top: 20px;
}

.sk-panel {
  background-color: #ffffff;
  border: 1px solid #e6e6e6;
  border-radius: 4px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.sk-panel-body {
  background-color: #ffffff;
  padding: 0;
}

.sk-table-wrap {
  padding: 0;
  width: 100%;
}

.sk-sticky-scroll .custom-table>thead.header>tr>th {
  position: sticky;
  top: 60px;
  z-index: 3;
  background: #e6e6e6 !important;
  box-shadow: 0 1px 0 #e2e7eb;
}

.custom-table-body {
  td .slot-cell {
    display: flex;
    align-items: center;
    gap: 6px;
  }

  .circle-indicator {
    display: inline-block;
    width: 12px;
    height: 12px;
    border-radius: 50%;
  }

  .circle-green {
    background-color: green;
  }

  .circle-yellow {
    background-color: gold;
  }

  .circle-red {
    background-color: red;
  }

  .lock-icon-cell {
    text-align: center;
    vertical-align: middle;
  }

  .lock-icon {
    font-size: 16px;
    color: #555;
    cursor: pointer;
  }

  .lock-icon:hover {
    color: #000;
  }

  .lock-placeholder {
    display: inline-block;
    width: 16px;
    height: 16px;
    visibility: hidden;
  }
}
.add-shared-key {
    margin-bottom: 15px;
}

.add-shared-key .validate {
    border-radius: 4px;
    border: 1px solid #ccd0d4;
}

.add-shared-key .control-label {
    text-align: end;
}

.ask-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
}

.ask-title {
    margin: 0;
    font-size: 16px;
    font-weight: 700;
}

.ask-divider {
    margin: 10px 0 14px;
    border: 0;
    border-top: 1px solid #e6e6e6;
    opacity: 1;
}

.ask-switch {
    position: relative;
    display: inline-flex;
    align-items: center;
    cursor: pointer;
}

.ask-switch-input {
    position: absolute;
    width: 1px;
    height: 1px;
    opacity: 0;
    margin: 0;
}

.ask-switch-track {
    width: 46px;
    height: 24px;
    background-color: #cfd3d7;
    border-radius: 999px;
    position: relative;
    transition: background-color 0.25s ease;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}

.ask-switch-thumb {
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background-color: #ffffff;
    border-radius: 50%;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    transition: transform 0.25s ease;
}

.ask-switch-input:checked + .ask-switch-track {
    background-color: #f59325;
}

.ask-switch-input:checked + .ask-switch-track .ask-switch-thumb {
    transform: translateX(22px);
}

.ask-switch-input:focus-visible + .ask-switch-track {
    outline: 2px solid rgba(245, 147, 37, 0.5);
    outline-offset: 2px;
}

.ask-panel {
    background-color: #ffffff;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    margin-bottom: 20px;
    overflow: hidden;
}

.ask-panel-heading {
    background-color: #929292;
    color: #ffffff;
    text-transform: uppercase;
    padding: 10px 20px;
}

.ask-panel-title {
    margin: 0;
    font-size: 14px;
}

.ask-panel-body {
    background-color: #ffffff;
    padding: 20px;
}

.ask-form {
    max-width: 520px;
}

.ask-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}
.ssl-header {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ssl-title {
    font-size: 16px;
    font-weight: 700;
}

.ssl-divider {
    margin: 14px 0 18px;
    border: 0;
    border-top: 1px solid #e6e6e6;
    opacity: 1;
}

.ssl-actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.ssl-add-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 38px;
    width: 100%;
    padding: 0 16px;
    border: 1px solid #f59325;
    background-color: #f59325;
    color: #ffffff;
    border-radius: 4px;
    font-size: 0.875rem;
    white-space: nowrap;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}

.ssl-add-btn:hover {
    background-color: #e8821d;
    border-color: #e8821d;
}

.ssl-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 100%;
    flex-shrink: 0;
}

.ssl-search-input {
    height: 38px;
    padding-right: 32px;
}

.ssl-search-input:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 0.15rem rgba(245, 147, 37, 0.25);
    outline: none;
}

.ssl-search-icon {
    position: absolute;
    right: 10px;
    color: #aaa;
    pointer-events: none;
    font-size: 13px;
}

.ssl-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: #e9ecef;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #555;
    font-size: 14px;
    line-height: 1;
    width: 20px;
    height: 20px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.ssl-search-clear:hover {
    background: #ced4da;
    color: #000;
}

.ssl-panel {
    background-color: #ffffff;
    border: 1px solid #e6e6e6;
    border-radius: 4px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.ssl-panel-body {
    background-color: #ffffff;
    padding: 0;
}

.ssl-table-wrap {
    padding: 0;
    width: 100%;
}

@media (min-width: 768px) {
    .ssl-header {
        flex-direction: row;
        justify-content: space-between;
        align-items: center;
    }
}

@media (min-width: 576px) {
    .ssl-actions {
        flex-direction: row;
        align-items: center;
    }

    .ssl-add-btn {
        width: auto;
        min-width: 200px;
    }

    .ssl-search-wrapper {
        width: 220px;
    }
}

/* Header row holding the page title */
.addssl-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Page title text */
.addssl-title {
    font-size: 16px;
    font-weight: 700;
}

/* Divider under the page title */
.addssl-divider {
    margin: 8px 0 12px;
    border: 0;
    border-top: 1px solid #e5e7eb;
}

/* White card wrapping each section */
.addssl-panel {
    background-color: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
    overflow: hidden;
    margin-bottom: 16px;
}

/* Inner wrapper of the panel */
.addssl-panel-inner {
    background-color: #ffffff;
}

/* Section heading strip */
.addssl-panel-heading {
    padding: 10px 20px;
    border-bottom: 1px solid #e5e7eb;
    background: #929292;
}

/* Section heading title text */
.addssl-panel-title {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
    color: #fff;
}

/* White body area of the panel */
.addssl-panel-body {
    background-color: #ffffff;
    padding: 20px;
}

/* Constrains the form width */
.addssl-form {
    max-width: 520px;
}

/* Footer aligning the action buttons */
.addssl-footer {
    display: flex;
    justify-content: center;
    gap: 8px;
}

/* Field row spacing */
.add-ssl {
    margin-bottom: 15px;
}

/* Input controls inside a field row */
.add-ssl .validate {
    border-radius: 4px;
    border: 1px solid #ccd0d4;
}

/* Right-aligned field labels */
.add-ssl .control-label {
    text-align: end;
}

/* Helper text for file format hint */
.info-section {
    color: red;
}
.requested-question-page {
    width: 100%;
}

.requested-question-header,
.requested-question {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.requested-question {
    min-height: 80vh;
}

.requested-question .custom-panel {
    width: 100%;
}

.requested-question-panel-body {
    padding-left: 0;
    padding-right: 0;
}

.requested-question .custom-table-responsive,
.requested-question .custom-table {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.forbidden-page {
    padding: 60px 20px;
    text-align: center;
}

.forbidden-code {
    font-size: 72px;
    font-weight: 700;
    line-height: 1;
    color: #2d353c;
}

.forbidden-code i {
    font-size: 46px;
    margin-left: 12px;
    vertical-align: middle;
    color: #b0483f;
}

.forbidden-message {
    font-size: 24px;
    font-weight: 600;
    margin-top: 14px;
    color: #2d353c;
}

.forbidden-desc {
    font-size: 14px;
    color: #647788;
    margin-top: 8px;
}

.forbidden-page--installer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex: 1;
    min-height: calc(100vh - 120px);
    padding: 20px;
}

.forbidden-page--installer .forbidden-heading {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
}

.forbidden-page--installer .forbidden-icon {
    color: #b42318;
    font-size: 64px;
    line-height: 1;
}

.forbidden-page--installer .forbidden-code {
    margin: 0;
    color: #2d353c;
    font-size: 64px;
    font-weight: 600;
    line-height: 1;
}

.forbidden-page--installer .forbidden-message {
    margin: 20px 0 0;
    color: #475467;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
}

.cp-knowledge-base-page {
    width: 100%;
    padding-bottom: 3rem;
}

.cp-knowledge-base-header-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.cp-knowledge-base-breadcrumb {
    min-width: 0;
}

.cp-knowledge-base-header-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
}

.cp-knowledge-base-add-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: 175px;
    white-space: nowrap;
}

.cp-knowledge-base-add-button .fa {
    margin-right: 8px;
}

.cp-knowledge-base-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 100%;
    margin-bottom: 4px;
}

.cp-knowledge-base-expand-toggle-row {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.cp-knowledge-base-expand-toggle {
    padding: 0;
    border: 0;
    background: transparent;
    color: #337ab7;
    font: inherit;
    cursor: pointer;
}

.cp-knowledge-base-expand-toggle:hover,
.cp-knowledge-base-expand-toggle:focus {
    color: #23527c;
    text-decoration: underline;
}

.cp-knowledge-base-search-input {
    width: 100%;
    height: 38px;
    padding-right: 34px;
}

.cp-knowledge-base-search-icon,
.cp-knowledge-base-search-clear {
    position: absolute;
    right: 10px;
}

.cp-knowledge-base-search-icon {
    color: #888;
    font-size: 13px;
    pointer-events: none;
}

.cp-knowledge-base-search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: #666;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    padding: 0;
}

.cp-knowledge-base-toggle-accordion {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.cp-knowledge-base-toggle-accordion:disabled {
    cursor: not-allowed;
    opacity: 0.55;
}

.cp-knowledge-base-panel-group {
    width: 100%;
}

.cp-knowledge-base-state-cell {
    padding: 2.5rem 0;
    text-align: center;
}

.cp-knowledge-base-panel {
    border: 1px solid #e4e5e7;
    border-radius: 4px;
    margin-bottom: 10px;
    background: #ffffff !important;
    overflow: hidden;
}

.cp-knowledge-base-panel-heading {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    background: #eee;
    padding: 0 10px;
}

.cp-knowledge-base-panel-actions {
    display: flex;
    align-items: center;
    gap: 2px;
    flex: 0 0 auto;
    order: 2;
}

.cp-knowledge-base-question-header {
    flex: 1 1 auto;
    order: 1;
    display: flex;
    align-items: center;
    gap: 8px;
    border: 0;
    background: transparent;
    text-align: left;
    font-weight: bold;
    line-height: 33px;
    padding: 6px 0;
    cursor: pointer;
    color: #333;
}

.cp-knowledge-base-toggle-icon {
    color: #ff6a00;
    font-size: 12px;
}

.cp-knowledge-base-icon-button {
    border: 0;
    background: transparent;
    color: #337ab7;
    cursor: pointer;
    padding: 6px 8px;
}

.cp-knowledge-base-icon-button:disabled {
    color: #889097;
    cursor: not-allowed;
    opacity: 0.65;
}

.cp-knowledge-base-publish-toggle.is-published {
    color: #00bb00;
}

.cp-knowledge-base-publish-toggle.is-unpublished {
    color: #ee0000;
}

.cp-knowledge-base-panel-body {
    padding: 10px 15px 15px;
    border-top: 1px solid #e4e5e7;
}

.cp-knowledge-base-answer {
    margin: 0;
    white-space: pre-wrap;
}

.cp-knowledge-base-panel--form {
    border-color: #f59325;
}

.cp-knowledge-base-form-body {
    padding: 15px;
}

.cp-knowledge-base-form-submit-error {
    color: #a94442;
    text-align: center;
    padding: 10px 15px 0;
}

.cp-knowledge-base-form-field {
    margin-bottom: 12px;
}

.cp-knowledge-base-form-field:last-child {
    margin-bottom: 0;
}

.cp-knowledge-base-form-label {
    display: block;
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 4px;
}

.cp-knowledge-base-form-textarea {
    width: 100%;
}

.cp-knowledge-base-form-error {
    color: #a94442;
    font-size: 12px;
    margin-top: 4px;
}

.cp-knowledge-base-form-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.5rem;
    flex-wrap: wrap;
    padding: 10px 15px;
    border-top: 1px solid #e4e5e7;
}

@media (max-width: 768px) {
    .cp-knowledge-base-header-row {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-knowledge-base-header-actions {
        align-items: stretch;
        flex-direction: column;
        justify-content: flex-start;
    }

    .cp-knowledge-base-search-wrapper {
        width: 100%;
    }
}

/* Ask-a-Question form — shown when search returns no results */
.cp-knowledge-base-ask-form {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    max-width: 600px;
    margin: 0 auto;
    text-align: left;
}

.cp-knowledge-base-ask-title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.language-translation-page .page_title {
  margin: 0 0 20px;
  font-size: 20px;
  font-weight: 600;
}

.language-history-panel-body {
  --language-history-content-inset: 22px;
  padding: 24px 30px;
  background: #fff;
}

.language-history-title {
  margin: 0 var(--language-history-content-inset) 28px;
  color: #f39f09;
  font-size: 22px;
  font-weight: 500;
}

.language-history-loading,
.language-history-empty {
  padding: 30px;
  text-align: center;
}

.language-history-list {
  margin: 0 var(--language-history-content-inset);
}

.language-history-entry {
  padding: 0 0 24px;
}

.language-history-entry + .language-history-entry {
  padding-top: 20px;
  border-top: 1px solid #eee;
}

.language-history-date {
  margin-bottom: 18px;
  color: #f39f09;
  font-weight: 700;
}

.language-history-action,
.language-history-comment {
  margin: 0 0 10px;
}

.language-history-download {
  color: #f39f09 !important;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
}

/* Font Awesome 6 no longer provides the FA4 `-o` alias. Keep the legacy
   class required by this screen and render the Excel icon with its glyph. */
.language-history-download .fa-file-excel-o::before {
  display: inline-block;
  font-family: "Font Awesome 6 Free";
  font-weight: 900;
  content: "\f1c3";
}

.language-history-download:hover,
.language-history-download:focus {
  color: #d98208 !important;
  text-decoration: underline;
}

.language-history-comment {
  padding-top: 8px;
  white-space: pre-wrap;
}

.language-comments-title {
  margin: 12px var(--language-history-content-inset) 16px;
  font-size: 21px;
}

.language-comments-input {
  box-sizing: border-box;
  width: calc(100% - (var(--language-history-content-inset) * 2));
  min-height: 180px;
  margin: 0 var(--language-history-content-inset);
  padding: 10px 12px;
  border: 1px solid #ccd0d4;
  border-radius: 3px;
  resize: vertical;
}

.language-comments-error {
  margin: 6px var(--language-history-content-inset) 0;
  color: #d9534f;
  font-size: 13px;
}

.language-history-actions-panel {
  display: flex;
  justify-content: center;
  gap: 8px;
  margin: 16px 0 30px;
  padding: 16px;
  background: #fff;
}

.language-history-submit {
  border-color: #f59325 !important;
  background: #f59325 !important;
}

.language-history-back {
  border: 1px solid #f59325 !important;
  background: #fff !important;
  color: #f59325 !important;
}

@media (max-width: 767px) {
  .language-history-panel-body {
    --language-history-content-inset: 0px;
    padding: 18px 14px;
  }
}

.cp-roles-page {
  width: 100%;
}

.cp-roles-breadcrumb {
  margin-bottom: 1rem;
}

.cp-roles-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 20px;
  overflow: visible;
}

.cp-roles-tab {
  display: flex;
  align-items: center;
  flex-shrink: 0;
  border: 0;
  border-radius: 6px;
  background: #e0e0e0;
  color: #000;
  cursor: pointer;
  font-size: 14px;
  font-weight: 500;
  padding: 10px 18px;
  transition: background 0.2s ease;
  user-select: none;
  white-space: nowrap;
}

.cp-roles-tab:hover:not(.cp-roles-tab--active) {
  background: #d5d5d5;
}

.cp-roles-tab:focus-visible {
  outline: 2px solid #f59325;
  outline-offset: 2px;
}

.cp-roles-tab--active {
  background: #f59325;
  color: #fff;
  font-weight: 600;
}

.cp-roles-tab-panel {
  min-height: 240px;
}

.cp-roles-content,
.cp-roles-notification-content,
.cp-roles-predefined-content {
  background: #fff;
  padding: 1rem;
}

.cp-roles-toolbar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
}

.cp-roles-search-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
  flex: 0 0 220px;
  width: 220px;
  max-width: 100%;
}

.cp-roles-search-input {
  width: 100%;
  height: 38px;
  padding-right: 32px;
}

.cp-roles-search-icon {
  position: absolute;
  right: 10px;
  color: #888;
  font-size: 13px;
  pointer-events: none;
}

.cp-roles-search-clear {
  position: absolute;
  right: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 0;
  background: none;
  color: #666;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  padding: 0 4px;
}

.cp-roles-search-clear:hover {
  color: #222;
}

.cp-roles-add-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-width: 140px;
  white-space: nowrap;
}

@media (max-width: 575px) {
  .cp-roles-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.25rem;
  }

  .cp-roles-toolbar {
    align-items: stretch;
    flex-direction: column;
  }

  .cp-roles-add-button {
    width: 100%;
    max-width: none;
  }

  .cp-roles-search-wrapper {
    align-self: flex-end;
    flex: 0 0 auto;
    width: 220px;
  }
}
.cp-roles-table-wrapper {
  margin-top: 1rem;
}

.cp-roles-table {
  width: 100%;
  table-layout: fixed;
}

.cp-roles-table > thead > tr > th,
.cp-roles-table > tbody > tr > td {
  word-break: break-word;
  overflow-wrap: anywhere;
  white-space: normal;
  vertical-align: middle;
}

.cp-roles-table-state-cell {
  text-align: center;
  padding: 24px 0 !important;
}
.cp-roles-action-group {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.cp-roles-icon-button,
.cp-roles-action-link {
  border: 0;
  background: transparent;
  color: #337ab7;
  cursor: pointer;
  padding: 0;
}

.cp-roles-icon-button:disabled,
.cp-roles-action-link:disabled {
  color: #889097;
  cursor: default;
  opacity: 0.65;
}

.cp-roles-action-separator {
  color: #889097;
}
.cp-roles-table-wrapper.custom-table-responsive {
  overflow-x: visible;
  overflow-y: visible;
}

.cp-roles-table {
  border-collapse: separate;
  border-spacing: 0;
}

.cp-roles-table > thead.header > tr > th {
  position: sticky;
  top: 60px;
  z-index: 3;
  background: #e6e6e6 !important;
  box-shadow: 0 1px 0 #e2e7eb;
}

.cp-roles-table > tbody > tr.event-row.odd-row > td {
  background-color: #f8f8f8;
}
.cp-roles-table .cp-roles-action-column {
  text-align: center;
}
.cp-roles-action-group {
  width: 190px;
  max-width: 100%;
  margin: 0 auto;
  flex-wrap: nowrap;
  justify-content: flex-start;
}

.cp-roles-action-group--roles-status-only {
  padding-left: 76px;
}

.cp-roles-action-group--compact-status-only {
  padding-left: 32px;
}

.cp-roles-action-link {
  min-width: 72px;
  text-align: left;
}

.cp-add-role-page {
  width: 100%;
}

.cp-add-role-panel {
  background: #fff;
  padding: 1rem;
}

.cp-add-role-title {
  font-size: 1.5rem;
  margin: 0 0 1rem;
}

.cp-add-role-state {
  display: flex;
  justify-content: center;
  padding: 24px 0;
}

.cp-add-role-form {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.cp-add-role-field {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
}

@media (max-width: 575px) {
  .cp-add-role-form {
    grid-template-columns: 1fr;
  }
}
.cp-role-permissions-content {
  background: #fff;
  padding: 1rem;
}

.cp-role-permissions-page .cp-roles-tabs {
  gap: 0;
  margin-bottom: 0;
}

.cp-role-permissions-page .cp-roles-tab {
  border: 1px solid #d7d7d7;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  margin-right: 4px;
}

.cp-role-permissions-page .cp-roles-tab--active {
  position: relative;
  z-index: 2;
}

.cp-role-permissions-page .cp-role-permissions-content,
.cp-role-permissions-page .cp-roles-tabs + .cp-add-role-state {
  border-radius: 4px;
  min-height: 240px;
}

.cp-role-permissions-label-row {
  display: grid;
  grid-template-columns: 40% 60%;
  width: 100%;
  min-width: 100%;
  background: #fff;
  color: #333;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  padding: 0 10px 10px;
  visibility: visible;
}

.cp-role-permissions-category-label {
  text-align: left;
}

.cp-role-permissions-group-label {
  display: block;
  color: #333 !important;
  text-align: center;
  visibility: visible !important;
}

@media (max-width: 768px) {
  .cp-role-permissions-label-row {
    min-width: 800px;
  }
}

@media (max-width: 576px) {
  .cp-role-permissions-label-row {
    min-width: 900px;
  }
}

.cp-role-permissions-parent-label {
  display: inline-flex;
  align-items: center;
  gap: 0.55rem;
  cursor: pointer;
}

.cp-role-permissions-checkbox {
  width: 18px;
  height: 18px;
  cursor: pointer;
}



.cp-role-permissions-parent-label {
  min-height: 18px;
  margin: 0;
  line-height: 18px;
  vertical-align: middle;
}

.cp-role-permissions-parent-label strong {
  line-height: 18px;
}

.cp-role-permissions-checkbox.form-check-input {
  display: inline-block;
  float: none !important;
  width: 18px;
  height: 18px;
  margin: 0 !important;
  vertical-align: middle;
}


.cp-role-permissions-table > thead.header > tr > th {
  position: sticky;
  top: 60px;
  z-index: 3;
}

.cp-role-permissions-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding-top: 1rem;
}

.cp-role-permissions-table-wrapper.custom-table-responsive {
  overflow-x: visible;
  overflow-y: visible;
}

.cp-role-permissions-table > thead.header > tr > th {
  position: sticky;
  top: 60px;
  z-index: 3;
}

@media (max-width: 768px) {
  .cp-role-permissions-table-wrapper.custom-table-responsive {
    overflow-x: auto;
  }

  .cp-role-permissions-table > thead.header > tr > th {
    top: 0;
  }
}

.cp-roles-page > .cp-roles-tabs {
  gap: 0;
  margin-bottom: 0;
}

.cp-roles-page > .cp-roles-tabs > .cp-roles-tab {
  border: 1px solid #d7d7d7;
  border-bottom: 0;
  border-radius: 6px 6px 0 0;
  margin-right: 4px;
}

.cp-roles-page > .cp-roles-tabs > .cp-roles-tab--active {
  position: relative;
  z-index: 2;
}

.cp-roles-page > .cp-roles-tab-panel {
  min-height: 240px;
  border-radius: 4px;
  background: #fff;
}

.cp-role-notification-content {
  width: 100%;
}

.cp-role-notification-table-wrapper.custom-table-responsive {
  overflow-x: visible;
  overflow-y: visible;
}

.cp-role-notification-table > thead.header > tr > th {
  position: sticky;
  top: 60px;
  z-index: 3;
}

.cp-role-notification-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  width: 100%;
  padding-top: 1rem;
}

@media (max-width: 768px) {
  .cp-role-notification-table-wrapper.custom-table-responsive {
    overflow-x: auto;
  }

  .cp-role-notification-table > thead.header > tr > th {
    top: 0;
  }
}

.cp-roles-table .cp-roles-action-group {
  width: 100%;
  max-width: none;
  margin: 0;
  padding-left: 0;
  justify-content: center;
}

.cp-roles-table .cp-roles-action-group--roles-status-only,
.cp-roles-table .cp-roles-action-group--compact-status-only {
  padding-left: 0;
}

.cp-group-form-page {
  width: 100%;
  padding-bottom: 4rem;
}

.cp-group-form-card {
  border: 0;
  background: #fff;
  box-shadow: none;
}

.cp-group-form-body {
  min-height: 160px;
}

.cp-group-form-actions {
  display: flex;
  justify-content: center;
  padding-top: 1rem;
}

.cp-group-form {
  display: block;
  width: 100%;
}

.cp-group-form-body {
  padding: 1.25rem 1rem;
}

.cp-group-form-row {
  min-height: 38px;
}

.cp-group-form-row .col-form-label {
  color: #333;
  font-weight: 500;
  text-align: left;
}

.cp-group-form-row .form-control {
  min-height: 38px;
}

.cp-group-form-row .form-control.is-invalid {
  border-color: #dc3545 !important;
  box-shadow: none;
}

.cp-group-form-row .invalid-feedback {
  display: block;
}

.cp-group-form-actions-card {
  width: 100%;
  margin-top: 1rem;
  border: 0;
  background: #fff;
  box-shadow: none;
}

.cp-group-form-actions .custom-button,
.cp-group-form-actions .custom-cancel-btn {
  min-width: 90px;
}

.cp-group-form-actions {
  gap: 0.5rem;
}

.cp-message-form-page {
  width: 100%;
  padding-bottom: 4rem;
}

.cp-message-form,
.cp-message-form-card,
.cp-message-form-actions-card {
  width: 100%;
}

.cp-message-form-card,
.cp-message-form-actions-card {
  border: 0;
  background: #fff;
  box-shadow: none;
}

.cp-message-form-body {
  padding: 1.25rem 1rem;
}

.cp-message-form-row {
  align-items: flex-start;
  margin-bottom: 1rem;
}

.cp-message-form-row .col-form-label {
  color: #333;
  font-weight: 500;
  text-align: left;
}

.cp-message-form-row .form-control,
.cp-message-form-row .form-select {
  min-height: 38px;
}

.cp-message-form-row .form-control.is-invalid,
.cp-message-form-row .form-select.is-invalid {
  border-color: #dc3545 !important;
  box-shadow: none;
}

.cp-message-form-row .invalid-feedback {
  display: block;
}

.cp-message-groups-select {
  min-height: 120px !important;
}

.cp-message-form-actions-card {
  margin-top: 1rem;
}

.cp-message-form-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.cp-message-form-actions .custom-button,
.cp-message-form-actions .custom-cancel-btn {
  min-width: 90px;
}

.cp-add-role-page {
  width: 100%;
  padding-bottom: 4rem;
}

.cp-add-role-breadcrumb {
  margin-bottom: 0.75rem;
}

.cp-add-role-heading-row {
  margin-bottom: 1rem;
  border-bottom: 1px solid #d9dee3;
}

.cp-add-role-page-title {
  color: #333;
  font-size: 1.75rem;
  font-weight: 600;
  margin: 0 0 0.5rem;
}

.cp-add-role-state {
  display: flex;
  justify-content: center;
  padding: 40px 0;
}

.cp-add-role-form {
  display: block !important;
  width: 100%;
}

.cp-add-role-card,
.cp-add-role-actions-card {
  border: 0;
  border-radius: 6px;
  background: #fff;
  box-shadow: none;
}

.cp-add-role-card {
  margin-bottom: 1rem;
}

.cp-add-role-card-header {
  border: 0;
  border-radius: 6px 6px 0 0 !important;
  background-color: #707478 !important;
  color: #fff;
  padding: 0.75rem 1rem;
}

.cp-add-role-card-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 0;
}

.cp-add-role-card-body {
  padding: 1.25rem 1rem;
}

.cp-add-role-form-row {
  min-height: 38px;
}

.cp-add-role-form-row .col-form-label {
  color: #333;
  font-weight: 500;
  text-align: left;
}

.cp-add-role-form-row .form-control,
.cp-add-role-form-row .form-select {
  min-height: 38px;
}

.cp-add-role-checkbox {
  width: 22px;
  height: 22px;
  cursor: pointer;
}

.cp-add-role-role-for {
  display: flex;
}

.cp-add-role-radio-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.75rem;
}

.cp-add-role-radio-group .form-check-inline {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin: 0;
}

.cp-add-role-actions-card {
  margin-top: 1rem;
}

.cp-add-role-actions {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
}

.cp-add-role-actions .custom-button,
.cp-add-role-actions .custom-cancel-btn {
  min-width: 90px;
}

@media (max-width: 767px) {
  .cp-add-role-card-body {
    padding: 1rem;
  }

  .cp-add-role-form-row .col-form-label {
    margin-bottom: 0.25rem;
  }

  .cp-add-role-actions {
    justify-content: flex-start;
  }
}
.cp-add-role-card-header .cp-add-role-card-title {
  color: #fff !important;
}

.cp-add-role-form-row .form-control.is-invalid,
.cp-add-role-form-row .form-select.is-invalid {
  border-color: #dc3545 !important;
  box-shadow: none;
}

.cp-add-role-form-row .invalid-feedback {
  display: block;
  color: #dc3545;
}

.cp-add-role-actions-card {
  display: block;
  clear: both;
  width: 100%;
  margin-top: 1rem;
  margin-bottom: 0;
}
.cp-add-role-form-row .form-select:disabled {
  cursor: not-allowed;
}


#employee-form .col-form-label {
    font-weight: 600;
    text-align: end;
}

#employee-form .form-control:disabled,
#employee-form .form-select:disabled {
    cursor: not-allowed;
}

.employee-form-fields,
.employee-form-profile {
    min-height: 260px;
}

.employee-form-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding-top: 12px;
}

.employee-form-state {
    min-height: 280px;
    display: flex;
    align-items: center;
    justify-content: center;
}

@media (max-width: 575.98px) {
    #employee-form .col-form-label {
        text-align: start;
        padding-bottom: 0.25rem;
    }
}
.employee-form-profile {
    display: flex;
    min-height: 320px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    text-align: center;
}

.employee-form-profile-preview {
    width: 130px;
    height: 130px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    object-fit: cover;
}

.employee-form-profile-note {
    max-width: 430px;
    margin: 0;
    color: #212529;
    font-size: 14px;
}

.employee-form-supported-files {
    font-weight: 600;
}

.employee-form-notification.form-check {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    padding-left: 0;
}

.employee-form-notification .form-check-input {
    width: 22px;
    height: 22px;
    margin: 0;
    float: none;
    flex-shrink: 0;
    border: 2px solid #6c757d;
    accent-color: #0d6efd;
    cursor: pointer;
}

.employee-form-notification .form-check-input:hover {
    border-color: #0d6efd;
    box-shadow: 0 0 0 0.2rem rgba(13, 110, 253, 0.25);
}

.employee-form-notification .form-check-label {
    margin-left: 12px;
    font-size: 16px;
    font-weight: 600;
    color: #212529;
    cursor: pointer;
}

.employee-form-field-error {
    display: none;
    margin-top: 4px;
}

.scrolltop-button {
    position: fixed;
    right: 24px;
    bottom: 24px;
    width: 24px;
    height: 24px;
    border: none;
    border-radius: 50%;
    background-color: #f59325;
    color: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    z-index: 1050;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.25);
    transition: background-color 0.2s ease, transform 0.2s ease;
}

.scrolltop-button:hover {
    background-color: #d97e1a;
    transform: translateY(-2px);
}

.scrolltop-icon {
    font-size: 12px;
    line-height: 1;
}

.cp-risk-categories-page {
    width: 100%;
    padding-bottom: 3rem;
}

.cp-risk-categories-header-row {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.cp-risk-categories-breadcrumb {
    min-width: 0;
}

.cp-risk-categories-list-filter {
    flex: 0 0 280px;
    width: 280px;
}

.cp-risk-categories-list-filter .form-select {
    min-height: 38px;
}

.cp-risk-categories-tabs {
    display: flex;
    margin-bottom: 0;
}

.cp-risk-categories-tab {
    display: flex;
    align-items: center;
    border: 1px solid #d7d7d7;
    border-bottom: 0;
    border-radius: 6px 6px 0 0;
    background: #e0e0e0;
    color: #000;
    font-size: 14px;
    font-weight: 500;
    padding: 10px 18px;
}

.cp-risk-categories-tab--active {
    position: relative;
    z-index: 2;
    background: #f59325;
    color: #fff;
    font-weight: 600;
}

.cp-risk-categories-tab-panel {
    min-height: 240px;
    border-radius: 0 4px 4px 4px;
    background: #fff;
    padding: 1rem;
}

.cp-risk-categories-toolbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.75rem;
    margin-bottom: 0;
}

.cp-risk-categories-add-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-width: 175px;
    white-space: nowrap;
}

.cp-risk-categories-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    flex: 0 0 220px;
    width: 220px;
}

.cp-risk-categories-search-input {
    width: 100%;
    height: 38px;
    padding-right: 34px;
}

.cp-risk-categories-search-icon,
.cp-risk-categories-search-clear {
    position: absolute;
    right: 10px;
}

.cp-risk-categories-search-icon {
    color: #888;
    font-size: 13px;
    pointer-events: none;
}

.cp-risk-categories-search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 0;
    background: transparent;
    color: #666;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    padding: 0;
}

.cp-risk-categories-table-scroll {
    width: 100%;
    margin-top: 0;
    overflow: visible;
}

.cp-risk-categories-table {
    width: 100%;
    min-width: 0;
    table-layout: fixed;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
}

.cp-risk-categories-table thead {
    position: sticky;
    top: 60px;
    z-index: 5;
}

.cp-risk-categories-table th,
.cp-risk-categories-table td {
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    padding: 10px 12px;
    vertical-align: middle;
    overflow-wrap: anywhere;
}

.cp-risk-categories-table tr> :first-child {
    border-left: 1px solid #fff;
}

.cp-risk-categories-table thead tr:first-child th {
    border-top: 1px solid #fff;
}

.cp-risk-categories-table thead th {
    position: static;
    height: 46px;
    background: #e6e6e6;
    color: #333;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.25;
    text-align: left;
    white-space: normal;
}

.cp-risk-categories-table .cp-risk-categories-criteria-heading {
    border-bottom: 1px solid #fff;
    font-size: 16px;
    text-align: center;
}

.cp-risk-categories-criteria-row th {
    height: 52px;
    border-top: 0;
    font-size: 16px;
    text-align: center;
}

.cp-risk-categories-table--active .cp-risk-category-name-col {
    width: 15%;
}

.cp-risk-categories-table--active .cp-risk-category-criteria-col {
    width: 20%;
}

.cp-risk-categories-table--active .cp-risk-category-count-col {
    width: 13%;
}

.cp-risk-categories-table--active .cp-risk-category-date-col {
    width: 12%;
}

.cp-risk-categories-table--active .cp-risk-category-action-col {
    width: 8%;
}

.cp-risk-categories-table--deleted .cp-risk-category-name-col {
    width: 18%;
}

.cp-risk-categories-table--deleted .cp-risk-category-criteria-col {
    width: 23%;
}

.cp-risk-categories-table--deleted .cp-risk-category-count-col {
    width: 14%;
}

.cp-risk-categories-table--deleted .cp-risk-category-date-col {
    width: 14%;
}

.cp-risk-categories-table--deleted .cp-risk-category-action-col {
    width: 8%;
}

.cp-risk-categories-state-cell {
    height: 90px;
    text-align: center;
}

.cp-risk-categories-table tbody tr.event-row.odd-row td {
    background: #f8f8f8;
}

@media (max-width: 768px) {
    .cp-risk-categories-header-row {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-risk-categories-list-filter {
        align-self: flex-end;
        flex: 0 0 auto;
        width: min(100%, 280px);
    }

    .cp-risk-categories-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .cp-risk-categories-add-button {
        width: 100%;
    }

    .cp-risk-categories-search-wrapper {
        align-self: flex-end;
        flex: 0 0 auto;
    }

    .cp-risk-categories-table thead {
        top: 0;
    }
}

.cp-risk-categories-action-cell {
    text-align: center;
    white-space: nowrap;
}

.cp-risk-categories-icon-button {
    border: 0;
    background: transparent;
    color: #337ab7;
    cursor: pointer;
    padding: 2px 8px;
}

.cp-risk-categories-icon-button:disabled {
    color: #889097;
    cursor: not-allowed;
    opacity: 0.65;
}

.cp-risk-categories-table tbody td {
    font-size: 14px;
    line-height: 1.4;
}

.cp-risk-category-modal-backdrop {
    position: fixed;
    inset: 0;
    display: flex !important;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    height: 100%;
    overflow-y: auto;
    padding: 0 24px;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1060;
}

.cp-risk-category-modal-dialog {
    flex: 0 1 800px;
    width: calc(100vw - 48px) !important;
    max-width: 800px !important;
    margin: 64px 0 24px !important;
    transform: none !important;
}

.cp-risk-category-modal-content {
    width: 100%;
    overflow: visible;
    border: 0;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.22);
}

.cp-risk-category-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid #dee2e6;
}

.cp-risk-category-modal-title {
    font-size: 16px;
    font-weight: 600;
}

.cp-risk-category-modal-body {
    padding: 1.5rem;
}

.cp-risk-category-modal-row {
    align-items: center;
    margin-bottom: 1.25rem;
}

.cp-risk-category-modal-row:last-child {
    margin-bottom: 0;
}

.cp-risk-category-modal-row .col-form-label {
    display: block;
    font-size: 14px;
    font-weight: 500;
    text-align: left !important;
}

.cp-risk-category-modal-error {
    margin-bottom: 1rem;
}

.cp-risk-category-modal-footer {
    display: flex !important;
    padding: 0.75rem 1rem;
    border-top: 1px solid #dee2e6;
    align-items: center;
    justify-content: center !important;
    gap: 0.5rem;
    width: 100%;
}

.cp-risk-category-select__control,
.cp-risk-category-select__control:hover,
.cp-risk-category-select__control--is-focused,
.cp-risk-category-select__control--is-focused:hover {
    min-height: 38px;
    border-color: #ced4da !important;
    box-shadow: none !important;
}

.cp-risk-category-select__menu {
    z-index: 1070 !important;
}

.cp-risk-category-select__option {
    display: flex !important;
    align-items: center;
    gap: 0.55rem;
    background: #fff !important;
    color: #333 !important;
    cursor: pointer !important;
}

.cp-risk-category-select__option--is-focused {
    background: #fff1e2 !important;
}

.cp-risk-category-select__option--is-selected {
    background: #fff !important;
    color: #333 !important;
}

.cp-risk-category-select__option--is-selected.cp-risk-category-select__option--is-focused {
    background: #fff1e2 !important;
}

.cp-risk-category-select__option--is-disabled {
    background: #f5f5f5 !important;
    color: #999 !important;
    cursor: not-allowed !important;
}

.cp-risk-category-select__option input.form-check-input {
    flex: 0 0 18px;
    width: 18px;
    height: 18px;
    margin: 0;
    pointer-events: none;
}

@media (max-width: 767.98px) {
    .cp-risk-category-modal-backdrop {
        padding: 0 12px;
    }

    .cp-risk-category-modal-dialog {
        flex-basis: calc(100vw - 24px);
        width: calc(100vw - 24px) !important;
        max-width: none !important;
        margin: 12px 0 !important;
    }

    .cp-risk-category-modal-row .col-form-label {
        padding-bottom: 0.35rem;
    }
}
.custom-select-arrow {
    appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2714%27 height=%2714%27 fill=%27%23333%27 viewBox=%270 0 16 16%27%3E%3Cpath d=%27M1.5 5.5l6 6 6-6%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 1rem;
    padding-right: 2rem;
}

.breadcrumb-wrapper {
    flex-grow: 1;
    min-width: 200px;
}

/* Page-scoped BeaconList-style search control. */
.vffa-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 220px;
}

.vffa-search-input {
    padding-right: 32px;
}

.vffa-search-icon {
    position: absolute;
    right: 10px;
    color: #aaa;
    pointer-events: none;
    font-size: 13px;
}

.vffa-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    padding: 0;
    background: #e9ecef;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #555;
    font-size: 14px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.vffa-search-clear:hover {
    background: #ced4da;
    color: #000;
}

.vffa-sortable-header {
    cursor: pointer;
}

.view-communities-schema-icon {
    font-size: 28px;
    line-height: 1;
    vertical-align: middle;
}

.fact-name {
    cursor: pointer;
}

/* "Deactivated" badge next to a community's name — matches the shared
   -label-danger convention used across the other Institution list pages
   (InsCommunityAdmin.css, InstitutionFacilityStaff.css, etc.) */
.viewfacilityadmin-label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
    margin-left: 6px;
}
.viewfacilityadmin-label-danger {
    background-color: #ff5b57;
    color: #fff;
}

.viewfacilityadmin-notes-wrapper {
    position: absolute;
    top: 4px;
    right: 6px;
    display: inline-block;
}

.viewfacilityadmin-notes-icon {
    width: 28px;
    height: 28px;
    cursor: pointer;
    vertical-align: middle;
}

.viewfacilityadmin-notes-tooltip {
    position: absolute;
    top: calc(100% + 6px);
    left: 50%;
    transform: translateX(-50%);
    background-color: #ffffff;
    color: #333;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 8px 10px;
    white-space: pre-wrap;
    word-break: break-word;
    min-width: 160px;
    max-width: 280px;
    font-size: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    z-index: 1000;
}
#view-facility-admin .custom-table-responsive {
    overflow: visible !important;
}

#view-facility-admin .custom-table-responsive .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

#view-facility-admin .custom-table-responsive .custom-table > thead.header > tr > th {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 60px !important;
    z-index: 10;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.vffa-toolbar {
    align-items: center;
}

.vffa-toolbar .custom-button {
    height: 38px;
}

.view-communities-filter-panel-body {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.view-communities-status-row {
    display: flex;
    justify-content: flex-end;
    width: 100%;
}

.view-communities-status-wrapper,
.view-communities-status-select {
    width: 220px;
}

.view-communities-status-select {
    height: 38px;
}

@media (max-width: 767.98px) {
    .vffa-search-wrapper,
    .view-communities-status-wrapper,
    .view-communities-status-select {
        width: 100%;
    }
}
.vffa-search-wrapper {
    width: 220px;
}

.vffa-search-input {
    height: 38px;
}
@media (max-width: 767.98px) {
    .vffa-search-wrapper {
        width: 100%;
    }
}

#community-creation-form {
    margin-bottom: 40px;
}

#community-creation-form .communitycreationform-card {
    border: 1px solid #d9dee3;
    border-radius: 3px;
    background: #fff;
    box-shadow: none;
}

#community-creation-form .card-header {
    min-height: 42px;
    padding: 11px 15px;
    border-radius: 2px 2px 0 0;
    background: #6c757d;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    text-transform: uppercase;
}

#community-creation-form .card-body {
    padding: 20px;
    background: #fff;
}

#community-creation-form .col-form-label {
    color: #555;
    font-size: 13px;
    font-weight: 600;
    text-align: end;
}

#community-creation-form .form-control,
#community-creation-form .form-select {
    min-height: 38px;
    font-size: 14px;
}

/* Disabled inputs show a not-allowed cursor */
#community-creation-form .form-control:disabled,
#community-creation-form .form-select:disabled,
#community-creation-form input:disabled,
#community-creation-form .form-check-input:disabled {
    cursor: not-allowed;
}

/* #community-creation-form .form-control:focus,
#community-creation-form .form-select:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 0.15rem rgba(245, 147, 37, 0.2);
} */

.communitycreationform-row {
    margin-bottom: 16px;
}

.communitycreationform-required {
    color: #d92d20;
    margin-left: 2px;
}

.communitycreationform-textarea {
    resize: vertical;
    min-height: 120px;
}

.communitycreationform-error {
    margin-top: 4px;
    font-size: 12px;
    color: #d92d20;
}

.communitycreationform-actions {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding-top: 8px;
}

.communitycreationform-actions-buttons {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.communitycreationform-form-error {
    text-align: center;
    font-size: 13px;
}

.communitycreationform-department-error {
    margin-top: 8px;
}

.communitycreationform-config {
    margin-top: 16px;
    padding-top: 14px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 320px;
    max-width: 100%;
    margin-left: auto;
    margin-right: auto;
}

#community-creation-form .communitycreationform-checkbox {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
    padding-left: 0;
    min-height: auto;
    width: 100%;
}

/* Label sits on the left, checkbox on the right */
#community-creation-form .communitycreationform-checkbox .form-check-label {
    order: 0;
    cursor: pointer;
    margin: 0;
}

#community-creation-form .communitycreationform-checkbox .form-check-input {
    order: 1;
    width: 18px;
    height: 18px;
    margin: 0;
    flex-shrink: 0;
    border: 1.5px solid #c4c4c4;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease;
}

#community-creation-form .communitycreationform-checkbox .form-check-input:checked {
    background-color: #f59325;
    border-color: #f59325;
}

#community-creation-form .communitycreationform-checkbox .form-check-input:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.25);
}

/* Locked (disabled) checkbox and its label show a not-allowed cursor */
#community-creation-form .communitycreationform-checkbox--disabled,
#community-creation-form .communitycreationform-checkbox--disabled .form-check-input,
#community-creation-form .communitycreationform-checkbox--disabled .form-check-label {
    cursor: not-allowed;
}

/* Bootstrap disables pointer events on a disabled checkbox; re-enable so it shows the not-allowed cursor */
#community-creation-form .communitycreationform-checkbox--disabled .form-check-input {
    pointer-events: auto;
}

#community-creation-form .communitycreationform-checkbox--disabled .form-check-label {
    opacity: 0.6;
}

/* Disabled inputs/selects (e.g. read-only Username) show a not-allowed cursor */
#community-creation-form .form-control:disabled,
#community-creation-form .form-select:disabled {
    cursor: not-allowed;
}

.communitycreationform-department-list {
    margin: 0 0 12px;
    padding-left: 18px;
    color: #555;
    font-size: 13px;
}

.communitycreationform-department-list li {
    margin-bottom: 4px;
}

.communitycreationform-department-item {
    position: relative;
    margin-bottom: 10px;
}

.communitycreationform-department-item .form-control {
    padding-right: 30px;
}

.communitycreationform-department-remove {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    border: none;
    background: transparent;
    color: #b0b0b0;
    font-size: 13px;
    line-height: 1;
    cursor: pointer;
    padding: 0;
}

.communitycreationform-department-remove:hover {
    color: #f59325;
}

.communitycreationform-logo-preview img {
    width: 100%;
    height: 100%;
    max-width: 150px;
    max-height: 150px;
    object-fit: contain;
}

.communitycreationform-logo-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    margin-bottom: 12px;
}

.communitycreationform-logo-preview .communitycreationform-logo-thumb {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 150px;
    height: 150px;
    padding: 12px;
    border: 1px solid #dcdcdc;
    border-radius: 6px;
    background-color: #fff;
}

.communitycreationform-logo-row {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin-bottom: 12px;
}

.communitycreationform-logo-label {
    text-align: left;
    font-weight: 600;
    font-size: 14px;
    color: #333;
}

/* Normalise the Add Logo / Change label-button so text and icon sit centred with even padding */
.communitycreationform-logo-row label.btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1.5;
    padding: 6px 14px;
}

.communitycreationform-logo-error {
    text-align: center;
}

.communitycreationform-logo-note {
    font-size: 14px;
    color: #333;
    text-align: center;
    margin-bottom: 6px;
}

.communitycreationform-logo-formats {
    text-align: center;
    font-weight: 600;
    color: #f59325;
    margin-bottom: 0;
}

.communitycreationform-manager-summary {
    margin-bottom: 14px;
}

.communitycreationform-manager-summary-actions {
    display: flex;
    gap: 14px;
}

.communitycreationform-manager-summary-actions button {
    padding: 0;
    border: 0;
    background: transparent;
    color: #337ab7;
    cursor: pointer;
}

.communitycreationform-manager-form {
    border-top: 1px dashed #e0e0e0;
    padding-top: 12px;
}

.communitycreationform-manager-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 12px;
}

.communitycreationform-manager-row > label {
    flex: 0 0 34%;
    text-align: right;
    margin: 0;
    padding-top: 9px;
    font-weight: 600;
    font-size: 13px;
    color: #333;
}

.communitycreationform-manager-row > .form-control,
.communitycreationform-manager-row > .form-select,
.communitycreationform-manager-field {
    flex: 1 1 auto;
}

.communitycreationform-manager-hint {
    display: block;
    margin-top: 4px;
    font-size: 12px;
    color: #888;
}

.communitycreationform-manager-actions {
    display: flex;
    gap: 8px;
    justify-content: center;
    align-items: center;
}

/* Invite-manager button row inside the card body */
.communitycreationform-invite-manager-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

/* Section-level invite-manager error shown above the invite button */
.communitycreationform-manager-error-above {
    margin: 0 0 10px;
    text-align: center;
}

/* Remove Bootstrap's red danger icon on invalid inputs; keep the red border/text */
#community-creation-form .form-control.is-invalid,
#community-creation-form .was-validated .form-control:invalid {
    padding-right: 0.75rem;
    background-image: none;
}

/* Keep the dropdown caret on invalid selects but drop the danger icon */
#community-creation-form .form-select.is-invalid,
#community-creation-form .was-validated .form-select:invalid {
    padding-right: 2.25rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3E%3Cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
}

.communitycreationform-department-section {
    margin-top: 10px;
}

.communitycreationform-department-section-row {
    display: flex;
    align-items: center;
    gap: 8px;
}

.communitycreationform-department-section-row .department_listtype {
    flex: 1 1 0;
    min-width: 0;
}

.communitycreationform-department-section-actions {
    display: flex;
    justify-content: flex-end;
    margin-top: 8px;
}

.communitycreationform-department-trash {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    flex: 0 0 auto;
    white-space: nowrap;
}

@media (max-width: 575px) {
    #community-creation-form .col-form-label {
        margin-bottom: 5px;
        text-align: start;
    }

    #community-creation-form .card-body {
        padding: 16px;
    }
}


#institution-company.institution-company-admin {
  min-height: 80vh;

  .ica-btn-light {
    background-color: #ffffff;
    border-color: #dee2e6;
    transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
  }

  .ica-btn-light:hover:not(:disabled) {
    background-color: #fff5e6;
    border-color: #f59325;
    color: #f59325;
  }

  .ica-btn-light:focus,
  .ica-btn-light:focus-visible {
    box-shadow: none;
    outline: none;
  }

  .ica-btn-light:active,
  .ica-btn-light.show,
  .ica-btn-light.active {
    background-color: #e2e6ea !important;
    border-color: #dee2e6 !important;
    color: inherit !important;
    box-shadow: none !important;
    outline: none;
  }

  .ica-icon-img {
    width: 20px;
    height: 20px;
  }

  .ica-firstname-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    margin-right: 10px;
  }

  .ica-firstname-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #d9d9d9;
    color: #555;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    flex-shrink: 0;
    margin-right: 10px;
  }

  .ica-dropdown-menu {
    position: absolute !important;
    z-index: 9999 !important;
    margin-top: 8px;
    min-width: 180px;
    border-radius: 8px;
    padding: 4px 0;
    transform: translate(-100px, 40px) !important;
  }

  .ica-dropdown-item {
    font-size: 14px;
    padding: 6px 12px;
    display: flex;
    gap: 8px;
    align-items: center;
    transition: background-color 0.15s ease, color 0.15s ease;
  }

  .ica-dropdown-item:active,
  .ica-dropdown-item:focus,
  .ica-dropdown-item.active {
    background-color: #e2e6ea;
    color: inherit;
    outline: none;
  }

  .ica-dropdown-item i {
    font-size: 14px;
  }

  .ica-no-caret::after {
    display: none !important;
  }

  .ica-search-clear-btn {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 5;
    border: none;
    background: transparent;
    padding: 0 6px;
    color: #888;
    cursor: pointer;
  }

  .ica-search-clear-btn:hover {
    color: #333;
  }
}
/* Company Admin form styling — mirrors the Executive Admin form
   (#community-executive-form) so both admin forms look consistent. */

/* Horizontal form label alignment */
#company-admin-form .col-form-label {
    font-weight: 600;
    text-align: end;
}

/* Disabled input/select cursor */
#company-admin-form .form-control:disabled,
#company-admin-form .form-select:disabled {
    cursor: not-allowed;
}

/* Profile image preview thumbnail */
#company-admin-form .img-thumbnail {
    max-width: 150px;
    max-height: 150px;
    object-fit: cover;
}

/* Responsive: stack labels left-aligned on xs screens */
@media (max-width: 575.98px) {
    #company-admin-form .col-form-label {
        text-align: start;
        padding-bottom: 0.25rem;
    }
}

/* Make setting/notification checkboxes clearly visible */
#company-admin-form .form-check {
    display: flex;
    align-items: flex-start;
    gap: 0.85rem;
    margin-bottom: 1.25rem;
}

#company-admin-form .form-check .form-check-label {
    font-weight: 600;
    font-size: inherit;
    line-height: 1.4;
}

#company-admin-form .form-check-input.custom-checkbox {
    width: 20px;
    height: 20px;
    margin-top: 0.15rem;
    flex: 0 0 auto;
    border: 1px solid #6c757d;
    border-radius: 4px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

#company-admin-form .form-check-input.custom-checkbox:checked {
    background-color: #f59c1a;
    border-color: #f59c1a;
    background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23ffffff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e");
}

#company-admin-form .form-check-input.custom-checkbox:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

#emailModal {
    .col-form-label {
        font-weight: 600;
        text-align: end;
        font-size: 16px;
    }

    .modal-footer button {
        border: 1px solid #f59325 !important;
        background: #f59325 !important;
        color: #ffffff !important;
    }

    .email-modal-send-btn {
        min-width: 110px;
    }

    .email-modal-btn-spinner {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}
#staff-feedback-report {
    background: white;

    .range-selection {
        cursor: pointer;
        color: #337ab7;
        &:hover {
            text-decoration: underline;
        }
    }
}

.isf-date-picker .ant-picker {
    height: 40px;
    min-height: 34px;
    font-size: 13px;
}

/* PDF pagination: keep each trend-chart block intact so a chart is never
   split across a page break (half on one page, the rest on the next). */
.sftr-graph-table {
    break-inside: avoid;
    page-break-inside: avoid;
}

.sftr-graph-table thead {
    display: table-header-group;
}

.sftr-graph-table tr,
.sftr-graph-table td,
.sftr-graph-table .sftr-chart-cell,
.sftr-graph-table .sftr-legend-cell,
.sftr-graph-table .sftr-chart-wrapper,
.sftr-graph-table .sftr-chart-cell-inner {
    break-inside: avoid;
    page-break-inside: avoid;
}


.sftr-suggestions-tooltip.custom-tempo-tooltip {
    max-height: 260px;
    overflow-y: auto;
    overflow-x: hidden;
    pointer-events: auto;
    border-top: 4px solid rgb(245, 147, 37) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15) !important;
}

.sftr-suggestions-tooltip.custom-tempo-tooltip::before,
.sftr-suggestions-tooltip.custom-tempo-tooltip::after {
    border-top-color: rgb(245, 147, 37) !important;
}

.sftr-suggestions-tooltip.custom-tempo-tooltip::-webkit-scrollbar {
    width: 6px;
}

.sftr-suggestions-tooltip.custom-tempo-tooltip::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.4);
    border-radius: 3px;
}

.sftr-suggestions-tooltip.custom-tempo-tooltip::-webkit-scrollbar-track {
    background: transparent;
}

/* ------------------------------------------------------------------ *
 * Standalone Staff Feedback PDF route (rendered by Puppeteer / email).
 * Mirrors the facility .fsfr-pdf-page so the email PDF matches the
 * in-app print/PDF: a landscape page wide enough for the 440px charts.
 * ------------------------------------------------------------------ */
.isfr-pdf-page {
    padding: 0;
    background: #ffffff;
    page: insStaffFeedbackLandscape;
}

.isfr-pdf-preview {
    overflow: visible;
}

@page insStaffFeedbackLandscape {
    size: A4 landscape;
    margin: 0;
}

.isfr-pdf-page .pdf-root {
    padding-bottom: 0;
}

.isfr-pdf-preview .pdf-root td,
.isfr-pdf-preview .pdf-root th {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.isfr-pdf-page .sftr-graph-table .sftr-legend-cell {
    width: 12%;
    min-width: 0;
}

.isfr-pdf-page .sftr-graph-table .sftr-chart-cell {
    width: 44%;
}

.isfr-pdf-page .sftr-chart-wrapper {
    width: 440px;
    max-width: 100%;
    height: 320px;
}
.fact-name {
  color: #337ab7 !important;
  text-decoration: none;
  cursor: pointer;
}

.fact-name:hover {
  color: #23527c;
  text-decoration: underline;
}

.institution-community-admin-panel-body {
  padding-left: 0 !important;
}

.institution-community-admin-table-section {
  width: 100%;
  padding: 0;
}

.institution-community-admin-initials-avatar {
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background-color: #e9ecef;
  color: #495057;
  font-weight: 600;
  vertical-align: middle;
}

.institution-community-admin-header {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
}

.institution-community-admin-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.institution-community-admin-panel {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

@media (max-width: 767.98px) {
  .institution-community-admin-control,
  .institution-community-admin-control > .form-select,
  .institution-community-admin-control > .form-control,
  .institution-community-admin-control > .btn {
    width: 100%;
  }

  .institution-community-admin-toolbar {
    width: 100%;
  }
}
.institution-staffs-header {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
}

.institution-staffs-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.institution-staffs-panel {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.institution-staffs-filter-control {
    height: 36px !important;
    width: 200px !important;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 14px;
    flex-shrink: 0;
}

.institution-staffs-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 200px;
    flex-shrink: 0;
}

.institution-staffs-search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    font-size: 13px;
    pointer-events: none;
    z-index: 1;
}

.institution-staffs-search-input {
    width: 100% !important;
    padding-left: 12px;
    padding-right: 30px;
}

.institution-staffs-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background: none;
    border: none;
    padding: 0;
    color: #888;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    line-height: 1;
}

.institution-staffs-search-clear:hover {
    color: #333;
}

/* Initials avatar shown when no profile image or in demo mode */
.institution-staffs-initials-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    color: #555;
    text-transform: uppercase;
    flex-shrink: 0;
}

.institution-staffs-table-body .label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

.institution-label-success {
    background-color: #00acac;
    color: #fff;
}

.institution-label-danger {
    background-color: #ff5b57;
    color: #fff;
}

.institution-label-warning {
    background-color: #b6b2b2;
    color: #fff;
}
.institution-staffs-panel-body {
    padding-left: 0 !important;
}

.institution-staffs-table-section {
    width: 100%;
    padding: 0;
}

@media (max-width: 767.98px) {
    .institution-staffs-toolbar {
        width: 100%;
    }

    .institution-staffs-filter-control,
    .institution-staffs-search-wrapper {
        width: 100% !important;
    }
}

.institution-facility-staff-header {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
}

.institution-facility-staff-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.institution-facility-staff-panel {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.institution-facility-staff-panel-body {
    padding-left: 0 !important;
}

.institution-facility-staff-table-section {
    width: 100%;
    padding: 0;
}

.institution-facility-staff-filter-control {
    height: 36px !important;
    width: 200px !important;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 14px;
    flex-shrink: 0;
}

.institution-facility-staff-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 200px;
    flex-shrink: 0;
}

.institution-facility-staff-search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    font-size: 13px;
    pointer-events: none;
    z-index: 1;
}

.institution-facility-staff-search-input {
    width: 100% !important;
    padding-left: 12px;
    padding-right: 30px;
}

.institution-facility-staff-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background: none;
    border: none;
    padding: 0;
    color: #888;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    line-height: 1;
}

.institution-facility-staff-search-clear:hover {
    color: #333;
}

/* Initials avatar shown when no profile image or in demo mode */
.institution-facility-staff-initials-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    color: #555;
    text-transform: uppercase;
    flex-shrink: 0;
}

#institution-facility-staff .label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

.institution-facility-staff-label-success {
    background-color: #00acac;
    color: #fff;
}

.institution-facility-staff-label-danger {
    background-color: #ff5b57;
    color: #fff;
}

.institution-facility-staff-label-warning {
    background-color: #b6b2b2;
    color: #fff;
}

.institution-facility-staff-label-info {
    background-color: #5bc0de;
    color: #fff;
}

#institution-facility-staff .custom-table-responsive {
    overflow: visible;
}

#institution-facility-staff .custom-table-responsive .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

#institution-facility-staff .custom-table-responsive .custom-table>thead.header>tr>th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

#institution-facility-staff .total-tempo-serial {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px 6px 14px;
    background-color: #fdf2e6;
    border: 1px solid #f6cfa0;
    border-radius: 20px;
    font-size: 14px;
    line-height: 1;
}

#institution-facility-staff .total-tempo-serial-label {
    color: #8a5a1f;
    font-weight: 600;
    letter-spacing: 0.2px;
}

#institution-facility-staff .total-tempo-serial-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 24px;
    padding: 0 8px;
    background-color: #f59325;
    color: #ffffff;
    border-radius: 12px;
    font-weight: 700;
}

@media (max-width: 767.98px) {
    .institution-facility-staff-toolbar {
        width: 100%;
    }

    .institution-facility-staff-filter-control,
    .institution-facility-staff-search-wrapper {
        width: 100% !important;
    }
}

.alert-agents-filter-control {
    height: 36px !important;
    width: 200px !important;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 14px;
    flex-shrink: 0;
}

.alert-agents-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 200px;
    flex-shrink: 0;
}

.alert-agents-search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    font-size: 13px;
    pointer-events: none;
    z-index: 1;
}

.alert-agents-search-input {
    width: 100% !important;
    padding-left: 12px;
    padding-right: 30px;
}

.alert-agents-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background: none;
    border: none;
    padding: 0;
    color: #888;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    line-height: 1;
}

.alert-agents-search-clear:hover {
    color: #333;
}

.alert-agents-panel,
.alert-agents-table-section {
    width: 100%;
}

.alert-agents-panel-body,
.alert-agents-table-section {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.alert-agents-initials-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #d9d9d9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    color: #555;
    text-transform: uppercase;
    flex-shrink: 0;
}

.alert-agents-table-body .label {
    display: inline;
    padding: 0.2em 0.6em 0.3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.25em;
}

.alert-agents-label-success {
    background-color: #00acac;
    color: #fff;
}

.alert-agents-label-danger {
    background-color: #ff5b57;
    color: #fff;
}

@media (max-width: 767.98px) {
    .alert-agents-toolbar,
    .alert-agents-search-wrapper,
    .alert-agents-filter-control {
        width: 100% !important;
    }
}
/* ── Profile image ──────────────────────────────────────────── */
.ins-client-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: contain;
  flex-shrink: 0;
}

/* ── Initials fallback avatar (demo mode / missing photo) ───── */
.ins-client-initials-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #d9d9d9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: bold;
  color: #555;
  text-transform: uppercase;
  flex-shrink: 0;
}

/* ── Status / type labels (mirrors Bootstrap 3 .label) ─────── */
.institution-client-table-body .label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}

.ins-client-label--success {
  background-color: #5cb85c;
}

.ins-client-label--danger {
  background-color: #d9534f;
}

.ins-client-label--warning {
  background-color: #f0ad4e;
}

.ins-client-label--info {
  background-color: #5bc0de;
}

/* ── Incomplete-profile / settings flag icon ────────────────── */
.ins-client-flag {
  width: 13px;
  height: 13px;
  cursor: pointer;
  vertical-align: middle;
}

/* ── Comment bubble icon ────────────────────────────────────── */
.ins-client-comment {
  width: 16px;
  height: 16px;
  cursor: pointer;
  flex-shrink: 0;
}

#institution-clients .custom-table-responsive {
  overflow: visible;
}

#institution-clients .custom-table-responsive .custom-table {
  border-collapse: separate;
  border-spacing: 0;
}

#institution-clients .custom-table-responsive .custom-table > thead.header > tr > th {
  position: sticky;
  top: 60px;
  z-index: 3;
  background: #e6e6e6 !important;
  box-shadow: 0 1px 0 #e2e7eb;
}

#institution-clients .institution-clients-panel-body {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

#institution-clients .institution-clients-table-section {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
}
.fac-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fac-modal-dialog {
    width: 800px;
    max-width: calc(100vw - 32px);
    min-width: min(320px, calc(100vw - 32px));
    background: #fff;
    border-radius: 4px;
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.2);
    max-height: 80vh;
    display: flex;
    flex-direction: column;
}

.fac-modal-dialog .modal-content {
    width: 100%;
    max-width: 100%;
    max-height: 80vh;
    box-shadow: none;
    display: flex;
     flex-direction: column;
     min-height: 0;
     overflow: hidden;
}

.fac-modal-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    border-bottom: none;
}

.fac-modal-title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
}

.fac-modal-close {
    background: none;
    border: none;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    padding: 0 4px;
    color: #333;
}

.fac-modal-close:hover {
    color: #000;
}

.fac-modal-divider {
    margin: 0 0 0 0;
    border: 0;
    border-top: 1px solid #e5e5e5;
    opacity: 1;
}

.fac-modal-body {
    padding: 16px !important;
    overflow-y: auto;
    flex: 1;
}

.fac-modal-checkbox-all {
    margin-bottom: 0;
}

.fac-modal-checkbox-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 40px;
}

.fac-modal-checkbox-item {
    display: flex;
    align-items: flex-start;
    min-width: 0;
}

.fac-modal-checkbox-item label {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    margin: 0;
    min-width: 0;
    width: 100%;
}

.fac-modal-checkbox-label {
    font-size: 13px;
    min-width: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: left;
}

.fac-modal-deactivated {
    margin-left: 4px;
    white-space: nowrap;
}

/* Custom checkbox — orange style matching app convention */
.fac-modal-checkbox-item input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border: 2px solid #bbb;
    border-radius: 3px;
    background: #fff;
    flex-shrink: 0;
    cursor: pointer;
    position: relative;
}

.fac-modal-checkbox-item input[type="checkbox"]:checked {
    background-color: #f59325;
    border-color: #f59325;
}

.fac-modal-checkbox-item input[type="checkbox"]:checked::after {
    content: "";
    position: absolute;
    left: 3px;
    top: 0px;
    width: 5px;
    height: 9px;
    border: 2px solid #fff;
    border-top: none;
    border-left: none;
    transform: rotate(45deg);
}

.fac-modal-footer {
    display: flex;
    justify-content: center !important;
    padding: 12px 16px;
    border-top: 1px solid #e5e5e5;
}

.fac-modal-save-btn {
    min-width: 80px;
}

.ipr-facility-select-link {
    background: none;
    border: none;
    padding: 0;
    font-size: 14px;
    color: #337ab7;
    text-decoration: underline;
    cursor: pointer;
    white-space: nowrap;
    text-align: center;
}

.ipr-facility-select-link:hover {
    color: #23527c;
}


#institution-pinpoint-room-report .ipr-room-select .select__control {
    min-height: 38px;
    max-height: 150px;
    overflow: hidden;
}

#institution-pinpoint-room-report .ipr-room-select .select__value-container {
    min-height: 36px;
    max-height: 146px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    align-content: flex-start;
    /* Keep the scrollbar visible on both Windows and macOS so users can see
       there are more selected rooms to scroll through. */
    scrollbar-width: thin;
    scrollbar-color: #c1c1c1 transparent;
}

#institution-pinpoint-room-report .ipr-room-select .select__value-container::-webkit-scrollbar {
    width: 8px;
}

#institution-pinpoint-room-report .ipr-room-select .select__value-container::-webkit-scrollbar-thumb {
    background-color: #c1c1c1;
    border-radius: 4px;
}

#institution-pinpoint-room-report .ipr-room-select .select__input-container {
    flex: 0 0 auto;
}

.ipr-facility-select-link--disabled {
    opacity: 0.45;
    cursor: not-allowed;
    pointer-events: none;
    text-decoration: none;
    color: #888;
}

.ipr-facility-select-link--disabled:hover {
    color: #888;
}

.ipr-facility-select-hint {
    font-size: 11px;
    color: #888;
    white-space: nowrap;
    text-align: center;
}

/* Normalize filter row input heights */
.ipr-filter-group .form-control,
.ipr-filter-group .ant-picker {
    height: 38px;
    min-height: 38px;
    font-size: 13px;
}

.ipr-filter-group .select__control {
    min-height: 38px;
    font-size: 13px;
}

.ipr-filter-group .ant-picker {
    width: 100%;
    box-sizing: border-box;
}

/* Disabled state — blocks interaction and shows not-allowed cursor */
.ipr-filter-group--disabled {
    pointer-events: none !important;
    cursor: not-allowed !important;
    opacity: 0.5;
}

.ipr-filter-group--disabled * {
    pointer-events: none !important;
    cursor: not-allowed !important;
}

/* Sticky table header — page-level sticky (no fixed table height), mirrors BeaconList */
#institution-pinpoint-room-report-body {
    background-color: #fff;
}

.ipr-table-scroll.custom-table-responsive {
    overflow: visible;
}

.ipr-table-scroll .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

.ipr-table-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

  .date-inputs-container {
      display: flex;
      flex-wrap: nowrap;
      align-items: center;
      gap: 10px;
      margin-left: 15px;
  }

  .from-date-input,
  .to-date-input {
      transition: border-color 0.3s ease;
      border: 1px solid #ccc;
      width: 108px;
      padding: 4px 8px;
      border-radius: 6px;
      height: 32px;
      color: #575757;
      font-weight: 400;
      font-size: 13px;
      flex-shrink: 0;
  }

  .from-date-input:hover,
  .to-date-input:hover {
      border-color: #f59325;
  }

  .from-date-input:focus,
  .to-date-input:focus {
      border-color: #f59325 !important;
      box-shadow: none !important;
      outline: none !important;
  }

  .highlight-start-end {
      background-color: #f59325 !important;
      color: white;
      border-radius: 50%;
  }

  .highlight-middle {
      background-color: rgba(245, 147, 37, 0.3);
  }


  input[type="time"]::-webkit-calendar-picker-indicator {
      opacity: 5;
  }

  .date-inputs {
      position: relative;
      display: flex;
      align-items: center;
      flex: 1;
      border-radius: 4px
  }

  .date-inputs-container input.p-inputtext.p-component {
      height: 40px;
  }

  .date-inputs-container button.p-button.p-component.p-datepicker-trigger.p-button-icon-only {
      height: 40px;
  }

  .date-inputs-container input.p-inputtext.p-component {
      height: 40px;
      width: 145px;
  }

  .form-control {
      width: 80%;
      padding-right: 30px;
      height: 40px;
  }

  .input-range-selector {
      position: absolute;
      right: 55px;
      top: 50%;
      transform: translateY(-50%);
      pointer-events: none;
  }

  input[type="time"]::-webkit-calendar-picker-indicator {
      opacity: 0;
      pointer-events: none;
  }

  .ant-picker {
      transition: all 0.3s ease;
      border-width: 1px !important;
      border-style: solid !important;
      border: 1px solid #ccc;
  }

  .ant-picker:hover {
      border-color: #f59325;
  }

  .ant-picker-focused {
      border-color: #f59325;
      box-shadow: 0 0 0 2px rgba(245, 147, 37, 0.2);
  }

  .ant-picker input {
      color: #f59325;
  }

  .ant-picker-clear,
  .ant-picker-suffix {
      color: #f59325;
  }

  .ant-picker input::placeholder {
      color: #f59325;
      opacity: 0.6;
  }

  .from-date-highlight {
      background-color: #e6f7ff !important;
      border-radius: 50%;
  }

  .ant-picker-outlined:focus,
  .ant-picker-outlined:focus-within {
      border-color: #f59325 !important;
      box-shadow: 0 0 0 2px rgba(245, 147, 37, 0.2) !important;
  }

  .ant-picker-active-bar {
      background-color: #f59325 !important;
  }

  .ant-picker .ant-picker-input>input {
      color: #575757 !important;
      font-weight: 400;
  }

  .ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,
  .ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,
  .ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner {
      background-color: #f59325;
      color: #fff;
  }

  .ant-picker-dropdown .ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner {
      background-color: #f59325;
      color: white;
  }

  .ant-picker-ok button {
      background-color: #f59325;
      border-color: #f59325;
  }

  .ant-picker-ok button:hover {
      background-color: #d47f1f;
      border-color: #d47f1f;
  }

  .ant-picker-now-btn {
      color: #f59325;
  }

  .ant-picker-now-btn:hover {
      color: #f59325;
  }

  .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,
  .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,
  .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner {
      background-color: #f59325 !important;
      color: #fff !important;
  }

  .ant-picker-cell-in-view.ant-picker-cell-in-range::before {
      background-color: rgba(245, 147, 37, 0.15) !important;
  }

  .ant-picker-cell-in-view.ant-picker-cell-range-hover-start::before,
  .ant-picker-cell-in-view.ant-picker-cell-range-hover-end::before,
  .ant-picker-cell-in-view.ant-picker-cell-range-hover::before {
      background-color: rgba(245, 147, 37, 0.2) !important;
  }

  .ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner {
      background-color: #f59325 !important;
      color: #fff !important;
  }

  .ant-picker-ok button {
      background-color: #f59325 !important;
      border-color: #f59325 !important;
      color: #fff !important;
  }

  .ant-picker-ok button:hover {
      background-color: #d47f1f !important;
      border-color: #d47f1f !important;
  }

  .ant-picker-today-btn {
      color: #f59325 !important;
  }

  /* ── Picker font-size reductions ── */

  /* Date input inside the picker trigger */
  .ant-picker .ant-picker-input > input          { font-size: 11px !important; }

  /* Calendar header: month/year label + prev/next arrows */
  .ant-picker-header-view                        { font-size: 11px !important; }
  .ant-picker-header button                      { font-size: 11px !important; }

  /* Weekday column headers (Su Mo Tu …) */
  .ant-picker-content th                         { font-size: 10px !important; }

  /* Day cell numbers */
  .ant-picker-cell .ant-picker-cell-inner        { font-size: 10px !important; }

  /* Month / year cell text in month/year panels */
  .ant-picker-month-btn,
  .ant-picker-year-btn                           { font-size: 11px !important; }

  /* Time panel column items */
  .ant-picker-time-panel-cell-inner              { font-size: 10px !important; }

  /* Footer: Today / Now / OK / Cancel buttons */
  .ant-picker-footer .ant-picker-today-btn,
  .ant-picker-footer .ant-picker-now-btn         { font-size: 10px !important; }
  .ant-picker-ok button                          { font-size: 10px !important; }

  /* From / To row labels */
  .date-label                                    { font-size: 11px !important; }

  /* Time inputs */
  .from-date-input,
  .to-date-input                                 { font-size: 11px !important; }


/* White card container for the filter bar */
.tnca-filter-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
    padding: 14px 20px;
}

/* Flex row holding all filter controls */
.tnca-filter-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: space-between;
}

.tnca-facility-ctrl-wrap {
    position: relative;
}

.tnca-facility-dropdown-panel {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 520px;
    max-width: 720px;
    background: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
    z-index: 1300;
    padding: 12px 16px 8px;
}

.tnca-fac-check-row {
    padding: 4px 0;
}

.tnca-fac-check-row--all {
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 8px;
    padding-bottom: 8px;
}

.tnca-fac-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
    font-weight: 400;
    color: #555;
    margin: 0;
    user-select: none;
}

.tnca-fac-check-row--all .tnca-fac-label {
    font-weight: 600;
}

.tnca-fac-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px 12px;
}

.tnca-fac-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}

@media (max-width: 768px) {
    .tnca-facility-dropdown-panel {
        min-width: 260px;
        max-width: calc(100vw - 20px);
    }

    .tnca-fac-grid {
        grid-template-columns: 1fr;
    }
}

/* ---- Date-range trigger button ---- */
.tnca-date-filter-wrapper {
    position: relative;
}

.tnca-date-range-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background-color: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease;
    white-space: nowrap;
}

.tnca-date-range-trigger:hover {
    border-color: #f59325;
    color: #f59325;
}

.tnca-date-range-trigger:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.tnca-date-range-trigger:disabled:hover {
    border-color: #d9d9d9;
    color: #333;
}

.tnca-chevron {
    font-size: 11px;
    color: #999;
    transition: color 0.2s ease;
}

.tnca-date-range-trigger:hover .tnca-chevron {
    color: #f59325;
}

/* ---- Dropdown panel ---- */
.tnca-date-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 1001;
    width: 340px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.13);
    padding: 16px;
    border: 1px solid #f0f0f0;
}

/* Section labels inside the dropdown */
.tnca-dropdown-section-label {
    margin: 0 0 8px 0;
    font-size: 11px;
    font-weight: 700;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.tnca-section-label--range {
    margin-top: 14px;
}

/* Quick-select button grid — wraps naturally into rows */
.tnca-quick-select-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tnca-quick-btn {
    padding: 5px 11px;
    font-size: 12px;
    background-color: #f7f7f7;
    border: 1px solid #e4e4e4;
    border-radius: 4px;
    color: #555;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    line-height: 1.5;
}

.tnca-quick-btn:hover {
    background-color: #fff0e0;
    border-color: #f59325;
    color: #c97a1a;
}

.tnca-quick-btn--active {
    background-color: #ffe4c6 !important;
    border-color: #f59325 !important;
    color: #c97a1a !important;
    font-weight: 600;
}

/* Footer buttons row */
.tnca-dropdown-footer {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    border-top: 1px solid #f0f0f0;
    padding-top: 14px;
}

.tnca-footer-btn {
    flex: 1;
    height: 38px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.tnca-footer-btn--cancel {
    background-color: #fff;
    border: 1px solid #f59325;
    color: #f59325;
}

.tnca-footer-btn--cancel:hover {
    background-color: #fff7f0;
}

.tnca-footer-btn--apply {
    background-color: #f59325;
    border: 1px solid #f59325;
    color: #fff;
}

.tnca-footer-btn--apply:hover {
    background-color: #d6831d;
}

.tnca-footer-btn--apply:disabled {
    background-color: #e0a74a;
    border-color: #e0a74a;
    cursor: not-allowed;
    opacity: 0.7;
}

/* ---- Range section: DateRangeTimePicker overrides (scoped) ---- */

.tnca-date-dropdown .date-inputs-container {
    margin-left: 0;
    gap: 10px;
}

.tnca-date-dropdown .date-label {
    font-size: 12px;
    color: #555;
    min-width: 28px;
    line-height: 1.5;
    margin: 0;
    align-self: center;
}

.tnca-date-dropdown .ant-picker {
    display: inline-flex !important;
    align-items: center !important;
    height: 28px !important;
    min-height: unset !important;
    width: 130px !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    background-color: #fff !important;
    border: 1px solid #e4e4e4 !important;
    box-shadow: none !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

.tnca-date-dropdown .ant-picker .ant-picker-input {
    display: inline-flex !important;
    align-items: center !important;
    width: 100% !important;
    overflow: visible !important;
}

.tnca-date-dropdown .ant-picker .ant-picker-input > input {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 12px !important;
    color: #555 !important;
    background-color: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    line-height: 1.5 !important;
}

.tnca-date-dropdown .ant-picker:hover {
    border-color: #f59325 !important;
    box-shadow: none !important;
}

.tnca-date-dropdown .ant-picker-focused,
.tnca-date-dropdown .ant-picker-outlined:focus,
.tnca-date-dropdown .ant-picker-outlined:focus-within {
    border-color: #f59325 !important;
    box-shadow: 0 0 0 2px rgba(245, 147, 37, 0.15) !important;
}

.tnca-date-dropdown .from-date-input,
.tnca-date-dropdown .to-date-input {
    border: 1px solid #e4e4e4;
    width: 108px;
    padding: 3px 8px;
    border-radius: 4px;
    height: 28px;
    line-height: 1;
    color: #555;
    font-size: 12px;
    background-color: #fff;
    flex-shrink: 0;
    transition: border-color 0.2s ease;
}

.tnca-date-dropdown .from-date-input:hover,
.tnca-date-dropdown .to-date-input:hover {
    border-color: #f59325;
}

.tnca-date-dropdown .from-date-input:focus,
.tnca-date-dropdown .to-date-input:focus {
    border-color: #f59325;
    box-shadow: none;
    outline: none;
}

/* ---- Report action buttons ---- */
.tnca-action-group {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
}

.tnca-action-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 6px 10px;
    background-color: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.15s ease;
    min-width: 48px;
}

.tnca-action-icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

/* ---- Export (Excel/PDF) dropdown menu ---- */
.tnca-download-menu {
    position: absolute;
    top: 45px;
    right: 0;
    min-width: 140px;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    z-index: 1000;
    overflow: hidden;
}

.tnca-download-option {
    width: 100%;
    border: none;
    background: #fff;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    text-align: left;
}

.tnca-download-option:hover {
    background: #fff7f0;
}

.tnca-download-icon {
    width: 18px;
    height: 18px;
}

/* ---- Selected date range badge ---- */
.tnca-date-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    border-radius: 20px;
    background: linear-gradient(135deg, #f59325 0%, #ee7b0a 100%);
    color: #fff;
    letter-spacing: 0.02em;
    white-space: nowrap;
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 1px 4px rgba(245, 147, 37, 0.35);
    flex-shrink: 0;
}

/* White background tooltip for action buttons */
.tnca-white-tooltip {
    background-color: #fff !important;
    color: #333 !important;
    border: 1px solid #e4e4e4 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
    font-size: 12px !important;
    padding: 5px;
    border-radius: 4px !important;
}

/* ================================================================
   Report Body — single card containing all facility rows
   ================================================================ */

.tnca-report-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
    padding: 8px 0;
}

.tnca-facility-block {
    border-bottom: 1px solid #f0f0f0;
}

.tnca-facility-block:last-child {
    border-bottom: none;
}

/* Always-visible facility name + Overall Summary row — name link toggles the drilldown body */
.tnca-facility-summary-row {
    display: flex;
    align-items: center;
    gap: 16px;
    padding: 16px 20px;
    flex-wrap: wrap;
}

.tnca-facility-name-col {
    flex: 0 0 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2px;
}

/* Blue metric card for each facility's Overall Summary row (mirrors InsOnDemandCare's
   .geofence_planned_exit_color right-wrap background) */
.tnca-facility-summary-card {
    background-color: #e7e6e6;
    border-radius: 12px;
}

.tnca-facility-name-link {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #23527c;
    font-weight: 600;
    font-size: 15px;
    text-align: center;
    text-decoration: underline;
}

.tnca-facility-name-link:hover {
    color: #0a58ca;
}

.tnca-facility-hint {
    font-size: 11px;
    color: #999;
}

.tnca-facility-summary-table {
    flex: 1 1 auto;
    min-width: 0;
}

.tnca-facility-body {
    padding: 4px 24px 20px 24px;
    border-top: 1px solid #f0f0f0;
}

/* Individual report section */
.tnca-report-section {
    padding: 8px 0;
}

/* Divider between sections */
.tnca-section-divider {
    border: none;
    border-top: 3px solid #f0f0f0;
    margin: 16px 0;
}

/* Subtitle label (e.g. "Reason for Leaving:", "Manager Notified:") */
.tnca-section-subtitle {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    margin: 10px 0 6px 0;
}

/* ---- Table layout (header + data rows) ---- */
.tnca-table-header-row,
.tnca-table-data-row {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.tnca-table-data-row {
    font-size: 14px;
    /* flex-start (not center) so short columns stay pinned to the top when a long label
       wraps onto multiple lines, instead of floating in the middle of the row */
    align-items: flex-start;
}

.tnca-col-alert-type {
    flex: 0 0 25%;
    max-width: 25%;
    padding: 8px 10px;
    text-align: left;
}

.tnca-col-events {
    flex: 0 0 25%;
    max-width: 25%;
    padding: 8px 10px;
    text-align: left !important;
}

.tnca-col-performance {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 8px 10px;
    display: flex;
    align-items: center;
}

.tnca-th {
    font-size: 12px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding-bottom: 8px;
}

.tnca-row-striped {
    background-color: #e7e6e6;
    border-radius: 4px;
}

.tnca-row-green {
    background-color: #e2f0d9;
    border-radius: 4px;
}

.tnca-row-blue {
    background-color: #deebf7;
    border-radius: 4px;
}

.tnca-data-label {
    font-size: 14px;
    color: #333;
    font-weight: 500;
}

.tnca-data-value {
    font-size: 14px;
    color: #555;
    margin-top: 2px;
}

.tnca-perf-labels {
    display: grid;
    grid-template-columns: auto auto 1fr;
    column-gap: 0;
    align-items: baseline;
    width: fit-content;
}

.tnca-perf-row {
    display: contents;
    font-size: 14px;
    color: #555;
    line-height: 1.6;
}

.tnca-perf-label {
    text-align: right;
    color: #555;
}

.tnca-perf-colon {
    color: #555;
}

.tnca-perf-value {
    font-weight: 600;
    color: #333;
    margin-left: 12px;
    white-space: nowrap;
}

.tnca-no-data {
    font-size: 13px;
    color: #aaa;
    padding: 12px 10px;
    text-align: center;
}

.tnca-no-data-message {
    padding: 40px 20px;
    text-align: center;
    font-size: 14px;
    color: #888;
}

.tnca-no-data-message-pdf {
    padding: 40px 20px;
    text-align: center;
    font-size: 20px;
    color: #888;
}

.tnca-state-cell {
    text-align: center;
    padding: 32px 0;
}


.tnca-pdf-page {
    padding: 0;
    background: #ffffff;
    page: tncaLandscape;
}

.tnca-pdf-preview {
    overflow: visible;
}

@page tncaLandscape {
    size: A4 landscape;
    margin: 0;
}

#geo-fence-report {
    background: white;
}

#geo-fence-report .range-selection {
    cursor: pointer;
    color: #337ab7;
}

#geo-fence-report .range-selection:hover {
    text-decoration: underline;
}

.igfr-date-picker .ant-picker {
    height: 40px;
    min-height: 34px;
    font-size: 13px;
}

/* ================================================================
   Report body — one collapsible card per facility
   ================================================================ */

.igfr-report-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
    padding: 8px 0;
}

.igfr-facility-block {
    border-bottom: 1px solid #f0f0f0;
    padding: 16px 20px;
}

.igfr-facility-block:last-child {
    border-bottom: none;
}

/* Facility name + Overall Summary sit side by side (mirrors InsTempoNotConnectedReport's
   tnca-facility-summary-row layout) */
.igfr-facility-summary-row {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
}

.igfr-facility-name-col {
    flex: 0 0 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 2px;
}

.igfr-facility-summary-table {
    flex: 1 1 auto;
    min-width: 0;
    margin-top: 0 !important;
}

.igfr-facility-name-link {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #23527c;
    font-weight: 600;
    font-size: 15px;
    text-decoration: underline;
}

.igfr-facility-name-link:hover {
    color: #0a58ca;
}

.igfr-facility-hint {
    font-size: 11px;
    color: #999;
}

.igfr-facility-body {
    margin-top: 16px;
}

.igfr-section-block {
    margin-bottom: 20px;
}

.igfr-section-block:last-child {
    margin-bottom: 0;
}

/* ================================================================
   Rounded flex-card rows (Take/Planned Exit summary, assistance types,
   resident/staff details) — replaces bordered <table> rows on screen.
   ================================================================ */

.igfr-table-header-row,
.igfr-table-data-row {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.igfr-table-header-row {
    padding: 0 0 8px;
}

.igfr-table-data-row {
    align-items: center;
    border-radius: 8px;
    margin-bottom: 10px;
}

.igfr-table-data-row:last-child {
    margin-bottom: 0;
}

.igfr-th {
    font-size: 12px;
    font-weight: 700;
    font-style: italic;
    color: #555;
    padding: 0 12px;
}

.igfr-th[role="button"] {
    cursor: pointer;
}

.igfr-col-1 {
    flex: 0 0 25%;
    max-width: 25%;
    padding: 14px 12px;
    text-align: left;
}

.igfr-col-2 {
    flex: 0 0 11%;
    max-width: 11%;
    padding: 14px 12px;
    text-align: center;
}

.igfr-col-3 {
    flex: 1 1 auto;
    min-width: 0;
    padding: 14px 12px;
    text-align: center;
}

.igfr-col-4 {
    flex: 0 0 22%;
    max-width: 22%;
    padding: 14px 12px;
    text-align: center;
}

.igfr-table-header-row .igfr-col-1,
.igfr-table-header-row .igfr-col-2,
.igfr-table-header-row .igfr-col-3,
.igfr-table-header-row .igfr-col-4 {
    padding-top: 0;
    padding-bottom: 0;
}

.igfr-table-header-row [role="button"] {
    cursor: pointer;
}

.igfr-assist-group {
    padding: 5px;
    border-radius: 20px;
}

.igfr-assist-section .igfr-col-1 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
    text-align: left;
}

.igfr-assist-section .igfr-col-2 {
    flex: 0 0 8.333%;
    max-width: 8.333%;
    text-align: center;
}

.igfr-assist-section .igfr-col-3 {
    flex: 0 0 33.333%;
    max-width: 33.333%;
    text-align: center;
}

.igfr-assist-section .igfr-col-4 {
    flex: 0 0 25%;
    max-width: 25%;
    text-align: center;
}

.igfr-row-take {
    background-color: #e2f0d9;
}

.igfr-row-exit {
    background-color: #deebf7;
}

.igfr-assist-row {
    min-height: 40px;
    align-items: center;
}

/* Compact spacing inside assistance-type groups */
.igfr-assist-group .igfr-table-data-row {
    margin-bottom: 0;
    min-height: 0;
}

.igfr-assist-group .igfr-col-1,
.igfr-assist-group .igfr-col-2,
.igfr-assist-group .igfr-col-3,
.igfr-assist-group .igfr-col-4 {
    padding-top: 5px;
    padding-bottom: 5px;
}

.igfr-section-title-row {
    font-weight: bold;
    font-style: italic;
    text-align: left;
    background-color: #fff;
    padding: 8px 12px 6px;
}

.igfr-person-name-row {
    font-weight: bold;
    padding: 6px 12px 4px;
}

.igfr-state-cell {
    text-align: center;
    padding: 32px 0;
}

.igfr-no-data-message {
    text-align: center;
    font-size: 14px;
    color: #888;
    padding: 20px 0;
}

/* ---- Geo-fence table styling (mirrors FacGeoFenceAlert.css) ---- */

.geofence_take_color td {
    background-color: #e2f0d9 !important;
}

.geofence_planned_exit_color td {
    background: #deebf7 !important;
}

.igfr-report-card table > tbody > tr > td {
    text-align: center;
    vertical-align: middle;
}

.igfr-report-card table > tbody > tr > td:first-child {
    text-align: left;
}

.igfr-report-card table > thead > tr > th {
    text-align: center;
    vertical-align: middle;
}

.igfr-report-card table > thead > tr > th:first-child {
    text-align: left;
}

.igfr-report-card th[role="button"] {
    cursor: pointer;
}

.igfr-header {
    background-color: #fff;
    font-style: italic;
    text-align: left;
    font-weight: bold;
}

.igfr-performance-group {
    display: inline-block;
    text-align: left;
}

.igfr-performance-label {
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    white-space: nowrap;
    justify-content: space-between;
    gap: 12px;
}

.igfr-performance-name {
    flex: 1 1 auto;
    text-align: right;
    text-decoration: underline;
}

.igfr-performance-value {
    flex: 0 0 72px;
    text-align: left;
    white-space: nowrap;
}

.igfr-pdf-page {
    padding: 0;
    background: #ffffff;
    page: igfrLandscape;
}

.igfr-pdf-preview {
    overflow: visible;
}

@page igfrLandscape {
    size: A4 landscape;
    margin: 0;
}

/* ─── Filter bar ─────────────────────────────────────────────────────────── */
.institution-residents-header {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
}

.institution-residents-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.institution-residents-panel {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.institution-residents-panel-body {
    padding-left: 0 !important;
}

.institution-residents-table-section {
    width: 100%;
    padding: 0;
}

.institution-residents-filter-control {
    height: 36px !important;
    width: 200px !important;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 14px;
    flex-shrink: 0;
}

.institution-residents-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 200px;
    flex-shrink: 0;
}

.institution-residents-search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    font-size: 13px;
    pointer-events: none;
    z-index: 1;
}

.institution-residents-search-input {
    width: 100% !important;
    padding-left: 12px;
    padding-right: 30px;
}

.institution-residents-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background: none;
    border: none;
    padding: 0;
    color: #888;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    line-height: 1;
}

.institution-residents-search-clear:hover {
    color: #333;
}

@media (max-width: 767.98px) {
    .institution-residents-toolbar {
        width: 100%;
    }

    .institution-residents-filter-control,
    .institution-residents-search-wrapper {
        width: 100% !important;
    }
}

/* ─── Status/deleted labels ──────────────────────────────────────────────── */
#institution-residents .label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

#institution-residents .empty-label {
    background-color: #999999;
}

#institution-residents .label-success {
    background-color: #00acac;
}

#institution-residents .label-danger {
    background-color: #d9534f;
    cursor: default;
}

#institution-residents .label-info {
    background-color: #5bc0de;
}

#institution-residents .label-muted {
  background-color: #f15854;
  color: #ffffff;
}

/* ─── Resident name cell (avatar + name/labels) ─────────────────────────── */
.institution-residents-name-cell {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.institution-residents-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.institution-residents-initials-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    color: #555;
    text-transform: uppercase;
    flex-shrink: 0;
}

/* ─── Table + sticky header ──────────────────────────────────────────────── */
#institution-residents .table_header {
    cursor: pointer;
    user-select: none;
}

#institution-residents .custom-table-responsive {
    overflow: visible;
}

#institution-residents .custom-table-responsive .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

#institution-residents .custom-table-responsive .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

/* "Total N" badge — same pill look as InstitutionExeAdmin.css / InsCommunityAdmin.css /
   InstitutionFacilityStaff.css, but positioned via an inline margin-left (JS-measured
   against the real Tempo™ Serial <th>, see tempoColRect in InstitutionResidents.jsx)
   instead of me-auto, since this page needs the badge pinned to that exact column. */
#institution-residents .institution-residents-total-bar {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px 6px 14px;
    background-color: #fdf2e6;
    border: 1px solid #f6cfa0;
    border-radius: 20px;
    font-size: 14px;
    line-height: 1;
}

#institution-residents .institution-residents-total-label {
    color: #8a5a1f;
    font-weight: 600;
    letter-spacing: 0.2px;
}

#institution-residents .institution-residents-total-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 24px;
    padding: 0 8px;
    background-color: #f59325;
    color: #ffffff;
    border-radius: 12px;
    font-weight: 700;
}

/* ─── Scroll-reveal indicator ────────────────────────────────────────────── */
.institution-residents-loader {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 20px;
    padding: 12px 0;
}

.institution-residents-loading-text {
    font-size: 13px;
    color: #888;
}


.institution-visitors-header {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin: 0;
  padding: 0;
}

.institution-visitors-toolbar {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.institution-visitors-panel {
  width: 100%;
  margin-left: 0;
  margin-right: 0;
}

.institution-visitors-panel-body {
  padding-left: 0 !important;
}

.institution-visitors-table-section {
  width: 100%;
  padding: 0;
}

.institution-visitors-table-state-cell {
  text-align: center;
  padding: 24px 0;
}

.institution-visitors-filter-control {
  height: 36px !important;
  width: 200px !important;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 14px;
  flex-shrink: 0;
}

.institution-visitors-search-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  width: 200px;
  flex-shrink: 0;
}

.institution-visitors-search-icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #888;
  font-size: 13px;
  pointer-events: none;
  z-index: 1;
}

.institution-visitors-search-input {
  width: 100% !important;
  padding-left: 12px;
  padding-right: 30px;
}

.institution-visitors-search-clear {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  background: none;
  border: none;
  padding: 0;
  color: #888;
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  line-height: 1;
}

.institution-visitors-search-clear:hover {
  color: #333;
}

.institution-visitors-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: contain;
  flex-shrink: 0;
}

.institution-visitors-initials-avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background-color: #d9d9d9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: bold;
  color: #555;
  text-transform: uppercase;
  flex-shrink: 0;
}

#institution-visitors .label {
  display: inline;
  padding: 0.2em 0.6em 0.3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: 0.25em;
}

.institution-visitors-label-success {
  background-color: #00acac;
}

.institution-visitors-label-danger {
  background-color: #ff5b57;
}

.institution-visitors-label-warning {
  background-color: #b6b2b2;
}

.institution-visitors-label-info {
  background-color: #5bc0de;
}

#institution-visitors .total-tempo-serial {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px 6px 14px;
  background-color: #fdf2e6;
  border: 1px solid #f6cfa0;
  border-radius: 20px;
  font-size: 14px;
  line-height: 1;
}

#institution-visitors .total-tempo-serial-label {
  color: #8a5a1f;
  font-weight: 600;
  letter-spacing: 0.2px;
}

#institution-visitors .total-tempo-serial-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 26px;
  height: 24px;
  padding: 0 8px;
  background-color: #f59325;
  color: #ffffff;
  border-radius: 12px;
  font-weight: 700;
  font-size: 12px;
}

#institution-visitors .custom-table-responsive {
  overflow: visible;
}

#institution-visitors .custom-table-responsive .custom-table {
  border-collapse: separate;
  border-spacing: 0;
}

#institution-visitors .custom-table-responsive .custom-table > thead.header > tr > th {
  position: sticky;
  top: 60px;
  z-index: 3;
  background: #e6e6e6 !important;
  box-shadow: 0 1px 0 #e2e7eb;
}

@media (max-width: 767.98px) {
  .institution-visitors-toolbar {
    width: 100%;
  }

  .institution-visitors-filter-control,
  .institution-visitors-search-wrapper {
    width: 100% !important;
  }
}

.ins-view-tempo-page .label-shared {
    background-color: #f39f09;
}

.ins-view-tempo-page .label_shared_visitor {
    background-color: #7030a0;
}

.ins-view-tempo-page .label-spare {
    background-color: #b6b2b2 !important;
}

.ins-view-tempo-page .label-unsuable {
    background-color: #348fe2;
}

.ins-view-tempo-page .label-danger {
    background-color: #ff5b57;
}

.ins-view-tempo-page .label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

/* ins-view-tempo page only: success badge/label color */
.ins-view-tempo-page .badge.badge-success,
.ins-view-tempo-page .label.label-success {
    background: #00acac;
}

.ins-view-tempo-page .total-tempo-serial {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px 6px 14px;
    background-color: #fdf2e6;
    border: 1px solid #f6cfa0;
    border-radius: 20px;
    font-size: 14px;
    line-height: 1;
}

.ins-view-tempo-page .total-tempo-serial-label {
    color: #8a5a1f;
    font-weight: 600;
    letter-spacing: 0.2px;
}

.ins-view-tempo-page .total-tempo-serial-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 24px;
    padding: 0 8px;
    background-color: #f59325;
    color: #ffffff;
    border-radius: 12px;
    font-weight: 700;
    font-size: 12px;
}

.ins-view-tempo-page .custom-table-responsive {
    overflow: visible;
}

.ins-view-tempo-page .custom-table-responsive .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

.ins-view-tempo-page .custom-table-responsive .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.ins-view-tempo-page .ins-tempo-devices-panel-body {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

.ins-view-tempo-page .ins-tempo-devices-table-section {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
}
.ins-agency-tempo-devices-panel,
.ins-agency-tempo-devices-table-section {
    width: 100%;
}

.ins-agency-tempo-devices-panel-body,
.ins-agency-tempo-devices-table-section {
    padding-right: 0 !important;
    padding-left: 0 !important;
}
/* Institution-level Executive Admin listing — matches InstitutionStaffs theme */
.ins-exe-admin-filter-control {
    height: 38px !important;
    min-height: 38px !important;
    box-sizing: border-box;
    min-width: 200px;
    width: auto !important;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 14px;
    flex-shrink: 0;
}

/* Filter dropdowns need extra room for labels like "Active Executive Admins" */
select.ins-exe-admin-filter-control {
    min-width: 240px;
}

/* Facility filter dropdown — comfortable width so it matches the other controls */
#facility.ins-exe-admin-filter-control {
    min-width: 200px !important;
    width: 200px !important;
    height: 38px !important;
    line-height: 1.2;
    box-sizing: border-box;
}

/* Add Executive Admin button — match the 38px height of the filters/search.
   The global .custom-button sets min-height:38px, so override with !important. */
#add_executive_admin.custom-button {
    height: 38px !important;
    min-height: 38px !important;
    display: inline-flex;
    align-items: center;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 14px;
    line-height: 1.2;
    box-sizing: border-box;
    flex-shrink: 0;
}

.ins-exe-admin-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 200px;
    height: 38px;
    flex-shrink: 0;
}

.ins-exe-admin-toolbar {
    flex-shrink: 0;
}

.ins-exe-admin-panel-body {
    padding-right: 0;
    padding-left: 0;
}

.ins-exe-admin-table-section {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
}

.ins-exe-admin-search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    font-size: 13px;
    pointer-events: none;
    z-index: 1;
}

.ins-exe-admin-search-input {
    height: 38px !important;
    width: 100% !important;
    min-width: 0;
    padding-left: 12px;
    padding-right: 30px;
}

.ins-exe-admin-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background: none;
    border: none;
    padding: 0;
    color: #888;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    line-height: 1;
}

.ins-exe-admin-search-clear:hover {
    color: #333;
}

.ins-exe-admin-avatar {
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

/* Initials avatar shown when no profile image or in demo mode */
.ins-exe-admin-initials-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #d9d9d9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    color: #555;
    text-transform: uppercase;
    flex-shrink: 0;
}

.ins-exe-admin-action-icon {
    cursor: pointer;
    color: #2d353c;
    font-size: 15px;
    background: transparent;
    border: none;
    padding: 0;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ins-exe-admin-action-icon:hover:not(.disabled) {
    color: #f59c1a;
}

.ins-exe-admin-action-icon.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

/* Badge/label styling to match InstitutionStaffs theme */
#institution-exe-admin .label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

#institution-exe-admin .institution-label-info {
    background-color: #49b6d6 !important;
    color: #fff !important;
}

#institution-exe-admin .institution-label-danger {
    background-color: #ff5b57;
    color: #fff;
}

#institution-exe-admin .institution-label-warning {
    background-color: #b6b2b2;
    color: #fff;
}

/* Sticky table header — keeps column headers visible while scrolling the list */
#institution-exe-admin .custom-table-responsive {
    overflow: visible;
}

#institution-exe-admin .custom-table-responsive .custom-table {
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
}

#institution-exe-admin .custom-table-responsive .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

#institution-exe-admin .ins-exe-admin-col-name {
    width: 20%;
}

/* First Name cell: avatar + name side by side; long names/usernames wrap inside the column */
#institution-exe-admin tbody td:first-child {
    overflow: hidden;
}

#institution-exe-admin .ins-exe-admin-name-cell {
    display: flex;
    align-items: flex-start;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

#institution-exe-admin .ins-exe-admin-name-cell > div:last-child {
    min-width: 0;
    max-width: 100%;
    flex: 1 1 0;
}

#institution-exe-admin .ins-exe-admin-name-cell span,
#institution-exe-admin .ins-exe-admin-name-cell .text-muted {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-all;
}

#institution-exe-admin .ins-exe-admin-col-community {
    width: 28%;
}

#institution-exe-admin .ins-exe-admin-col-tempo {
    width: 24%;
}

#institution-exe-admin .ins-exe-admin-col-action {
    width: 16%;
}

#institution-exe-admin .ins-exe-admin-filter-bar {
    width: 100%;
}

#institution-exe-admin .total-tempo-serial {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px 6px 14px;
    background-color: #fdf2e6;
    border: 1px solid #f6cfa0;
    border-radius: 20px;
    font-size: 14px;
    line-height: 1;
}

#institution-exe-admin .total-tempo-serial-label {
    color: #8a5a1f;
    font-weight: 600;
    letter-spacing: 0.2px;
}

#institution-exe-admin .total-tempo-serial-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 24px;
    padding: 0 8px;
    background-color: #f59325;
    color: #ffffff;
    border-radius: 12px;
    font-weight: 700;
}


#changeRoleModal {
    .change-role-modal {
        background-color: rgba(0, 0, 0, 0.5);
    }
    
    .current-role-option.current-role-bold {
        font-weight: bold;
    }

    .col-form-label {
        font-weight: 600;
        text-align: end;
        font-size: 1rem;
    }

    .form-select:disabled {
        pointer-events: auto;
        cursor: not-allowed !important;
    }
}
/* Horizontal form label alignment */
#community-executive-form .col-form-label {
    font-weight: 600;
    text-align: end;
}

/* Disabled input/select cursor */
#community-executive-form .executive-form-field-disabled {
    cursor: not-allowed;
}

#community-executive-form .form-control:disabled,
#community-executive-form .form-select:disabled {
    cursor: not-allowed;
}

/* Role label extra bottom spacing in edit mode */
#community-executive-form .executive-form-role-label-edit {
    margin-bottom: 25px;
}

/* Profile image preview thumbnail */
#community-executive-form .executive-form-profile-img {
    max-width: 150px;
    max-height: 150px;
    object-fit: cover;
}

/* Responsive: stack labels left-aligned on xs screens */
@media (max-width: 575.98px) {
    #community-executive-form .col-form-label {
        text-align: start;
        padding-bottom: 0.25rem;
    }
}

/* Make setting/notification checkboxes clearly visible */
#community-executive-form .form-check-input.custom-checkbox {
    width: 18px;
    height: 18px;
    border: 1px solid #6c757d;
    border-radius: 3px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

#community-executive-form .form-check-input.custom-checkbox:checked {
    background-color: #f59c1a;
    border-color: #f59c1a;
    background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23ffffff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e");
}

#community-executive-form .form-check-input.custom-checkbox:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}
.ins-cd-search-icon {
    position: absolute;
    right: 10px;
    color: #888;
    font-size: 13px;
    pointer-events: none;
}

.ins-com-admin-avatar {
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.ins-com-admin-initials-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #d9d9d9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    color: #555;
    text-transform: uppercase;
    flex-shrink: 0;
}

#institution-community-admin .ins-ca-filter-bar {
    width: 100%;
}
#institution-community-admin .ins-community-admin-panel-body {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

#institution-community-admin .ins-ca-total-tempo {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px 6px 14px;
    background-color: #fdf2e6;
    border: 1px solid #f6cfa0;
    border-radius: 20px;
    font-size: 14px;
    line-height: 1;
}


#institution-com-admin-body .label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

#institution-community-admin .ins-ca-total-tempo-label {
    color: #8a5a1f;
    font-weight: 600;
    letter-spacing: 0.2px;
}

#institution-community-admin .ins-ca-total-tempo-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 24px;
    padding: 0 8px;
    background-color: #f59325;
    border-radius: 12px;
    color: #ffffff;
    font-weight: 700;
}

.ins-cd-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.ins-cd-search-clear {
    position: absolute;
    right: 6px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    color: #666;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ins-cd-search-clear:hover {
    color: #222;
}

.ins-cd-admin-filter-control {
    height: 38px !important;
    min-width: 280px;
    width: 200px !important;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 14px;
    flex-shrink: 0;
    border-radius: 4px;
}

.ins-cd-admin-action-icon {
    cursor: pointer;
    color: #2d353c;
    font-size: 15px;
    background: transparent;
    border: none;
    padding: 0;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.ins-cd-admin-action-icon:hover:not(.disabled) {
    color: #f59c1a;
}

.ins-cd-admin-action-icon.disabled {
    opacity: 0.5;
    cursor: not-allowed !important;
}

.ins-cd-admin-action-icon:disabled,
.ins-cd-admin-action-icon.disabled *,
.ins-cd-admin-action-icon:disabled * {
    cursor: not-allowed !important;
}

#institution-community-admin .ins-ca-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

#institution-community-admin .ins-ca-table {
    border-collapse: separate;
    border-spacing: 0;
}

#institution-community-admin .ins-ca-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.ins-cd-search-input {
    padding-right: 32px;
    width: 100%;
}

.ins-com-table-state-cell {
    text-align: center;
    padding: 40px 0;
}

.ins-com-admin-name-cell {
    display: flex;
    align-items: center;
}

@media (max-width: 767.98px) {
    .ins-cd-admin-filter-control {
        min-width: 0;
        width: 100% !important;
    }
}
#institution-community-admin .ins-community-admin-table-section {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
}
#changeRoleModal {
    .change-role-modal {
        background-color: rgba(0, 0, 0, 0.5);
    }
    
    .current-role-option.current-role-bold {
        font-weight: bold;
    }

    .col-form-label {
        font-weight: 600;
        text-align: end;
        font-size: 1rem;
    }

    .form-select:disabled {
        pointer-events: auto;
        cursor: not-allowed !important;
    }
}
.ins-community-admin-form {
    .col-form-label {
        font-weight: 600;
        text-align: end;
       
    }
}
#ins-community-admin-form .form-check-input.custom-checkbox {
    width: 18px;
    height: 18px;
    border: 1px solid #6c757d;
    border-radius: 3px;
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}
.ins-community-admin-form input[type="checkbox"]:disabled {
    cursor: not-allowed !important;
}

.ins-community-admin-form select:disabled {
    cursor: not-allowed !important;
}
.ins-community-admin-form .mb-3.row.align-items-center > .col-form-label {
    align-self: flex-start;
}

.ins-community-admin-form .edit-role-link:not(.acti_disabled) {
    cursor: pointer;
}

.ins-community-admin-form .ins-community-admin-field-error {
    min-height: 18px;
    margin-top: 4px;
}

.ins-community-admin-form .form-select {
    background-position: right 0.75rem center;
}

#community-executive-form .form-check-input.custom-checkbox
.ins-community-admin-form input:disabled,
.ins-community-admin-form select:disabled {
    cursor: not-allowed !important;
}
#ins-community-admin-form input:disabled,
#ins-community-admin-form select:disabled,
#ins-community-admin-form textarea:disabled,
#ins-community-admin-form button:disabled,
#ins-community-admin-form .form-check-input.custom-checkbox:disabled {
    cursor: not-allowed !important;
}

#ins-community-admin-form .ins-community-admin-tempo__control--is-disabled,
#ins-community-admin-form .ins-community-admin-tempo__control--is-disabled * {
    cursor: not-allowed !important;
}
#ins-community-admin-form option.ins-community-admin-inactive-option:disabled {
    color: #212529 !important;
    -webkit-text-fill-color: #212529;
    opacity: 1;
}
#ins-community-admin-form .ins-community-admin-disabled-checkbox,
#ins-community-admin-form .ins-community-admin-disabled-checkbox .form-check-input {
    cursor: not-allowed !important;
}
#ins-community-admin-form .form-check-input.custom-checkbox:not(:disabled) {
    cursor: pointer !important;
}
#ins-community-admin-form .ins-community-admin-tempo__control {
    min-height: 32px;
    border-color: #ced4da !important;
    box-shadow: none;
    font-size: 13px;
    text-align: left;
}

#ins-community-admin-form .ins-community-admin-tempo__control:hover {
    border-color: #ced4da !important;
}

#ins-community-admin-form .ins-community-admin-tempo__control--is-focused {
    border-color: #f59325 !important;
    box-shadow: 0 0 0 1px #f59325 !important;
}

#ins-community-admin-form .ins-community-admin-tempo__value-container,
#ins-community-admin-form .ins-community-admin-tempo__placeholder,
#ins-community-admin-form .ins-community-admin-tempo__single-value,
#ins-community-admin-form .ins-community-admin-tempo__input-container {
    color: #495057;
    text-align: left;
}

#ins-community-admin-form .ins-community-admin-tempo__option {
    padding: 4px 8px;
    font-size: 13px;
    text-align: left;
}

#ins-community-admin-form .ins-community-admin-tempo__option--is-focused {
    background-color: rgba(245, 147, 37, 0.15);
}

#ins-community-admin-form .ins-community-admin-tempo__option--is-selected {
    background-color: #f59325;
    color: #ffffff;
}

#ins-community-admin-form .ins-community-admin-tempo__dropdown-indicator,
#ins-community-admin-form .ins-community-admin-tempo__clear-indicator {
    padding: 4px;
}
/* JobHistory modal styles */

.job-history-pagination-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 16px;
    border-top: 1px solid #e9ecef;
    background-color: #fafafa;
}

.job-history-pagination-info {
    font-size: 13px;
    color: #555555;
    white-space: nowrap;
}

.job-history-pagination-controls {
    display: flex;
    align-items: center;
    gap: 4px;
}

.job-history-page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 6px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background-color: #ffffff;
    color: #495057;
    font-size: 13px;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s, border-color 0.15s;
    line-height: 1;
}

.job-history-page-btn:hover:not(:disabled) {
    background-color: #f59325;
    border-color: #f59325;
    color: #ffffff;
}

.job-history-page-btn.active {
    background-color: #f59325;
    border-color: #f59325;
    color: #ffffff;
    font-weight: 600;
}

.job-history-page-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.job-history-page-size-select {
    height: 32px;
    padding: 0 8px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    font-size: 13px;
    color: #495057;
    background-color: #ffffff;
    cursor: pointer;
}

.job-history-page-size-select:focus {
    border-color: #f59325;
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.25);
}

/* Divider between an optional extra-content slot (children prop) and the Email section */
.scheduler-extra-divider {
    border: none;
    border-top: 1px solid #e9ecef;
    margin: 16px 0;
}

/* Modal dialog centering and sizing */
#modal-backdrop-scheduler .modal-dialog {
    max-width: 1000px;
    margin: 3rem auto 1.75rem;
}

/* Globally unique class for scheduler modal top separation. */
#modal-backdrop-scheduler .cp-email-scheduler-modal-dialog {
    margin-top: 3rem;
}

/* Keep the unique scheduler modal below the viewport top without an inner scrollbar. */
#modal-backdrop-scheduler .cp-email-scheduler-modal-dialog .modal-content {
    max-height: none;
    overflow: visible;
}

#modal-backdrop-scheduler .cp-email-scheduler-modal-dialog .modal-body {
    overflow: visible;
    padding: 12px;
}

#modal-backdrop-scheduler .modal-content {
    padding: 0%;
    width: 100%;
}

/* Scheduler container */
#scheduler-container {
    width: 100%;
}

/* PrimeReact Calendar fixes */
#scheduler-container .p-calendar {
    width: 100%;
}

#scheduler-container .p-calendar .p-inputtext {
    width: 100%;
    height: 38px;
    padding: 0.375rem 0.75rem;
    font-size: 14px;
    line-height: 1.5;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
}

#scheduler-container .p-calendar .p-inputtext:focus {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* Fixed (non-editable) Delivery Time: show a not-allowed cursor while keeping the
   PrimeReact Calendar fully non-interactive. The wrapper owns the cursor because the
   disabled calendar has no pointer events, so the hover falls through to it. */
.scheduler-delivery-disabled {
    cursor: not-allowed;
}

.scheduler-delivery-disabled .p-calendar,
.scheduler-delivery-disabled .p-calendar .p-inputtext {
    pointer-events: none;
    background-color: #e9ecef;
}

.scheduler-calendar-panel {
    z-index: 9999 !important;
}

/* Frequency dropdown */
#scheduler-container .frequency-dropdown {
    max-width: 600px;
    margin-bottom: 16px;
}

/* Scheduler card header */
#scheduler-container .scheduler-card-header {
    background-color: #6c757d;
    color: white;
    padding: 0;
}

/* Scheduler tabs container */
#scheduler-container .scheduler-tabs {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    gap: 4px;
}

#scheduler-container .scheduler-tabs li {
    flex: 0 0 auto;
}

/* Scheduler tab buttons — sized to content (compact), not stretched full-width */
#scheduler-container .scheduler-tab {
    width: auto;
    padding: 6px 16px;
    border: none;
    background-color: #6c757d;
    color: white;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-size: 13px;
    font-weight: 500;
    border-radius: 4px 4px 0 0;
    white-space: nowrap;
}
/* Scheduler tabs container */
#scheduler-container .scheduler-tabs {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    gap: 0;
}

#scheduler-container .scheduler-tabs li {
    flex: 1;
}

/* Scheduler tab buttons */
#scheduler-container .scheduler-tab {
    width: 100%;
    padding: 12px 20px;
    border: none;
    background-color: #6c757d;
    color: white;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-size: 14px;
    font-weight: 500;
}

/* Scheduler tab hover state */
#scheduler-container .scheduler-tab:hover {
    /* background-color: #f59325; */
}

/* Scheduler tab active state */
#scheduler-container .scheduler-tab-active {
    background-color: #f59325;
}

/* Modal animations */
.modal-content.slide-down {
    animation: slideDown 0.3s ease-out;
}

.modal-content.slide-up {
    animation: slideUp 0.3s ease-in;
}

@keyframes slideDown {
    from {
        transform: translateY(-100%);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        transform: translateY(0);
        opacity: 1;
    }
    to {
        transform: translateY(-100%);
        opacity: 0;
    }
}

/* Scheduler tab content */
.scheduler-tab-content {
    padding: 12px 16px;
    background-color: #fff;
}

/* Section heading for Email */
#scheduler-section-heading {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 8px 0;
    padding-bottom: 5px;
    border-bottom: 1px solid #e0e0e0;
    text-align: left;
}

/* Section body - indented container */
#scheduler-section-body {
    margin: 0 auto;
    max-width: 800px;
}

/* Inline field layout */
.scheduler-inline-field {
    align-items: flex-start;
    margin-bottom: 8px;
}

.scheduler-inline-label {
    text-align: right;
    font-weight: 500;
    color: #555;
    padding-top: 8px;
    font-size: 14px;
}

/* Frequency row: single-line radio group, so the label should sit centered
   on that line rather than top-aligned (the default, needed for taller
   inputs like the Subject/Message textareas). */
.scheduler-inline-field--frequency {
    align-items: center;
}

.scheduler-inline-field--frequency .scheduler-inline-label {
    padding-top: 0px;
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5em;
    margin-bottom: .125rem;
}

.scheduler-inline-input {
    display: flex;
    flex-direction: column;
}

/* Form groups */
.scheduler-form-group {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    margin-bottom: 20px;
    gap: 15px;
}

.scheduler-label {
    flex: 0 0 100px;
    text-align: left;
    font-weight: 500;
    color: #333;
    padding-top: 8px;
}

.scheduler-input-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
}

/* Field container for To* label and input */
.scheduler-field-container {
    width: 100%;
}

.scheduler-field-label {
    display: block;
    font-weight: 500;
    color: #333;
    margin-bottom: 8px;
    text-align: left;
}

/* Email tags container */
.email-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 3px 8px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    min-height: 38px;
    height: auto;
    overflow: visible;
    align-items: center;
    background-color: #fff;
}

.email-tags-container:focus-within {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.email-tags-container.error-border {
    border-color: #dc3545;
}

.email-tags-container.error-border:focus-within {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

/* Email tag */
.email-tag {
    display: inline-flex;
    align-items: center;
    background-color: #007bff;
    color: white;
    padding: 4px 8px;
    border-radius: 4px;
    font-size: 14px;
    max-width: 100%;
    word-break: break-all;
    overflow-wrap: anywhere;
}

.email-tag-remove {
    background: none;
    border: none;
    color: white;
    margin-left: 6px;
    cursor: pointer;
    font-size: 18px;
    line-height: 1;
    padding: 0;
    width: 16px;
    height: 16px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.email-tag-remove:hover {
    background-color: rgba(255, 255, 255, 0.2);
    border-radius: 50%;
}

/* Email input field */
.scheduler-email-input {
    flex: 1;
    min-width: 200px;
    border: none;
    outline: none;
    padding: 4px;
    font-size: 14px;
    height: 30px;
}

/* Unique scheduler scope: normalize single-line Bootstrap controls. */
#modal-backdrop-scheduler .cp-email-scheduler-modal-dialog #scheduler-container .form-control:not(textarea) {
    height: 38px;
    min-height: 38px;
}

/* Unique scheduler scope: provide more writing space for the Message field. */
#modal-backdrop-scheduler .cp-email-scheduler-modal-dialog #scheduler-container textarea.form-control {
    min-height: 80px !important;
}

/* Error message */
.error-message {
    color: #dc3545 !important;
    font-size: 12px !important;
    margin-top: 6px !important;
    text-align: left !important;
    display: block !important;
    width: 100% !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}

/* Invalid form control styling */
.form-control.is-invalid,
.form-control.is-invalid:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

/* Invalid PrimeReact Calendar styling */
.p-calendar.p-invalid .p-inputtext,
.p-calendar.p-invalid .p-inputtext:focus {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

/* Input note */
.input-note {
    color: #6c757d;
    font-size: 12px;
    margin-top: 4px;
    text-align: left;
    font-style: italic;
}


#scheduler-container .form-check-input {
    margin-right: 8px;
}

#scheduler-container .form-check.form-check-inline.weekly-checkbox {
    margin-right: 14px;
}

/* Responsive design */
@media (max-width: 768px) {
    #scheduler-section-body {
        margin: 0 auto;
    }

    .scheduler-inline-field {
        flex-direction: column;
        gap: 8px;
    }

    .scheduler-inline-label {
        text-align: left;
    }

    .scheduler-form-group {
        flex-direction: column;
        gap: 8px;
    }

    .scheduler-label {
        flex: none;
        padding-top: 0;
    }

    .email-tags-container {
        min-width: 100%;
    }

    .scheduler-email-input {
        min-width: 150px;
    }

    #modal-backdrop-scheduler .modal-dialog {
        margin: 1rem;
        max-width: calc(100% - 2rem);
    }
}

@media (max-width: 480px) {
    #scheduler-section-body {
        margin: 0 auto;
    }

    .scheduler-tab-content {
        padding: 15px;
    }

    .scheduler-inline-field {
        margin-bottom: 12px;
    }

    .scheduler-form-group {
        margin-bottom: 15px;
    }

    .email-tag {
        font-size: 12px;
        padding: 3px 6px;
    }

    #scheduler-section-heading {
        font-size: 15px;
    }
}

.insagencycensus-filter-select {
    height: 38px;
    min-width: 160px;
}

.insagencycensus-serial-count {
    font-weight: 600;
}

.insagencycensus-badge-deactivated,
.insagencycensus-badge-notempo {
    background: #b6b2b2 !important;
    color: #fff;
}

.insagencycensus-badge-internal {
    background-color: #f15854 !important;
    color: #fff;
}



.insagencycensus-action-btn:disabled {
    pointer-events: all;
    cursor: not-allowed;
}

.insagencycensus-table-container table {
    table-layout: fixed;
    width: 100%;
}

.insagencycensus-table-container thead th.insagencycensus-col-lastname,
.insagencycensus-table-container tbody td.insagencycensus-col-lastname {
    width: 10%;
    max-width: 100px;
    word-break: break-word;
    white-space: normal;
    overflow: hidden;
}

.insagencycensus-initials-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    color: #555;
    text-transform: uppercase;
    flex-shrink: 0;
}
.insagencycensus-table-container .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

.insagencycensus-actions .btn {
    flex: 0 1 auto;
    white-space: nowrap;
}

@media (max-width: 767.98px) {
    .insagencycensus-actions .btn {
        flex: 1 1 calc(50% - 0.5rem);
        min-width: 140px;
    }
}

@media (max-width: 479.98px) {
    .insagencycensus-actions .btn {
        flex-basis: 100%;
        width: 100%;
    }
}
#ins-agency-census,
#ins-agency-census > .panel-inverse,
#ins-agency-census .panel-body,
#ins-agency-census .insagencycensus-table-container {
    overflow: visible !important;
}

#ins-agency-census .insagencycensus-table-container .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

#ins-agency-census .insagencycensus-table-container .custom-table > thead.header > tr > th {
    position: -webkit-sticky !important;
    position: sticky !important;
    top: 60px !important;
    z-index: 10;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

#ins-agency-census .ins-agency-census-panel-body {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

#ins-agency-census .ins-agency-census-table-section {
    width: 100%;
    padding-right: 0;
    padding-left: 0;
}
/* ==========================================================
   InsOnDemandCare.css  —  scoped prefix: odc-
   ========================================================== */

/* ── BS3 shims ── */
.m-t-5  { margin-top:    5px  !important; }
.m-l-5  { margin-left:   5px  !important; }
.m-r-5  { margin-right:  5px  !important; }
.m-t-10 { margin-top:   10px  !important; }
.m-b-3  { margin-bottom: 3px  !important; }
.text-right { text-align: right !important; }

/* ══════════════════════════════════════════════════════════
   FILTER CARD
   ══════════════════════════════════════════════════════════ */
.odc-filter-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
    padding: 8px 16px;
    margin-bottom: 16px;
}

/* Flex row — left controls + right icons */
.odc-filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

/* Left cluster */
.odc-filter-controls {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* ── Date dropdown panel (Staff-style odc-date-dropdown) ── */
.odc-date-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 1001;
    width: 340px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0,0,0,0.13);
    padding: 16px;
    border: 1px solid #f0f0f0;
}

.odc-dropdown-section-label {
    margin: 0 0 8px 0;
    font-size: 11px;
    font-weight: 700;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.odc-section-label-range {
    margin-top: 14px;
}

.odc-quick-select-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.odc-quick-btn {
    padding: 5px 11px;
    font-size: 12px;
    background-color: #f7f7f7;
    border: 1px solid #e4e4e4;
    border-radius: 4px;
    color: #555;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    line-height: 1.5;
}
.odc-quick-btn:hover {
    background-color: #fff0e0;
    border-color: #f59325;
    color: #c97a1a;
}
.odc-quick-btn-active {
    background-color: #ffe4c6;
    border-color: #f59325;
    color: #c97a1a;
    font-weight: 600;
}

.odc-dropdown-footer {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    border-top: 1px solid #f0f0f0;
    padding-top: 14px;
}

.odc-footer-btn {
    flex: 1;
    height: 38px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}
.odc-footer-btn-cancel {
    background-color: #fff;
    border: 1px solid #f59325;
    color: #f59325;
}
.odc-footer-btn-cancel:hover { background-color: #fff7f0; }
.odc-footer-btn-save {
    background-color: #f59325;
    border: 1px solid #f59325;
    color: #fff;
}
.odc-footer-btn-save:hover { background-color: #d6831d; }
.odc-footer-btn-save:disabled {
    background-color: #e0a74a;
    border-color: #e0a74a;
    cursor: not-allowed;
    opacity: 0.7;
}

/* Ant picker overrides inside odc-date-dropdown */
.odc-date-dropdown .date-inputs-container { margin-left: 0; gap: 10px; }
.odc-date-dropdown .date-label { font-size: 12px; color: #555; min-width: 28px; line-height: 1.5; margin: 0; align-self: center; }
.odc-date-dropdown .ant-picker {
    display: inline-flex; align-items: center; height: 28px; min-height: unset;
    width: 130px; font-size: 12px; border-radius: 4px; background-color: #fff;
    border: 1px solid #e4e4e4; box-shadow: none; padding: 0 6px; box-sizing: border-box;
}
.odc-date-dropdown .ant-picker .ant-picker-input { display: inline-flex; align-items: center; width: 100%; }
.odc-date-dropdown .ant-picker .ant-picker-input > input {
    width: 100%; min-width: 0; font-size: 12px; color: #555;
    background-color: transparent; border: none; outline: none; box-shadow: none; padding: 0; line-height: 1.5;
}
.odc-date-dropdown .ant-picker:hover { border-color: #f59325; }

/* ── White tooltip ── */
.odc-white-tooltip {
    background-color: #fff !important;
    color: #333 !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    padding: 2px 6px !important;
    box-shadow: 0 2px 8px rgba(0,0,0,0.1) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    opacity: 1 !important;
    z-index: 2000 !important;
    pointer-events: none !important;
}

/* ── Date dropdown panel (legacy DateRangeDropdownPanel): anchor left ── */
.odc-date-ctrl .cpd-dropdown-panel {
    left: 0;
    right: auto;
}

/* ── Trigger button wrapper ── */
.odc-filter-trigger-wrap {
    position: relative;
}

/* ── Institution control wrapper (dropdown triggers) ── */
.odc-ins-ctrl-wrap {
    position: relative;
}

/* ── Institution trigger button ── */
.odc-ins-trigger {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    padding: 8px 14px;
    font-size: 14px;
    font-family: 'Inter', sans-serif;
    color: #707478;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease;
}
.odc-ins-trigger:hover {
    border-color: #f59325;
    color: #f59325;
}

/* ── Chevron ── */
.odc-chevron {
    font-size: 11px;
    color: #999;
    transition: color 0.2s ease;
}
.odc-ins-trigger:hover .odc-chevron {
    color: #f59325;
}

/* ── Date badge: orange gradient pill ── */
.odc-date-badge {
    display: inline-flex;
    align-items: center;
    background: linear-gradient(135deg, #f59325 0%, #ee7b0a 100%);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    font-family: 'Inter', sans-serif;
    border-radius: 20px;
    padding: 2px 8px;
    white-space: nowrap;
}

/* ── Right group wrapper ── */
.odc-right-group {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

/* ── Get Report button ── */
.odc-get-report-btn {
    padding: 8px 18px !important;
    font-size: 14px !important;
    font-family: 'Inter', sans-serif !important;
    border-radius: 6px !important;
    height: 38px;
}

/* ══════════════════════════════════════════════════════════
   FACILITY DROPDOWN PANEL
   ══════════════════════════════════════════════════════════ */
.odc-facility-dropdown-panel {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    min-width: 520px;
    max-width: 720px;
    background: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(0,0,0,0.12);
    z-index: 1300;
    padding: 12px 16px 8px;
}

/* All Facilities row */
.odc-fac-check-row {
    padding: 4px 0;
}
.odc-fac-check-row--all {
    border-bottom: 1px solid #f0f0f0;
    margin-bottom: 8px;
    padding-bottom: 8px;
}

/* Label — mirrors cpd-loc-option-label from Filter.css */
.odc-fac-label {
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
    font-family: 'Inter', sans-serif;
    font-weight: 400;
    color: #707478;
    margin: 0;
    user-select: none;
}
.odc-fac-check-row--all .odc-fac-label {
    font-weight: 600;
    font-size: 13px;
        color: #707478;

}

/* 2-column grid for facilities */
.odc-fac-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2px 12px;
}

/* Footer — uses cpd-cancel-btn / cpd-submit-btn from Filter.css */
.odc-fac-footer {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid #f0f0f0;
}

/* ══════════════════════════════════════════════════════════
   ACTION ICON BUTTONS (right side)
   ══════════════════════════════════════════════════════════ */

.ins-odc-page .odc-action-group,
.ins-agency-odc-page .odc-action-group {
    display: flex;
    align-items: center;
    gap: 4px;
}
.odc-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    padding: 0;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.2s, background-color 0.2s;
}
.odc-action-btn:hover {
    border-color: #f59325;
    background-color: #fff7f0;
}
.odc-action-icon {
    width: 18px;
    height: 18px;
    object-fit: contain;
}

/* Download sub-menu */
.odc-download-menu {
    position: absolute;
    top: 45px;
    right: 0;
    min-width: 150px;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.12);
    z-index: 1300;
    overflow: hidden;
}
.odc-download-option,
.odc-download-item {
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    border: none;
    background: #fff;
    cursor: pointer;
    font-size: 14px;
    color: #707478;
    font-family: 'Inter', sans-serif;
    text-align: left;
}
.odc-download-option:hover,
.odc-download-item:hover { background: #fff7f0; }

/* ── Column-toggle / stacked-button override ── */
.stacked-button {
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 1px solid #d9d9d9 !important;
    border-radius: 6px !important;
    background: #fff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}
.stacked-button:hover {
    border-color: #f59325 !important;
    background: #fff7f0 !important;
}

/* ══════════════════════════════════════════════════════════
   REPORT BODY CARD  (replaces panel panel-inverse)
   ══════════════════════════════════════════════════════════ */

.ins-agency-odc-page .odc-report-card,
.ins-odc-page .odc-report-card {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
    overflow: hidden;
    margin-top: 8px;
    padding: 12px 16px;
}

/* Extra bottom spacing for the Agency On Demand Care page */
.ins-agency-odc-page,
.ins-odc-page {
    padding-bottom: 40px;
}
.ins-agency-odc-page .odc-report-card,
.ins-odc-page .odc-report-card {
    margin-bottom: 72px;
}

/* ══════════════════════════════════════════════════════════
   SHARED FLEX TABLE — header + data rows use the same classes
   ══════════════════════════════════════════════════════════ */

/* Outer flex row — both header and data use this */
.odc-table-row {
    display: flex;
    align-items: stretch;
    width: 100%;
    box-sizing: border-box;
}

/* Column 1: Community name */
.odc-cell--community {
    flex: 0 0 15%;
    min-width: 0;
    padding: 8px 10px;
    display: flex;
    flex-direction: column;
    align-items: normal;
    justify-content: normal;
    text-align: normal;
    box-sizing: border-box;
}

/* Column group 2-5: wraps the blue card area */
.odc-cell--right-wrap {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

/* Column 2: Resident Alert Type */
.odc-cell--alerttype {
    flex: 0 0 28%;
    min-width: 0;
    padding: 6px 10px;
    display: flex;
    align-items: center;
    box-sizing: border-box;
}

/* Column 3: # Button Presses and Assistance Events */
.odc-cell--events {
    flex: 0 0 13%;
    min-width: 0;
    padding: 6px 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    box-sizing: border-box;
}

.odc-events-link {
    text-decoration: underline;
    cursor: pointer;
    color: #337ab7;
}
.odc-events-link:hover {
    color: #1a5f9e;
}

/* Column 4: Alert Response Performance — labels + SVG */
.odc-cell--perf {
    flex: 1;
    min-width: 0;
    display: flex;
    align-items: flex-start;
    padding: 10px 8px;
    box-sizing: border-box;
}
.odc-perf-labels {
   
    min-width: 0;
    text-align: right;
    padding-right: 4px;
    display: flex;
    flex-direction: column;
}
.odc-perf-labels .alert-timeline-heading-1 {
    min-height: 24px;
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    white-space: normal;
    overflow: visible;
    text-align: right;
}
.odc-perf-chart {
    flex: 1;
    min-width: 0;
}

/* Column 5: Total Staff Time */
.odc-cell--totaltime {
    flex: 1 0 130px;
    min-width: 0;
    padding: 10px 8px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    text-align: right;
    font-size: 13px;
    color: #707478;
    font-weight: 400;
    box-sizing: border-box;
}

/* ── Header row ── */
.odc-header-row {
    padding: 4px 12px 8px;
    align-items: flex-start;  /* cells top-aligned, not stretched */
}
.odc-header-right-wrap {
    align-items: flex-start;
}

/* Header cell typography — no alignment overrides; let cell classes control layout */
.odc-col-hdr {
    font-size: 12px;
    font-weight: 700;
    font-style: italic;
    text-decoration: underline;
    color: #707478;
    font-family: 'Inter', sans-serif;
    line-height: 1.4;
    white-space: normal;
    word-break: break-word;
    overflow-wrap: break-word;
    padding-top: 2px;
    padding-bottom: 2px;
}
.odc-col-header-center { justify-content: center; text-align: center; }
.odc-col-header-right  { justify-content: flex-end; text-align: right; }

.odc-sortable {
    cursor: pointer;
    user-select: none;
}

/* ── Data row card ── */
.odc-community-row {
    background: #fff;
    border: none;
    border-radius: 8px;
    box-shadow: 0 1px 4px rgba(0,0,0,0.05);
    margin-bottom: 8px;
    overflow: hidden;
    padding: 6px 12px;
}
.odc-community-row:last-child {
    margin-bottom: 0;
}

/* Community name hint text */
.odc-community-hint {
    font-size: 11px;
    color: #666;
    margin-top: 4px;
    line-height: 1.4;
    text-align: left;
    white-space: normal;
}

/* ── Drilldown panel ── */
.odc-community-drilldown {
    background: none;
    border-top: none;
    padding: 16px 0px;
}

/* ── Drilldown section ── */
.odc-drill-section {
    margin-bottom: 20px;
    background: #fff;
    border-top: 1px solid #e8edf4;
    border-radius: 6px;
    padding: 12px 16px;
    color: #707478;
}
.odc-drill-section-title {
    font-size: 13px;
    font-weight: 700;
    color: #707478;
    margin-bottom: 10px;
    padding-bottom: 6px;
    border-bottom: 1px solid #f0f0f0;
    font-family: 'Inter', sans-serif;
}

/* ══════════════════════════════════════════════════════════
   REPORT BODY CARD
   ══════════════════════════════════════════════════════════ */

/* ── Column header row — exact from PHP custom.css ── */
.cpar-table-header {
    background-color: #fff;
    font-style: italic;
    text-decoration: underline;
    text-align: left;
    font-weight: bold;
        color: #707478;

    font-size: 12.5px;
    padding: 4px 6px;
}

.odc-drill-sort-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    text-decoration: underline;
    cursor: pointer;
}
.css-header-row1 {
    background-color: #fff;
    font-style: italic;
    text-decoration: underline;
    text-align: left;
    font-weight: bold;
        color: #707478;

    font-size: 12.5px;
}

/* ── Facility name link ── */
.txt-underlined {
    text-decoration: underline !important;
    cursor: pointer;
    color: #337ab7;
}
.txt-underlined:hover { color: #1a5f9e; }

/* ── Blue metric card (right-wrap background) ── */
.geofence_planned_exit_color {
    /* background: #DEEBF7; */
    border-radius: 12px;
    color: #707478;
}

/* ── Metric label rows ── */
.alert-timeline-heading-1 {
    font-size: 80%;
    text-decoration: underline;
    color: #707478;
}

/* ── SVG bar classes (from PHP custom.css) ── */
.cpar-bar-lightblue_ins  { fill: #bac8de; stroke: #67778f; stroke-width: 1px; }
.cpar-bar-mediumblue_ins { fill: #8faadc; stroke: #455676; stroke-width: 1px; }
.cpar-bar-grey_ins       { fill: #bfbfbf; stroke: #918a8a; stroke-width: 1px; }
.cpar-bar-lightblue      { fill: #bac8de; }
.cpar-bar-mediumblue     { fill: #8faadc; }
.cpar-bar-grey           { fill: #bfbfbf; }
.cpar-bar-black          { fill: #000000; }
.cpar-bar-text {
    font-family: Helvetica, sans-serif;
    font-size: 80%;
}

/* ── Helpers ── */
.text_decoration { text-decoration: underline; font-style: italic; font-weight: bold;    color: #707478;
 }
.height-20 {
    height: 20px !important;
    overflow: hidden;   /* prevent wrapped text from bleeding into adjacent rows */
    line-height: 20px;
}

/* Drilldown label rows — allow wrapping, override the fixed height so text doesn't bleed */
.odc-drill-section .height-20 {
    height: auto !important;
    min-height: 20px;
    overflow: visible;
}
.odc-drill-section .alert-timeline-heading-1 {
    white-space: normal;
    overflow: visible;
    line-height: 1.3;
}

/* ══════════════════════════════════════════════════════════
   RESPONSIVE
   ══════════════════════════════════════════════════════════ */

/* ── Tablet: 768px – 991px ── */
@media (max-width: 991px) {
    /* Facility dropdown: don't bleed off-screen */
    .odc-facility-dropdown-panel {
        min-width: 300px;
        max-width: calc(100vw - 32px);
    }

    /* Tighten community + events so perf gets more room */
    .odc-cell--community  { flex: 0 0 18%; }
    .odc-cell--alerttype  { flex: 0 0 24%; }
    .odc-cell--events     { flex: 0 0 8%;  }
    .odc-cell--totaltime  { flex: 1 0 110px; }

    /* Labels get a little more breathing room */
    .odc-perf-labels { flex: 0 0 46%; }
}

/* ── Mobile: < 768px ── */
@media (max-width: 767px) {
    .odc-filter-card { padding: 10px 12px; }

    /* Facility dropdown: constrained to viewport, single-column list */
    .odc-facility-dropdown-panel {
        min-width: 260px;
        max-width: calc(100vw - 20px);
        left: 0;
    }
    .odc-fac-grid { grid-template-columns: 1fr; }

    /* Header row is meaningless when columns stack — hide it */
    .odc-header-row { display: none; }

    /* Community card: stack community name above the blue card */
    .odc-table-row       { flex-wrap: wrap; }
    .odc-cell--community {
        flex: 0 0 100%;
        padding-bottom: 6px;
        border-bottom: 1px solid #d6e8f5;
        margin-bottom: 6px;
    }
    .odc-cell--right-wrap {
        flex: 0 0 100%;
        flex-wrap: wrap;
    }

    /* Alert type + events side by side on their own row */
    .odc-cell--alerttype { flex: 1 1 55%; }
    .odc-cell--events    { flex: 1 1 45%; }

    /* Performance + total time each full-width below */
    .odc-cell--perf {
        flex: 0 0 100%;
    }
    .odc-cell--totaltime {
        flex: 0 0 100%;
        justify-content: flex-start;
        border-top: 1px solid #c8ddf0;
        padding-top: 8px;
        margin-top: 4px;
    }

    /* Performance labels: wider ratio on full-width row */
    .odc-perf-labels { flex: 0 0 48%; }

    /* Community row must allow content to show when stacked */
    .odc-community-row { overflow: visible; }
}

/* ── Small phone: < 480px ── */
@media (max-width: 480px) {
    /* Perf: stack labels above chart */
    .odc-cell--perf { flex-direction: column; }
    .odc-perf-labels {
        flex: 0 0 auto;
        width: 100%;
        text-align: left;
        padding-right: 0;
        padding-bottom: 4px;
    }
    .odc-perf-labels .alert-timeline-heading-1 { justify-content: flex-start; }
    .odc-perf-chart { width: 100%; }

    /* Drilldown label columns: stack above SVG bars */
    .odc-drill-section .col-md-4[style] {
        width: 100%;
        text-align: left !important;
    }
    .odc-drill-section .row > [class*="col-md-8"] {
        width: 100%;
    }
}


/* ── Toolbar wrapper — transparent, flush with page background ───────── */
.overview-toolbar-wrapper {
  width: 100%;
  background: #f3f3f3;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box;
}

.od-toolbar-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: nowrap;
  gap: 6px;
  padding: 10px 16px 10px 0;
  width: 100%;
  box-sizing: border-box;
  background: #f3f3f3;
}

.od-toolbar-inner--sticky .od-toolbar-actions {
    margin-right: 235px;
}

body.sidebar-collapsed .od-toolbar-inner--sticky .cpd-tab-group {
  margin-left: 115px;
}

body.sidebar-collapsed .od-toolbar-inner--sticky .od-toolbar-actions {
  margin-right: calc(235px - 140px);
}

/* ── Tab group ───────────────────────────────────────────────────────── */
.cpd-tab-group {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0;
}

.cpd-tab-btn {
  padding: 9px 13px;
  cursor: pointer;
  border: none;
  background: #fff;
  color: #333;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 500;
  border-radius: 0;
  transition: background 0.18s, color 0.18s;
  user-select: none;
  outline: none;
  white-space: nowrap;
}

.cpd-tab-btn--first {
  border-radius: 6px 0 0 6px;
}

.cpd-tab-btn--last {
  border-radius: 0 6px 6px 0;
}

.cpd-tab-btn--first.cpd-tab-btn--last {
  border-radius: 6px;
}

.cpd-tab-btn:hover:not(.cpd-tab-btn--active):not(.cpd-tab-btn--disabled) {
  background: #fef3e4;
}

.cpd-tab-btn--active {
  background: #F59325;
  color: #fff;
  font-weight: 600;
}

.cpd-tab-btn--disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* ── Right-side controls ─────────────────────────────────────────────── */
.od-toolbar-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.od-ctrl-wrap {
  position: relative;
}

.od-ctrl-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 12px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background: #fff;
  color: #333;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 400;
  cursor: pointer;
  white-space: nowrap;
  transition: border-color 0.18s, background 0.18s;
  outline: none;
}

.od-ctrl-btn:hover:not(:disabled) {
  border-color: #F59325;
  background: #fffaf4;
}

.od-ctrl-btn--disabled,
.od-ctrl-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.od-ctrl-chevron {
  font-size: 11px;
  color: #888;
  margin-left: 2px;
}

.od-date-badge {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 600;
  line-height: 1.4;
  border-radius: 20px;
  background: linear-gradient(135deg, #f59325 0%, #ee7b0a 100%);
  color: #fff;
  letter-spacing: 0.02em;
  white-space: nowrap;
  max-width: 110px;
  overflow: hidden;
  text-overflow: ellipsis;
  box-shadow: 0 1px 4px rgba(245, 147, 37, 0.35);
  flex-shrink: 0;
}

/* ── Dropdown panel ──────────────────────────────────────────────────── */
.cpd-dropdown-panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 360px;
  max-width: 420px;
  background: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.13);
  padding: 14px 16px 12px;
  z-index: 1300;
}

.cpd-dropdown-panel--loc {
  min-width: 260px;
  max-width: 320px;
}

/* ── Section label ───────────────────────────────────────────────────── */
.cpd-panel-section-label {
  display: block;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #888 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 5px 0 6px 0 !important;
}

/* ── Date preset buttons ─────────────────────────────────────────────── */
.cpd-preset-group {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 0;
  margin-top: 10px;
  margin-bottom: 6px;
}

.cpd-preset-btn {
  margin: 0;
  padding: 5px 10px;
  font-size: 12px;
  background-color: #f7f7f7;
  border: 1px solid #e4e4e4;
  border-radius: 4px;
  color: #555;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  line-height: 1.5;
}

.cpd-preset-btn:hover {
  background-color: #fff0e0;
  border-color: #f59325;
  color: #c97a1a;
}

.cpd-preset-btn--active {
  background-color: #ffe4c6 !important;
  border-color: #f59325 !important;
  color: #c97a1a !important;
  font-weight: 600;
}

/* ── Date warning ────────────────────────────────────────────────────── */
.cpd-date-warning-inline {
  display: flex;
  align-items: center;
  gap: 8px;
  background-color: #fffbeb;
  border: 1px solid #fcd34d;
  border-radius: 6px;
  padding: 10px 12px;
  margin-top: 10px;
  margin-bottom: 10px;
  font-size: 13px;
  font-weight: 500;
  color: #92400e;
  line-height: 1.5;
}

.cpd-date-warning-inline .fa-exclamation-triangle {
  font-size: 14px;
  color: #d97706;
  flex-shrink: 0;
  align-self: center;
}

/* ── Footer button row ───────────────────────────────────────────────── */
.cpd-footer-btn-row {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid #e0e0e0;
}

.cpd-cancel-btn {
  border-radius: 4px;
  border: 1px solid #F59325;
  color: #F59325 !important;
  background-color: #ffffff;
  width: auto;
  height: auto;
  padding: 7px 18px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.5;
  transition: background-color 0.15s;
}

.cpd-cancel-btn:hover {
  background-color: #fff7f0;
}

.cpd-submit-btn {
  border-radius: 4px;
  border: 1px solid #F59325;
  background-color: #F59325;
  color: #ffffff !important;
  width: auto;
  height: auto;
  padding: 7px 18px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  line-height: 1.5;
  transition: background-color 0.15s;
}

.cpd-submit-btn:hover:not(:disabled) {
  background-color: #D6831D;
}

.cpd-submit-btn:disabled {
  background-color: #e0a74a;
  border-color: #e0a74a;
  cursor: not-allowed;
  opacity: 0.7;
}

/* ── Level of care panel ─────────────────────────────────────────────── */
.cpd-loc-select-all-row {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 10px;
}

.cpd-loc-select-all-btn {
  padding: 5px 14px;
  font-size: 12px;
  font-weight: 600;
  color: #ffffff;
  background-color: #F59325;
  border: 1px solid #F59325;
  border-radius: 20px;
  cursor: pointer;
  line-height: 1.5;
  transition: background-color 0.15s;
}

.cpd-loc-select-all-btn:hover:not(:disabled) {
  background-color: #D6831D;
  border-color: #D6831D;
}

.cpd-loc-select-all-btn:disabled {
  background-color: #f0c999;
  border-color: #f0c999;
  cursor: not-allowed;
}

.cpd-loc-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 380px;
  overflow-y: auto;
  margin-bottom: 12px;
}

.cpd-loc-option {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 2px 4px;
  border-radius: 4px;
}

.cpd-loc-option-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  user-select: none;
  color: #333;
  font-family: 'Inter', sans-serif;
  flex: 1;
  min-width: 0;
}

.cpd-loc-only-btn {
  display: inline-flex;
  align-items: center;
  padding: 0;
  font-size: 13px;
  font-weight: 500;
  color: #F5A623;
  background: transparent;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  line-height: 1;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.cpd-loc-only-btn:hover {
  color: #d4880e;
}

.cpd-loc-checkbox {
  width: 14px;
  height: 14px;
  min-width: 14px;
  min-height: 14px;
  border-radius: 3px;
  border: 1.5px solid #F5A623;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  background-color: #fff;
  cursor: pointer;
  transition: background-color 0.15s, border-color 0.15s;
}

.cpd-loc-checkbox--checked {
  background-color: #F5A623;
  border-color: #F5A623;
}

/* ── Filters panel ───────────────────────────────────────────────────── */
.cpd-filter-dropdown {
  min-width: 360px !important;
  max-width: 460px !important;
  overflow: visible !important;
}

.cpd-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e0e0e0;
}

.cpd-panel-title {
  font-size: 14px;
  font-weight: 600;
  color: #333;
  font-family: 'Inter', sans-serif;
}

.cpd-panel-close {
  background: none;
  border: none;
  cursor: pointer;
  color: #666;
  font-size: 16px;
  line-height: 1;
  padding: 0 2px;
}

.cpd-filter-panel {
  padding: 4px 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.cpd-filter-row {
  display: flex !important;
  align-items: flex-start !important;
  cursor: pointer;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #333;
  padding: 4px 10px;
  border-radius: 6px;
  user-select: none;
  margin: 0 !important;
}

.cpd-filter-row--radio {
  gap: 8px;
  align-items: center !important;
}

.cpd-filter-row--disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.cpd-filter-checkbox {
  width: 14px;
  height: 14px;
  min-width: 14px;
  min-height: 14px;
  border-radius: 3px;
  border: 1.5px solid #e0e0e0;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0;
  align-self: flex-start;
  margin-top: 1px;
  cursor: pointer;
  background-color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  transition: background-color 0.15s, border-color 0.15s;
  margin-right: 8px;
}

.cpd-filter-checkbox--checked {
  background-color: #F5A623;
  border-color: #F5A623;
  box-shadow: 0 1px 4px rgba(245, 166, 35, 0.4);
}

.cpd-filter-radio {
  width: 14px;
  height: 14px;
  min-width: 14px;
  min-height: 14px;
  margin: 0;
  flex-shrink: 0;
  display: inline-grid;
  place-content: center;
  -webkit-appearance: none;
  appearance: none;
  border: 1.5px solid #ee931a;
  border-radius: 50%;
  background: #fff;
  outline: none;
  box-shadow: none;
}

.cpd-filter-radio::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #ee931a;
  transform: scale(0);
  transition: transform 0.12s ease-in-out;
}

.cpd-filter-radio:checked::before {
  transform: scale(1);
}

/* ── Response time slider ────────────────────────────────────────────── */
.cpd-slider-wrapper {
  padding: 2px 20px 4px 20px;
  transition: opacity 0.2s;
}

.cpd-slider-track-container {
  position: relative;
  padding-top: 28px;
}

.cpd-slider-tooltip {
  position: absolute;
  top: 0;
  left: calc(var(--slider-ratio, 0) * (100% - 20px) + 10px);
  transform: translateX(-50%);
  background: linear-gradient(135deg, #f59325 0%, #ee7b0a 100%);
  color: #fff;
  border-radius: 6px;
  padding: 3px 8px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  pointer-events: none;
  line-height: 1.4;
  box-shadow: 0 2px 6px rgba(245, 147, 37, 0.35);
}

.cpd-slider-tooltip::after {
  content: '';
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 4px solid transparent;
  border-top-color: #ee7b0a;
}

.cpd-response-slider {
  -webkit-appearance: none;
  appearance: none;
  width: 100%;
  height: 6px;
  border-radius: 3px;
  background: linear-gradient(to right, #F5A623 var(--slider-pct, 0%), #e8e8e8 var(--slider-pct, 0%));
  outline: none;
  cursor: pointer;
}

.cpd-response-slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  background: #F5A623;
  border: 2px solid #fff;
  cursor: pointer;
  box-shadow: 0 2px 6px rgba(245, 147, 37, 0.45);
  transition: transform 0.15s, box-shadow 0.15s;
}

.cpd-response-slider::-webkit-slider-thumb:hover {
  transform: scale(1.2);
  box-shadow: 0 3px 10px rgba(245, 147, 37, 0.6);
}

.cpd-response-slider::-moz-range-thumb {
  width: 20px;
  height: 20px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #F5A623;
  cursor: pointer;
}

/* ── Panel Apply button ──────────────────────────────────────────────── */
.cpd-panel-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid #e0e0e0;
}

.cpd-apply-filter-btn {
  background-color: #ee931a;
  color: #fff;
  border: none;
  border-radius: 4px;
  padding: 7px 18px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.15s;
}

.cpd-apply-filter-btn:hover {
  background-color: #d4820f;
}

.cpd-apply-filter-btn:disabled {
  background-color: #f9b872;
  cursor: not-allowed;
}

/* ── DDL dropdown (alert types) ──────────────────────────────────────── */
.cpd-ddl-wrap {
  position: relative;
  display: block;
  width: 100%;
  margin: 4px 0;
}

.cpd-ddl-btn {
  padding: 6px 10px;
  cursor: pointer;
  width: 100%;
  text-align: left;
  border: 1px solid #d9d9d9;
  background: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: 5px;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  color: #444;
  transition: border-color 0.15s;
}

.cpd-ddl-btn:hover {
  border-color: #f59325;
}

.cpd-ddl-btn--open {
  border-color: #f59325;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}

.cpd-ddl-label {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  flex: 1;
  font-size: 13px;
}

.cpd-ddl-content {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  border: 1px solid #f59325;
  border-top: none;
  background: #fff;
  z-index: 9999;
  padding: 6px 8px;
  box-sizing: border-box;
  border-bottom-right-radius: 5px;
  border-bottom-left-radius: 5px;
  overflow-y: auto;
  max-height: 200px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.cpd-ddl-checkbox-label {
  display: flex;
  align-items: center;
  padding: 5px 4px;
  margin-bottom: 0;
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #333;
  cursor: pointer;
  gap: 8px;
  border-radius: 4px;
  transition: background 0.1s;
}

.cpd-ddl-checkbox-label:hover {
  background: #fff7ef;
}

.cpd-ddl-checkbox {
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  min-width: 16px;
  border: 1.5px solid #ccc;
  border-radius: 3px;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  background: #fff;
  vertical-align: middle;
  transition: background 0.15s, border-color 0.15s;
}

.cpd-ddl-checkbox:checked {
  background-color: #f28c28;
  border-color: #f28c28;
}

.cpd-ddl-checkbox:checked::after {
  content: '';
  position: absolute;
  top: 2px;
  left: 5px;
  width: 4px;
  height: 8px;
  border: solid #fff;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

/* ── No-options placeholder ──────────────────────────────────────────── */
.cpd-no-filter-options {
  display: block;
  font-size: 13px;
  color: #7a7a7a;
  padding: 6px 2px;
}

/* ── Action icon buttons ─────────────────────────────────────────────── */
.cpd-action-icons {
  display: flex;
  align-items: center;
  gap: 4px;
  border-left: 1px solid #e0e0e0;
  padding-left: 10px;
  margin-left: 4px;
}

.cpd-icon-btn-wrap {
  position: relative;
}

.cpd-icon-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid #e0e0e0;
  border-radius: 6px;
  background: #fff;
  cursor: not-allowed;
  opacity: 0.45;
  padding: 0;
}

.cpd-icon-btn img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

/* ── Tooltip override ────────────────────────────────────────────────── */
.cpd-white-tooltip {
  background-color: white !important;
  color: black !important;
  border: 1px solid #ccc !important;
  border-radius: 4px !important;
  padding: 3px 6px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
  font-size: 11px !important;
}

/* ── Info popup overlay ──────────────────────────────────────────────── */
.cpd-popup-overlay {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.cpd-popup-box {
  background-color: #f0f0f0;
  padding: 30px;
  border-radius: 5px;
  max-width: 800px;
  width: 80%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  position: relative;
}

.cpd-popup-close {
  position: absolute;
  top: 20px;
  right: 30px;
  border: 0.5px solid #FFA500;
  background-color: transparent;
  color: #FFA500;
  font-weight: bold;
  padding: 6px 12px;
  border-radius: 6px;
  width: 125px;
  font-size: 14px;
  cursor: pointer;
}

.cpd-popup-content {
  padding: 20px 30px;
  background-color: #fff;
  margin-top: 40px;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  text-align: left;
  line-height: 1.5;
}

.cpd-popup-content p {
  margin-bottom: 12px;
}

.cpd-popup-table {
  text-align: left;
}

.cpd-popup-table td {
  padding: 4px 0;
  font-size: 13px;
  color: #444;
}

/* ── Responsive ──────────────────────────────────────────────────────── */
@media (max-width: 1279px) {
  .cpd-tab-btn {
    font-size: 12px;
    padding: 8px 10px;
  }
  .od-ctrl-btn {
    font-size: 12px;
    padding: 6px 10px;
    gap: 4px;
  }
  .od-toolbar-inner {
    gap: 4px;
    padding: 8px 12px 8px 0;
  }
}

@media (max-width: 1023px) {
  .cpd-tab-btn {
    font-size: 11px;
    padding: 7px 8px;
  }
  .od-ctrl-btn {
    font-size: 11px;
    padding: 5px 8px;
    gap: 4px;
  }
}

@media (max-width: 900px) {
  .cpd-tab-btn {
    font-size: 11px;
    padding: 6px 7px;
  }
  .od-ctrl-btn {
    font-size: 11px;
    padding: 5px 7px;
  }
  .od-date-badge {
    display: none;
  }
}

@media (max-width: 700px) {
  .od-toolbar-inner {
    flex-wrap: wrap;
    flex-direction: column;
    align-items: flex-start;
  }
  .cpd-tab-group {
    width: 100%;
  }
  .cpd-tab-btn {
    font-size: 11px;
    padding: 7px 8px;
    flex: 1 1 auto;
  }
  .od-toolbar-actions {
    width: 100%;
    flex-wrap: wrap;
    justify-content: flex-start;
  }
  .cpd-dropdown-panel {
    right: auto;
    left: 0;
    min-width: min(340px, calc(100vw - 24px));
  }
}

/* ─────────────────────────────────────────────────────────────
   Institution Scheduler – unique prefixed classes
   Prefix: ins-scheduler-* | ins-job-history-*
   ───────────────────────────────────────────────────────────── */

/* ── Modal dialog sizing ── */
#modal-backdrop-scheduler .modal-dialog:has(#ins-scheduler-container) {
    max-width: 1000px;
    margin: 1.75rem auto;
}

#modal-backdrop-scheduler .modal-content:has(#ins-scheduler-container) {
    padding: 0;
    width: 100%;
}

/* ── Scheduler container ── */
#ins-scheduler-container {
    width: 100%;
}

/* ── PrimeReact Calendar ── */
#ins-scheduler-container .p-calendar {
    width: 100%;
}

#ins-scheduler-container .p-calendar .p-inputtext {
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: 14px;
    line-height: 1.5;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
}

#ins-scheduler-container .p-calendar .p-inputtext:focus {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.ins-scheduler-calendar-panel {
    z-index: 9999 !important;
}

/* ── Frequency dropdown ── */
.ins-scheduler-frequency-dropdown {
    max-width: 600px;
}

/* ── Card header ── */
#ins-scheduler-container .ins-scheduler-card-header {
    background-color: #6c757d;
    color: white;
    padding: 0;
}

/* ── Tabs ── */
#ins-scheduler-container .ins-scheduler-tabs {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: row;
    gap: 0;
}

#ins-scheduler-container .ins-scheduler-tabs li {
    flex: 1;
}

#ins-scheduler-container .ins-scheduler-tab {
    width: 100%;
    padding: 12px 20px;
    border: none;
    background-color: #6c757d;
    color: white;
    cursor: pointer;
    transition: background-color 0.3s ease;
    font-size: 14px;
    font-weight: 500;
}

#ins-scheduler-container .ins-scheduler-tab:hover {
    background-color: #f59325;
}

#ins-scheduler-container .ins-scheduler-tab-active {
    background-color: #f59325;
}

/* ── Tab content ── */
.ins-scheduler-tab-content {
    padding: 20px;
    background-color: #fff;
}

/* ── Section headings ── */
.ins-scheduler-section-heading {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin: 0 0 15px 0;
    padding-bottom: 8px;
    border-bottom: 1px solid #e0e0e0;
    text-align: left;
}

.ins-scheduler-section-body {
    margin: 0 auto;
    max-width: 800px;
}

/* ── Inline field layout ── */
.ins-scheduler-inline-field {
    align-items: flex-start;
    margin-bottom: 15px;
}

.ins-scheduler-inline-label {
    text-align: right;
    font-weight: 500;
    color: #555;
    padding-top: 8px;
    font-size: 14px;
}

.ins-scheduler-inline-input {
    display: flex;
    flex-direction: column;
}

/* ── Email tags ── */
.ins-scheduler-email-tags-container {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 6px 10px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    min-height: 42px;
    align-items: center;
    background-color: #fff;
    cursor: text;
}

.ins-scheduler-email-tags-container:focus-within {
    border-color: #f59325;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.25);
}

.ins-scheduler-email-tags-container.ins-scheduler-error-border {
    border-color: #dc3545;
}

.ins-scheduler-email-tags-container.ins-scheduler-error-border:focus-within {
    border-color: #dc3545;
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25);
}

.ins-scheduler-email-tag {
    display: inline-flex;
    align-items: center;
    background-color: #f59325;
    color: #fff;
    padding: 3px 10px;
    border-radius: 20px;
    font-size: 13px;
    font-weight: 500;
    white-space: nowrap;
}

.ins-scheduler-email-tag-remove {
    background: none;
    border: none;
    color: #fff;
    margin-left: 6px;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    padding: 0;
    width: 16px;
    height: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.8;
}

.ins-scheduler-email-tag-remove:hover {
    opacity: 1;
    background-color: rgba(255, 255, 255, 0.25);
    border-radius: 50%;
}

.ins-scheduler-email-input {
    flex: 1;
    min-width: 80px;
    border: none;
    outline: none;
    padding: 4px 2px;
    font-size: 14px;
    background: transparent;
    color: #555;
}

/* ── Validation ── */
.ins-scheduler-error-message {
    color: #dc3545;
    font-size: 12px;
    margin-top: 6px;
    text-align: left;
    display: block;
    width: 100%;
    font-weight: 400;
    line-height: 1.4;
}

.ins-scheduler-input-note {
    color: #6c757d;
    font-size: 12px;
    margin-top: 4px;
    text-align: left;
    font-style: italic;
}

/* ── Weekly day checkboxes ── */
.ins-scheduler-weekly-checkbox {
    display: inline-flex;
    align-items: center;
}

/* ── Action buttons ── */
.ins-scheduler-action-template {
    display: flex;
    align-items: center;
    gap: 4px;
}

/* ── Modal slide animations ── */
.modal-content.ins-slide-down {
    animation: ins-slideDown 0.3s ease-out;
}

.modal-content.ins-slide-up {
    animation: ins-slideUp 0.3s ease-in;
}

@keyframes ins-slideDown {
    from { transform: translateY(-100%); opacity: 0; }
    to   { transform: translateY(0);     opacity: 1; }
}

@keyframes ins-slideUp {
    from { transform: translateY(0);     opacity: 1; }
    to   { transform: translateY(-100%); opacity: 0; }
}

/* ── JobHistory pagination ── */
.ins-job-history-pagination-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    padding: 10px 16px;
    border-top: 1px solid #e9ecef;
    background-color: #fafafa;
}

.ins-job-history-pagination-info {
    font-size: 13px;
    color: #555555;
    white-space: nowrap;
}

.ins-job-history-pagination-controls {
    display: flex;
    align-items: center;
    gap: 4px;
}

.ins-job-history-page-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 6px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background-color: #ffffff;
    color: #495057;
    font-size: 13px;
    cursor: pointer;
    transition: background-color 0.15s, color 0.15s, border-color 0.15s;
    line-height: 1;
}

.ins-job-history-page-btn:hover:not(:disabled) {
    background-color: #f59325;
    border-color: #f59325;
    color: #ffffff;
}

.ins-job-history-page-btn.active {
    background-color: #f59325;
    border-color: #f59325;
    color: #ffffff;
    font-weight: 600;
}

.ins-job-history-page-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.ins-job-history-page-size-select {
    height: 32px;
    padding: 0 8px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    font-size: 13px;
    color: #495057;
    background-color: #ffffff;
    cursor: pointer;
}

.ins-job-history-page-size-select:focus {
    border-color: #f59325;
    outline: none;
    box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.25);
}

/* ── Responsive ── */
@media (max-width: 768px) {
    .ins-scheduler-section-body {
        margin: 0 auto;
    }

    .ins-scheduler-inline-field {
        flex-direction: column;
        gap: 8px;
    }

    .ins-scheduler-inline-label {
        text-align: left;
    }

    #modal-backdrop-scheduler .modal-dialog:has(#ins-scheduler-container) {
        margin: 1rem;
        max-width: calc(100% - 2rem);
    }

    .ins-scheduler-email-tags-container {
        min-width: 100%;
    }

    .ins-scheduler-email-input {
        min-width: 150px;
    }
}

@media (max-width: 480px) {
    .ins-scheduler-tab-content {
        padding: 15px;
    }

    .ins-scheduler-inline-field {
        margin-bottom: 12px;
    }

    .ins-scheduler-email-tag {
        font-size: 12px;
        padding: 3px 6px;
    }

    .ins-scheduler-section-heading {
        font-size: 15px;
    }
}

.institution-staffs-header {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
}

.institution-staffs-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.institution-staffs-panel {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.institution-staffs-filter-control {
    height: 36px !important;
    width: 200px !important;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 14px;
    flex-shrink: 0;
}

.institution-staffs-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 200px;
    flex-shrink: 0;
}

.institution-staffs-search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    font-size: 13px;
    pointer-events: none;
    z-index: 1;
}

.institution-staffs-search-input {
    width: 100% !important;
    padding-left: 12px;
    padding-right: 30px;
}

.institution-staffs-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background: none;
    border: none;
    padding: 0;
    color: #888;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    line-height: 1;
}

.institution-staffs-search-clear:hover {
    color: #333;
}

/* Initials avatar shown when no profile image or in demo mode */
.institution-staffs-initials-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    color: #555;
    text-transform: uppercase;
    flex-shrink: 0;
}

.institution-staffs-table-body .label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

.institution-label-success {
    background-color: #00acac;
    color: #fff;
}

.institution-label-danger {
    background-color: #ff5b57;
    color: #fff;
}

.institution-label-warning {
    background-color: #b6b2b2;
    color: #fff;
}
.institution-staffs-panel-body {
    padding-left: 0 !important;
}

.institution-staffs-table-section {
    width: 100%;
    padding: 0;
}

@media (max-width: 767.98px) {
    .institution-staffs-toolbar {
        width: 100%;
    }

    .institution-staffs-filter-control,
    .institution-staffs-search-wrapper {
        width: 100% !important;
    }
}

/* Re-use institution-wide filter/search styles from InstitutionStaffs.css */

/* Beacon total count labels */
.ins-beacons-total {
    font-size: 16px;
    background-color: #d6d6d6;
    padding: 2px 8px;
    font-weight: 700 !important;
    margin-bottom: 0 !important;
}

@media screen and (min-width: 1000px) {
    .ins-beacons-total {
        font-size: 25px !important;
    }
}

@media screen and (max-width: 1500px) {
    .ins-beacons-total {
        font-size: 15px !important;
    }
}

.ins-institution-beacons-page .label,
.ins-agency-beacons-page .label {
    display: inline;
    padding: .2em .6em .3em;
    font-size: 75%;
    font-weight: bold;
    line-height: 1;
    color: #ffffff;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: .25em;
}

/* success badge/label color */
.ins-institution-beacons-page .badge.badge-success,
.ins-agency-beacons-page .badge.badge-success,
.ins-institution-beacons-page .label.beacon-label-success,
.ins-agency-beacons-page .label.beacon-label-success {
    background: #00acac;
}
.ins-institution-beacons-page .custom-table-responsive,
.ins-agency-beacons-page .custom-table-responsive {
    overflow: visible;
}

.ins-institution-beacons-page .custom-table-responsive .custom-table,
.ins-agency-beacons-page .custom-table-responsive .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

.ins-institution-beacons-page .custom-table-responsive .custom-table > thead.header > tr > th,
.ins-agency-beacons-page .custom-table-responsive .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

/* Summary pills container (no background or border) */
.ins-institution-beacons-page .ins-beacons-summary,
.ins-agency-beacons-page .ins-beacons-summary {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 0;
    background: none;
    border: none;
    flex-wrap: wrap;
}

.ins-institution-beacons-page .total-tempo-serial,
.ins-agency-beacons-page .total-tempo-serial {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px 6px 14px;
    background-color: #fdf2e6;
    border: 1px solid #f6cfa0;
    border-radius: 20px;
    font-size: 14px;
    line-height: 1;
}

.ins-institution-beacons-page .total-tempo-serial-label,
.ins-agency-beacons-page .total-tempo-serial-label {
    color: #8a5a1f;
    font-weight: 600;
    letter-spacing: 0.2px;
}

.ins-institution-beacons-page .total-tempo-serial-count,
.ins-agency-beacons-page .total-tempo-serial-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 24px;
    padding: 0 8px;
    background-color: #f59325;
    color: #ffffff;
    border-radius: 12px;
    font-weight: 700;
}

.ins-company-beacons-panel-body,
.ins-institution-beacons-panel-body {
    padding-right: 0 !important;
    padding-left: 0 !important;
}

/* Room type colour coding — Door Exit and Geo Fence render in danger (red). */
.beacon-room-type-door-exit,
.beacon-room-type-geo-fence {
    color: #dc3545;
    font-weight: 600;
}
#institution-admin {
  min-height: 80vh;
}

#institution-admin .custom-table-responsive {
  overflow: visible;
}

#institution-admin .custom-table-responsive .custom-table {
  border-collapse: separate;
  border-spacing: 0;
}

#institution-admin .custom-table-responsive .custom-table > thead.header > tr > th {
  position: sticky;
  top: 60px;
  z-index: 3;
  background: #e6e6e6 !important;
  box-shadow: 0 1px 0 #e2e7eb;
}

#institution-admin .btn-light {
  background-color: #ffffff;
  border-color: #dee2e6;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

#institution-admin .btn-light:hover:not(:disabled) {
  background-color: #fff5e6;
  border-color: #f59325;
  color: #f59325;
}

#institution-admin .btn-light:focus,
#institution-admin .btn-light:focus-visible {
  box-shadow: none;
  outline: none;
}

#institution-admin .btn-light:active,
#institution-admin .btn-light.show,
#institution-admin .btn-light.active {
  background-color: #e2e6ea !important;
  border-color: #dee2e6 !important;
  color: inherit !important;
  box-shadow: none !important;
  outline: none;
}

#institution-admin .ins-admin-action-btn:hover:not(:disabled) {
  background-color: #f8f9fa;
  border-color: #dee2e6;
  color: inherit;
}

#institution-admin .custom-dropdown-menu {
  position: absolute !important;
  z-index: 9999 !important;
  right: 0 !important;
  left: auto !important;
  margin-top: 4px;
  min-width: 180px;
  border-radius: 8px;
  padding: 4px 0;
}

#institution-admin .custom-dropdown-item {
  font-size: 14px;
  padding: 6px 12px;
  display: flex;
  gap: 8px;
  align-items: center;
  transition: background-color 0.15s ease, color 0.15s ease;
}

#institution-admin .custom-dropdown-item:active,
#institution-admin .custom-dropdown-item:focus,
#institution-admin .custom-dropdown-item.active {
  background-color: #e2e6ea;
  color: inherit;
  outline: none;
}


#institution-admin .custom-dropdown-item i {
  font-size: 14px;
}

.ins-admin-filter-control {
    height: 36px !important;
    width: 200px !important;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 14px;
    flex-shrink: 0;
}

.ins-admin-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    width: 200px;
    flex-shrink: 0;
}

.ins-admin-search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    color: #888;
    font-size: 13px;
    pointer-events: none;
    z-index: 1;
}

.ins-admin-search-input {
    width: 100% !important;
    height: 38px !important;
    padding-left: 12px;
    padding-right: 30px;
}

.ins-admin-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background: none;
    border: none;
    padding: 0;
    color: #888;
    font-size: 13px;
    cursor: pointer;
    display: flex;
    align-items: center;
    line-height: 1;
}

.ins-admin-search-clear:hover {
    color: #333;
}

.ins-admin-row-clickable {
    cursor: pointer;
}

.ins-admin-row-clickable:hover td {
    background-color: #f0efed !important;
}

.ins-admin-initials-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background-color: #D9D9D9;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: bold;
    color: #555;
    text-transform: uppercase;
    flex-shrink: 0;
}
#institution-admin .custom-table-responsive {
    overflow: visible;
}

#institution-admin .custom-table-responsive .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

#institution-admin .custom-table-responsive .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

#institution-admin .view-institution-admin-panel-body {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

#institution-admin .view-institution-admin-table-section {
  width: 100%;
  padding-right: 0;
  padding-left: 0;
}
#profile-container .col-form-label,
#change-password-container .col-form-label {
    font-weight: 600;
    text-align: end;
}

@media (max-width: 768px) {
    #profile-container {
        padding-bottom: 90px;
    }
}
#admin-profile-container .admin-profile-card,
#admin-profile-container .admin-profile-actions {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

#admin-profile-container .admin-profile-fields {
    padding: 8px 5%;
}

#admin-profile-container .admin-profile-field {
    margin-bottom: 14px;
}

#admin-profile-container .col-form-label {
    font-weight: 600;
    text-align: right;
}

#admin-profile-container .form-control:disabled,
#admin-profile-container .form-select:disabled {
    cursor: not-allowed;
}

#admin-profile-container .form-control.is-invalid,
#admin-profile-container .form-select.is-invalid {
    background-image: none;
    padding-right: 0.75rem;
}

#admin-profile-container .admin-profile-image-section {
    align-items: center;
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 12px 4%;
    text-align: center;
}

#admin-profile-container .admin-profile-image,
#admin-profile-container .admin-profile-placeholder {
    border-radius: 50%;
    height: 150px;
    object-fit: cover;
    width: 150px;
}

#admin-profile-container .admin-profile-placeholder {
    color: #000;
    font-size: 150px;
    line-height: 1;
}

#admin-profile-container .admin-profile-image-note {
    margin-top: 18px;
    max-width: 280px;
}

#admin-profile-container .admin-profile-actions {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-top: 18px;
    padding: 16px;
}

#admin-profile-container .admin-profile-actions .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 68px;
}

#admin-profile-container .admin-profile-image-edit {
    min-width: 58px;
}

#admin-profile-container .admin-profile-selected-file {
    max-width: 100%;
    overflow-wrap: anywhere;
}

#admin-profile-container .admin-profile-file-cancel {
    background: none;
    border: 0;
    color: #dc3545;
    cursor: pointer;
    padding: 0;
}

#admin-profile-container .admin-profile-file-cancel:hover {
    text-decoration: underline;
}

@media (max-width: 767px) {
    #admin-profile-container .col-form-label {
        text-align: left;
    }
}

#admin-change-password-container .admin-password-card,
#admin-change-password-container .admin-password-actions {
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

#admin-change-password-container .admin-password-body {
    min-height: 248px;
    padding: 15px 0 28px;
}

#admin-change-password-container .admin-password-field {
    margin-bottom: 15px;
}

#admin-change-password-container .col-form-label {
    font-weight: 600;
    text-align: right;
}

#admin-change-password-container .admin-password-guidance {
    color: #777;
    line-height: 1.35;
    margin: 2px 0 6px;
}

#admin-change-password-container .admin-password-guidance.invalid,
#admin-change-password-container .admin-password-error,
#admin-change-password-container .admin-password-strength.short,
#admin-change-password-container .admin-password-strength.weak {
    color: #dc3545;
}

#admin-change-password-container .form-control.is-invalid {
    background-image: none;
    padding-right: 0.75rem;
}

#admin-change-password-container .admin-password-strength.good {
    color: #d98200;
}

#admin-change-password-container .admin-password-strength.strong {
    color: #198754;
}

#admin-change-password-container .admin-password-error,
#admin-change-password-container .admin-password-strength {
    font-size: 0.875rem;
    margin-top: 3px;
}

#admin-change-password-container .admin-password-actions {
    align-items: center;
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin-top: 18px;
    padding: 15px;
}

@media (max-width: 767px) {
    #admin-change-password-container .col-form-label {
        text-align: left;
    }

    #admin-change-password-container .admin-password-body {
        padding-left: 15px;
        padding-right: 15px;
    }
}

/* SVG container — fills the full map area (supports both fixed-height and auto-height parents).
   The SVG inside uses width:100%;height:auto so it scales via viewBox preserveAspectRatio. */
.floorLocationMap-container {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    padding: 8px;
    box-sizing: border-box;
}

/* Tooltip overlay — fixed-position so page-level pageX/pageY coordinates work correctly */
.floorLocationMap-tooltip {
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    font-size: 12px;
    max-width: 220px;
    min-width: 100px;
    padding: 8px 10px;
    z-index: 9999;
    cursor: default;
}

/* Role-group title inside the tooltip ("Resident", "Staff", "Visitor") */
.floorLocationMap-tooltip-section-title {
    font-weight: bold;
    margin-top: 6px;
    color: #333;
}

/* Numbered name list inside the tooltip */
.floorLocationMap-tooltip ol {
    margin: 4px 0 0 0;
    padding-left: 18px;
}

/* Individual person name — clickable to trigger selectGroupedPerson */
.floorLocationMap-tooltip-name {
    cursor: pointer;
    padding: 2px 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 180px;
}

.floorLocationMap-tooltip-name:hover {
    color: #1a73e8;
    text-decoration: underline;
}

/* Crosshair lines drawn when a person is selected from the ResidentStaffList — mirrors PHP select() */
.dotMap-crossHair {
    stroke: red;
    fill: none;
    pointer-events: none;
}

.floorLocationMap-container .dotMap-marker,
.floorLocationMap-container .dotMap-marker-selected {
    stroke: none;
    fill-opacity: 1;
}

/* Column wrapper — Bootstrap col handles width and gutters */
.floorCard-wrapper {
    margin-bottom: 16px;
}

/* Card shell — overrides legacy .custom-panel margin and ensures it fills its column width */
.floorCard-panel {
    background-color: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    width: 100% !important;
    margin-bottom: 0 !important;
}

/* Map / SVG area — height driven by inline mapAreaStyle; SVG scales via viewBox */
.floorCard-map-area {
    position: relative;
    overflow: hidden;
    width: 100%;
}

/* SVG container injected by D3 */
.floorCard-svg-container {
    width: 100%;
    height: 100%;
}

/* Footer row below the map — sits inside the white card */
.floorCard-footer {
    padding: 8px 10px 6px;
    background-color: #ffffff;
    border-radius: 0 0 8px 8px;
}

/* Floor description paragraph */
.floorCard-floor-desc {
    font-size: 12px;
    font-weight: 600;
    margin: 4px 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Buttons row */
.floorCard-buttons {
    padding: 5px;
}

/* Inner flex row — centres buttons and spaces them evenly */
.floorCard-buttons-inner {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

/* Manage / Beacon Map anchor spacing */
.floorCard-manage-btn,
.floorCard-beacon-btn {
    cursor: pointer;
}

/* Shared button style — both buttons get identical height, padding, and appearance */
.floorCard-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 28px;
    padding: 0 10px;
    font-size: 11px;
    font-weight: 600;
    color: #ffffff;
    background-color: #f59325;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    white-space: nowrap;
    line-height: 1;
    text-decoration: none;
}

.floorCard-action-btn:hover {
    background-color: #f8b28b;
}

/* Wrapper that lets the battery badge be positioned top-right of the beacon button */
.floorCard-beacon-wrapper {
    position: relative;
    display: inline-block;
}

/* Low-battery beacon count badge — red pill overlaid at top-right of the beacon button */
.floorCard-battery-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    background-color: #d9534f;
    color: #ffffff;
    font-size: 10px;
    font-weight: 700;
    line-height: 1;
    min-width: 16px;
    padding: 2px 4px;
    border-radius: 8px;
    text-align: center;
    white-space: nowrap;
    pointer-events: none;
}

/* Tooltip overlay positioned on top of map */
.floorCard-tooltip {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 10;
    display: none;
    pointer-events: none;
}
.floorMapView-container {
    margin-top: -9px;
}
.floorStackedView-container {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 600px;
    background-color: #fff;
    border-radius: 4px;
    perspective: 10000px;
    text-align: center;
    padding-top: 10px;
    box-sizing: border-box;
    cursor: default;
    flex: 1;
}

.floorStackedView-floor {

    background: #ffffff;
    text-align: center;
    border: none;
    border-radius: 8px;
    padding: 0;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transform-style: preserve-3d;
    backface-visibility: visible;
    box-sizing: border-box;
    overflow: hidden;
}

.floorStackedView-floor:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.floorStackedView-floor--selected {
    border-color: #007bff;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
    /* Flat 2D rendering for the expanded floor so the browser rasterizes the map
       at its displayed size instead of scaling a 3D-composited bitmap (blurry text). */
    transform-style: flat;
    will-change: auto;
}

/* Drop the container's 3D perspective while a floor is expanded (restored on reset) */
.floorStackedView-container--has-selected {
    perspective: none;
}

/* Expanded floor rendered at its final size with no transform (see applyCrispSelected).
   Heights are pre-multiplied by the 0.51 selected scale so the on-screen size is unchanged,
   but the browser rasterizes the floor plan at display resolution → sharp text. */
.floorStackedView-floor--crisp .floorStackedView-floor-map {
    /* Larger expanded map so the floor-plan image and its labels are readable */
    height: 400px;
    border-width: 1px;
    box-shadow: 0 5px 5px #989898;
}

.floorStackedView-floor--crisp .floorStackedView-floor-label {
    padding: 8px 12px;
    font-size: 15px;
    border-top-width: 1px;
}

.floorStackedView-floor-map {
    width: 100%;
    height: 340px;
    overflow: hidden;
    pointer-events: all;
    border: 2px solid #989898;
    box-shadow: 0 10px 10px #989898;
    background: #fff;
    box-sizing: border-box;
}

.floorStackedView-floor-map svg {
    display: block;
    width: 100%;
    height: 100%;
}

.floorStackedView-floor-label {
    display: block;
    padding: 10px 16px;
    font-size: 18px;
    font-weight: 700;
    color: #111827;
    /* Distinct background so the label strip is clearly readable in the stack */
    background: #e5e7eb;
    border-top: 2px solid #d1d5db;
    text-align: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    letter-spacing: 0.3px;
    /* Ensure label always renders above the map */
    position: relative;
    z-index: 1;
}

/* Step label — shown in the top strip of each floor tile when stacked */
.floorStackedView-step-label {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    /* height and line-height are set via inline style (dynamic per floor count) */
    padding: 0 16px;
    font-size: 14px;
    font-weight: 700;
    color: #111827;
    background: #e5e7eb;
    border-bottom: 2px solid #d1d5db;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    z-index: 3;
    pointer-events: none;
}

/* Hide step label when the floor is expanded */
.cpLocator-floor-selected .floorStackedView-step-label {
    display: none;
}

.floorStackedView-empty {
    font-size: 24px;
    text-align: center;
    margin-top: 100px;
    color: #555;
}

.viewFacFloorForStaff-list-container {
    min-height: 500px;
}

.rsl-container {
    display: flex;
    flex-direction: column;
    width: 100%;
}

/* ── Tabs  */
.rsl-tabs {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    border-bottom: 2px solid #dee2e6;
    font-size: 12px;
}

.rsl-tab {
    margin-bottom: -2px;
    flex: 1;
}

.rsl-tab-btn {
    background: none;
    border: none;
    border-bottom: 2px solid transparent;
    padding: 8px 12px;
    cursor: pointer;
    font-size: 12px;
    font-weight: 500;
    color: #555;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    white-space: nowrap;
    transition: color 0.15s, border-color 0.15s;
    position: relative;
    width: 100%;
}

.rsl-tab-btn:hover {
    color: #f59325;
}

.rsl-tab--active .rsl-tab-btn {
    color: #f59325;
    border-bottom-color: #f59325;
    font-weight: 600;
}

.rsl-tab-icon {
    font-size: 11px;
}

/* ── Badge  */
.rsl-badge {
    min-width: 9px;
    padding: 3px 5px;
    font-size: 75%;
    font-weight: 600;
    line-height: 1.25;
    background-color: #f59325;
    color: #fff;
    border-radius: 10px;
    text-align: center;
    white-space: nowrap;
    display: inline-block;
}

/* ── Search  */
.rsl-search-wrap {
    padding: 6px 0;
}

.rsl-search-input {
    width: 100%;
    font-size: 13px;
}

/* ── Tab pane / table  */
.rsl-tab-pane {
    display: none;
}

.rsl-tab-pane--active {
    display: block;
}

.rsl-table-scroll {
    max-height: calc(70vh - 230px);
    overflow-y: scroll;
    overflow-x: hidden;
}

.rsl-table-scroll--expanded {
    max-height: calc(100vh - 320px);
    overflow-y: auto;
    overflow-x: hidden;
}

.rsl-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 12px;
    table-layout: fixed;
}

.rsl-table thead th {
    position: sticky;
    top: 0;
    background: #f8f9fa;
    border-bottom: 2px solid #dee2e6;
    padding: 7px 8px;
    font-weight: 600;
    color: #374151;
    white-space: nowrap;
    z-index: 1;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rsl-table tbody td {
    padding: 6px 8px;
    border-bottom: 1px solid #f0f0f0;
    vertical-align: middle;
    color: #444;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* ── Row hover / click  */
.rsl-person-row {
    cursor: pointer;
    transition: background 0.1s;
}

.rsl-person-row:hover {
    background: #fff8f0;
}

/* ── Cell variants  */

.rsl-cell-name {
    font-weight: 500;
    color: #222;
    width: 30%;
}

.rsl-cell-location {
    width: 22%;
}

.rsl-cell-battery {
    white-space: nowrap;
    width: 14%;
}

/* Staff photo column — matches PHP style="width:60px" */
.rsl-th-photo {
    width: 60px;
}

.rsl-cell-photo {
    width: 60px;
}

.rsl-staff-photo {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    object-fit: cover;
    display: block;
}

/* Initials avatar — shown when no profile image is available */
.rsl-staff-initials {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: #e6e6e6;
    color: #333;
    font-weight: 600;
    font-size: 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* ── Alert row (alt_status_1 == 1)  */

/* Highlighted background for active-alert rows — mirrors PHP "alerthight" class */
.rsl-alert-row {
    background-color: #fff3cd;
}

.rsl-alert-row:hover {
    background-color: #ffe8a1 !important;
}

/* Red text on each alert-row cell */
.rsl-alert-highlight {
    color: #c0392b;
    font-weight: 500;
}

/* "Not taken" status text — mirrors PHP "alt_status_3" CSS class (orange) */
.rsl-alt-status-not-taken {
    color: red;
    font-weight: 600;
}

.rsl-blink {
  animation: blink-animation 1s steps(2, start) infinite;
}

@keyframes blink-animation {
  to {
    visibility: hidden;
  }
}

/* ── On-alert indicator (staff / all tabs)  */

.rsl-on-alert-indicator {
    color: #27ae60;
    font-size: 11px;
}

.rsl-on-alert-dot {
    color: #27ae60;
    font-size: 9px;
    margin-right: 2px;
}

/* ── Suite identifier sub-text  */

.rsl-suite-id {
    color: #707478;
    font-size: 11px;
}

/* ── Battery cell  */
.rsl-battery-na {
    color: #aaa;
}

.rsl-battery-value {
    font-weight: 500;
}

.rsl-battery-cell {
    display: flex;
    align-items: center;
    gap: 2px;
    width: 100%;
}

.rsl-on-charger {
    font-size: 10px;
    color: #555;
    white-space: nowrap;
}

/* Tempo watch / delete icon — matches PHP class="width14" */
.rsl-tempo-icon {
    width: 14px;
    height: auto;
    display: block;
}

/* Standard battery level icon — matches PHP class="width14" */
.rsl-battery-icon {
    width: 14px;
    height: auto;
    display: block;
}

/* Low-battery alert icon (0–5%) — matches PHP style="width:10px" */
.rsl-battery-low-alert-icon {
    width: 10px;
    height: auto;
    display: block;
}

/* ── Empty row  */
.rsl-empty-row {
    text-align: center;
    color: #888;
    padding: 20px 0;
    font-style: italic;
}

/* ── Loading row with spinner  */
.rsl-loading-row {
    text-align: center;
    padding: 24px 0;
}

.rsl-spinner {
    display: inline-block;
    width: 28px;
    height: 28px;
    border: 3px solid #f3d9b8;
    border-top-color: #f59325;
    border-radius: 50%;
    animation: rsl-spin 0.75s linear infinite;
}

@keyframes rsl-spin {
    to { transform: rotate(360deg); }
}

/* ── Minify button  */
.rsl-minify-btn-wrap {
    display: block;
    position: absolute;
    top: 4px;
    left: 0;
    transform: translateX(-100%);
    z-index: 10;
}

/* When the panel is expanded it spans full width, so the button sits inside the edge */
.rsl-minify-btn-wrap--expanded {
    transform: none;
}

.rsl-minify-btn {
    background: none;
    border-radius: 3px;
    padding: 4px 8px;
    cursor: pointer;
    color: #ffffff;
    background-color: #f59325;
    border: 1px solid #f59325 !important;
    font-size: 13px;
    transition: background 0.15s;
}

.rsl-minify-btn:hover {
    border: 1px solid #ffffff !important;
    background: #f8b28b;
}

/* ── Tempo note  */
.rsl-tempo-note {
    font-size: 13px;
    color: #707478;
    margin-top: auto;
    margin-bottom: 0;
    padding: 8px 8px 8px;
    line-height: 1.4;
}

/* ── Staff row extras  */

/* Role name displayed under staff member's full name */
.rsl-staff-role {
    font-size: 11px;
    color: #707478;
}

/* Green "Logged in" indicator in the status column */
.rsl-logged-in {
    color: #27ae60;
    font-size: 11px;
}

/* Red label shown instead of battery when alert_type_id == 12 */
.rsl-alert-not-sent {
    color: #c0392b;
    font-size: 11px;
    font-weight: 600;
}

/* Locator battery icon — normal battery level (>10%) */
.rsl-locator-icon {
    height: 12px;
    vertical-align: middle;
}

/* Locator battery icon — low/null battery (<=10%) uses taller icon */
.rsl-locator-icon-low {
    height: 25px;
    vertical-align: middle;
}

/* ── Agency alert row background colours ─────────────── */

.rsl-agency-alert-button {
    background-color: #dae2ee !important;
}

.rsl-agency-alert-fall {
    background-color: #fdf2ce !important;
}

.rsl-agency-alert-noncommunicating {
    background-color: #f3f0e8 !important;
}

.rsl-agency-alert-lowbattery {
    background-color: #ffeaea !important;
}

.rsl-agency-alert-geofence {
    background-color: #e2f0d9 !important;
}

.viewFacFloorForStaff-page {
    display: flex;
    flex-direction: column;
    min-height: 0;
}

.viewFacFloorForStaff-header {
    margin-bottom: 0.25rem;
    flex-shrink: 0;
}

.viewFacFloorForStaff-add-btn {
    white-space: nowrap;
    width: auto;
    min-width: 150px;
}

.viewFacFloorForStaff-toggle-row {
    margin-top: 0.25rem;
    flex-shrink: 0;
}

.viewFacFloorForStaff-floor-row {
    min-height: 900px;
    display: flex;
    align-items: stretch;
}

.viewFacFloorForStaff-floor-col {
    position: relative;
    z-index: 1;
    overflow: visible;
    min-width: 0;
    min-height: 900px;
}

.viewFacFloorForStaff-floor-col .viewFacFloorForStaff-floor-list {
    width: 100%;
    min-height: 900px;
    display: flex;
    flex-direction: column;
    overflow-x: hidden;
}

.viewFacFloorForStaff-loading-spinner {
    color: #f59325;
}

/* Right panel — stacks below floor cards on small screens; sticky only on md+ */
.viewFacFloorForStaff-right-col {
    overflow: visible;
    position: relative;
    z-index: 2;
}

.viewFacFloorForStaff-toggle-row .viewFacFloorForStaff-toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 0;
    font-size: 0.9rem;
    font-weight: 500;
    color: #f59325;
    text-decoration: none !important;
    background: none;
    border: none;
    transition: color 0.2s ease-in-out;
}

.viewFacFloorForStaff-back-btn {
    padding: 0;
    font-size: 0.875rem;
    font-weight: 500;
    color: #337ab7;
    text-decoration: none !important;
    background: none;
    border: none;
    margin-bottom: 6px;
}

.viewFacFloorForStaff-back-btn:hover {
    color: #23527c;
    text-decoration: underline !important;
}

.viewFacFloorForStaff-toggle-row .viewFacFloorForStaff-toggle-btn:hover {
    color: #d97b16;
    background: none;
    text-decoration: underline !important;
}

.viewFacFloorForStaff-users-list {
    margin-top: 0;
}

.viewFacFloorForStaff-locator-filter {
    margin-top: 5px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    flex-wrap: nowrap;
}

.viewFacFloorForStaff-locator-filter .form-group {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 0;
}

.viewFacFloorForStaff-sort-label {
    color: #707478;
    font-weight: 500;
    font-size: 13px;
    margin-bottom: 0;
    white-space: nowrap;
    flex-shrink: 0;
    line-height: 1;
}

.viewFacFloorForStaff-sort-select {
    min-width: 160px;
    font-size: 13px;
    padding-top: 4px;
    padding-bottom: 4px;
    cursor: pointer;
}

.viewFacFloorForStaff-resident-hint {
    display: block;
    color: #707478;
    margin-top: 4px;
    margin-bottom: 6px;
    font-size: 12px;
}

.viewFacFloorForStaff-list-container {
    background: #fff;
    min-height: 500px;
    flex: 1;
    position: relative;
}

.fos-add-floor-container {
    margin-left: -16px
}

.fos-buttons {
    text-decoration: none;
    color: #337ab7;
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    white-space: nowrap;
    font-size: 10px;
}

.fos-buttons:focus {
    outline: none;
    box-shadow: none;
}

.fos-buttons:hover {
    color: #23527c;
    text-decoration: none;
}

.fos-right-panel-content {
    background: white;
    padding: 8px 10px;
    border-radius: 11px;
    border: 1px solid #dee2e6;
    display: flex;
    align-items: center;
    gap: 10px;
}

.fos-right-panel-avatar {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.fos-right-panel-avatar-img {
    width: 48px;
    height: 48px;
    object-fit: cover;
    border-radius: 50%;
}

.fos-right-panel-details {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.fos-res-name {
    font-weight: bold;
    font-size: 13px;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fos-caretype-name {
    margin-bottom: 2px;
    color: #707478;
    font-size: 12px;
}

.fos-last-communicated, .fos-last-known-location {
    color: #707478;
    font-size: 11px;
}

.fos-action-links {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 8px;
    overflow-x: auto;
}

@media (min-width: 768px) {
    .viewFacFloorForStaff-right-col {
        position: sticky;
        top: 0;
        align-self: flex-start;
        max-height: 100vh;
    }
}
.viewRealTimeFloor-header {
    margin-bottom: 12px;
}

.viewRealTimeFloor-content {
    align-items: stretch;
}

.viewRealTimeFloor-floor-col {
    display: flex;
    flex-direction: column;
}

.viewRealTimeFloor-floor-col .floor_list {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.viewRealTimeFloor-floor-col .floorCard-wrapper {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.viewRealTimeFloor-floor-col .floorCard-panel {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.viewRealTimeFloor-floor-col .floorCard-map-area {
    flex: 1;
    min-height: 0;
}

.viewRealTimeFloor-list-wrapper {
    display: flex;
    flex-direction: column;
}

.viewRealTimeFloor-list-col {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid #dee2e6;
    flex: 1;
}

.viewRealTimeFloor-list-wrapper .rsl-container {
    flex: 1;
}

.viewRealTimeFloor-list-col .rsl-table-scroll {
    max-height: calc(100vh - 200px);
}
.add-fac-floor-card {
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.add-fac-floor-card-header {
    border-radius: 6px 6px 0 0;
    padding: 10px 16px;
}

.add-fac-floor-title {
    color: #ffffff;
    font-size: 15px;
    margin: 0;
}

.add-fac-floor-card-body {
    padding: 20px;
}

.add-fac-floor-form-group {
    align-items: center;
}

.add-fac-floor-label {
    text-align: right;
    font-weight: 500;
}

.add-fac-floor-required {
    color: red;
    margin-left: 3px;
}

.add-fac-floor-upload-btn {
    position: relative;
    overflow: hidden;
    cursor: pointer;
}

.add-fac-floor-file-input {
    position: absolute;
    top: 0;
    right: 0;
    opacity: 0;
    width: 100%;
    height: 100%;
    cursor: pointer;
}

.add-fac-floor-file-label {
    font-size: 13px;
    color: #555;
}

.add-fac-floor-spinner,
.add-fac-floor-check {
    margin-top: 6px;
    font-size: 18px;
    color: #28a745;
}

.add-fac-floor-note {
    font-size: 13px;
    color: #333;
}

.add-fac-floor-file-error {
    color: red;
    font-size: 13px;
    margin-top: 4px;
}

.add-fac-floor-input-error {
    border: 1px solid red !important;
}

.add-fac-floor-upload-btn-error {
    outline: 2px solid red;
}

.add-fac-floor-validation-msg {
    color: red;
    font-size: 12px;
    margin-top: 4px;
}

.add-fac-floor-formats-note {
    font-size: 13px;
    color: red;
}

.add-fac-floor-save-btn,
.add-fac-floor-cancel-btn {
    min-width: 80px;
}

.beaconcanvas-wrapper {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 800px;
}

.beaconcanvas-wrapper .canvas-container {
    display: block !important;
    position: relative !important;
    user-select: none;
}

.beaconcanvas-wrapper .upper-canvas {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

.beaconcanvas-tooltip {
    position: fixed;
    background: rgba(0, 0, 0, 0.78);
    color: #fff;
    padding: 8px 10px;
    border-radius: 4px;
    font-size: 0.78rem;
    line-height: 1.5;
    pointer-events: none;
    z-index: 9999;
    display: none;
    white-space: nowrap;
}

.beaconcanvas-tooltip.is-visible {
    display: block;
}

.floorbeaconview-container {
    width: 100%;
}

.floorbeaconview-panel-body {
    background: #fff;
    border-radius: 6px;
    padding: 16px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    margin-top: 16px;
    overflow: visible;
    min-height: 900px;
    margin-bottom: 50px;
}

.floorbeaconview-body-row {
    display: flex;
    align-items: stretch;
    gap: 12px;
    min-height: 800px;
}

.floorbeaconview-legend-col {
    flex: 0 0 16.66%;
    max-width: 16.66%;
    position: sticky;
    bottom: 0;
    align-self: flex-end;
}

.floorbeaconview-legend {
    font-size: 0.78rem;
    color: #545454;
}

.floorbeaconview-legend-table {
    width: 100%;
    border-collapse: collapse;
    border-radius: 6px;
    overflow: hidden;
}

.floorbeaconview-legend-color-box {
    vertical-align: middle;
    padding: 4px 6px 8px 0;
}

.floorbeaconview-legend-color-wrapper {
    padding: 1px;
    display: inline-block;
    border-radius: 4px;
    overflow: hidden;
}

.floorbeaconview-legend-label {
    padding: 4px 0 8px;
    vertical-align: middle;
    line-height: 1.4;
}

.wifi-legend-plot {
    width: 18px;
    height: 18px;
    display: block;
    border-radius: 50%;
}

.wifi-signal-green {
    background-color: #4caf50;
}

.wifi-signal-red {
    background-color: #f44336;
}

.wifi-signal-grey {
    background-color: #9e9e9e;
}

.floorbeaconview-legend-no-data-img {
    width: 18px;
    height: 18px;
    display: block;
    object-fit: contain;
}

.floorbeaconview-canvas-col {
    flex: 1;
    min-height: 800px;
    overflow: hidden;
    position: relative;
}

.floorbeaconview-canvas-state {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 14px;
    background: #fff;
}

.floorbeaconview-reload-btn {
    background: none;
    border: none;
    cursor: pointer;
    font-size: 1.6rem;
    color: #4a90d9;
    padding: 4px;
    line-height: 1;
    transition: color 0.2s, transform 0.2s;
}

.floorbeaconview-reload-btn:hover {
    color: #2b6cb0;
    transform: rotate(20deg);
}

.floorbeaconview-error-label {
    font-size: 0.9rem;
    color: #555;
}

.floorbeaconview-header {
    margin-bottom: 20px;
}

.floorbeaconview-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px;
}

.floorbeaconview-search-group {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-shrink: 0;
}

.floorbeaconview-search-wrapper {
    position: relative;
    width: 220px;
}

.floorbeaconview-search-input {
    width: 100%;
    padding: 5px 28px 5px 10px;
    font-size: 13px;
    border: 1px solid #ccc;
    border-radius: 4px;
    outline: none;
    box-sizing: border-box;
}

.floorbeaconview-search-input:focus {
    border-color: #f59325;
    transition: opacity 0.2s ease-in-out;
}

.floorbeaconview-search-clear {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 0;
    line-height: 1;
    font-size: 16px;
    color: #999;
    cursor: pointer;
}

.floorbeaconview-search-clear:hover {
    color: #333;
}

.floorbeaconview-search-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 4px 4px;
    max-height: 200px;
    overflow-y: auto;
    z-index: 1000;
    list-style: none;
    margin: 0;
    padding: 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.floorbeaconview-search-option {
    padding: 6px 10px;
    font-size: 13px;
    cursor: pointer;
    color: #333;
}

.floorbeaconview-search-option:hover {
    background-color: #f8b28b;
    color: #fff;
}

.floorbeaconview-title {
    font-size: 1.4rem;
    font-weight: 600;
    margin-top: 8px;
    color: #333;
}

.floorbeaconview-content {
    background: #fff;
    border-radius: 6px;
    padding: 24px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.floorbeaconview-floor-id {
    font-size: 0.95rem;
    color: #555;
}

.floorbeaconview-card {
    background: #fff;
    border-radius: 6px;
    padding: 16px 20px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
    margin-bottom: 16px;
}

.floorbeaconview-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
}

.floorbeaconview-zoom-group {
    display: flex;
    align-items: center;
    gap: 4px;
}

.floorbeaconview-action-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-left: 30px;
}

.floorbeaconview-help-link {
    margin-left: auto;
    display: inline-flex;
    align-items: center;
}

.floorbeaconview-help-icon {
    width: 22px;
    height: 22px;
    display: block;
}

.floorbeaconview-loading {
    padding: 40px;
    text-align: center;
    color: #666;
    font-size: 0.95rem;
}

.floorbeaconview-error {
    padding: 40px;
    text-align: center;
    color: #d9534f;
    font-size: 0.95rem;
}

.floorcanvas-wrapper {
    position: relative;
    width: 100%;
    min-height: 800px;
}

.floorcanvas-wrapper .canvas-container {
    display: block !important;
    position: relative !important;
    user-select: none;
}

.floorcanvas-wrapper .upper-canvas {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
}

.floorcanvas-no-image {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 800px;
    color: #888;
    font-size: 1rem;
}

.editbeaconmodal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1055;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 40px 16px 24px;
    overflow-y: auto;
    box-sizing: border-box;
}

.editbeaconmodal-overlay .modal-dialog {
    width: 100%;
    max-width: 720px;
    margin: 0 auto 20px;
}

.editbeaconmodal-overlay .modal-header {
    border-bottom: 1px solid #dee2e6;
    padding: 16px;
}

.editbeaconmodal-overlay .modal-body {
    padding: 16px;
}

.editbeaconmodal-overlay .modal-footer {
    border-top: 1px solid #dee2e6;
    padding: 12px 16px;
    gap: 8px;
}

.editbeaconmodal-overlay .invalid-feedback {
    text-align: left;
}

.editbeaconmodal-input-valid {
    border-color: #198754 !important;
    outline-color: #198754;
}

.editbeaconmodal-input-invalid {
    border-color: #dc3545 !important;
    outline-color: #dc3545;
}

.editbeaconmodal-field-error {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
}

.editbeaconmodal-overlay .form-control,
.editbeaconmodal-overlay .form-select {
    height: 38px;
}

.editbeaconmodal-edit-location-btn {
    background: none;
    border: none;
    padding: 0;
    color: #337ab7;
    font-size: inherit;
    cursor: pointer;
    text-decoration: none;
}

.editbeaconmodal-edit-location-btn:hover {
    text-decoration: underline;
    color: #337ab7;
}

.editbeaconmodal-edit-location-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.editbeaconmodal-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
}

.editbeaconmodal-geofence {
    border-top: 1px solid #e5e5e5;
    padding: 8px 12px;
    margin-top: 4px;
}

.editbeaconmodal-geofence .form-group {
    margin-bottom: 4px !important;
}

.editbeaconmodal-loader .spinner-border {
    color: #f59325;
}

.editbeaconmodal-geofence-title {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
}

.editbeaconmodal-confirm-delete {
    border: 1px solid #f5c6cb;
    background-color: #fff5f5;
    border-radius: 4px;
    padding: 12px;
    margin-top: 12px;
}

.editbeaconmodal-confirm-text {
    margin-bottom: 8px;
    font-weight: 500;
    color: #721c24;
}

.editbeaconmodal-confirm-actions {
    display: flex;
    align-items: center;
}

.editbeaconmodal-serial-wrapper {
    position: relative;
}

.editbeaconmodal-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1060;
    list-style: none;
    margin: 0;
    padding: 0;
    background: #fff;
    border: 1px solid #ced4da;
    border-top: none;
    border-radius: 0 0 4px 4px;
    max-height: 180px;
    overflow-y: auto;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.editbeaconmodal-suggestion-item {
    padding: 7px 12px;
    font-size: 13px;
    cursor: pointer;
}

.editbeaconmodal-suggestion-item:hover {
    background-color: #f8f8f8;
    color: #707478;
}

@media (max-width: 767px) {
    .editbeaconmodal-overlay .control-label {
        text-align: left !important;
        padding-bottom: 4px;
    }

    .editbeaconmodal-overlay .col-md-7,
    .editbeaconmodal-overlay .col-md-6 {
        width: 100%;
    }

    .editbeaconmodal-overlay .col-md-2 {
        width: 100%;
        margin-top: 4px;
    }
}

.relocatebeaconmodal-loader {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 40px 0;
}

.relocatebeaconmodal-coords {
    font-size: 0.85rem;
    color: #6c757d;
    margin-bottom: 12px;
}

.relocatebeaconmodal-geofence {
    border-top: 1px solid #e5e5e5;
    margin-top: 12px;
    padding-top: 12px;
}

.relocateconfirmmodal-dialog {
    margin: 1.75rem auto !important;
    width: 100%;
    max-width: 500px;
    padding: 0 1rem;
    box-sizing: border-box;
}

.relocateconfirmmodal-error {
    font-size: 13px;
    color: #dc3545;
    margin-bottom: 12px;
}

@media (max-width: 576px) {
    .relocateconfirmmodal-dialog {
        width: 100% !important;
        max-width: 100% !important;
        margin: 1rem auto !important;
        padding: 0 1rem;
        box-sizing: border-box;
    }

    .relocateconfirmmodal-dialog .modal-content {
        width: 100% !important;
        box-sizing: border-box;
    }
}

.editexternalmodal-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

.editexternalmodal-loader {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
}

.editexternalmodal-confirm-delete {
    border: 1px solid #f5c2c7;
    background-color: #fff5f5;
    border-radius: 4px;
    padding: 12px;
    margin-top: 10px;
}

.editexternalmodal-confirm-text {
    font-size: 14px;
    color: #842029;
    margin-bottom: 8px;
}

.editexternalmodal-confirm-actions {
    display: flex;
    align-items: center;
}

.editcallbuttonmodal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1055;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 40px 16px 24px;
    overflow-y: auto;
    box-sizing: border-box;
}

.editcallbuttonmodal-overlay .modal-dialog {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 20px;
}

.editcallbuttonmodal-overlay .modal-header {
    border-bottom: 1px solid #dee2e6;
    padding: 16px;
}

.editcallbuttonmodal-overlay .modal-body {
    padding: 16px;
}

.editcallbuttonmodal-overlay .modal-footer {
    border-top: 1px solid #dee2e6;
    padding: 12px 16px;
    gap: 8px;
}

.editcallbuttonmodal-overlay .form-control,
.editcallbuttonmodal-overlay .form-select {
    height: 32px;
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: 13px;
}

.editcallbuttonmodal-overlay .form-control option,
.editcallbuttonmodal-overlay .form-select option {
    font-size: 12px;
}

.editcallbuttonmodal-input-invalid {
    border-color: #dc3545 !important;
    outline-color: #dc3545;
}

.editcallbuttonmodal-input-valid {
    border-color: #198754 !important;
    outline-color: #198754;
}

.editcallbuttonmodal-field-error {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
}

.editcallbuttonmodal-edit-location-btn {
    background: none;
    border: none;
    padding: 0;
    color: #337ab7;
    font-size: inherit;
    cursor: pointer;
    text-decoration: none;
}

.editcallbuttonmodal-edit-location-btn:hover {
    text-decoration: underline;
    color: #337ab7;
}

.editcallbuttonmodal-edit-location-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.editcallbuttonmodal-loader {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
}

.editcallbuttonmodal-confirm-delete {
    border: 1px solid #f5c2c7;
    background-color: #fff5f5;
    border-radius: 4px;
    padding: 12px;
    margin-top: 10px;
}

.editcallbuttonmodal-confirm-text {
    font-size: 14px;
    color: #842029;
    margin-bottom: 8px;
}

.editcallbuttonmodal-confirm-actions {
    display: flex;
    align-items: center;
}

.editcallbuttonmodal-loader .spinner-border {
    color: #f59325;
}

.editotherdevicemodal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1055;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 30px 16px 24px;
    overflow-y: auto;
    box-sizing: border-box;
}

.editotherdevicemodal-overlay .modal-dialog {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 20px;
}

.editotherdevicemodal-overlay .modal-header {
    border-bottom: 1px solid #dee2e6;
    padding: 16px;
}

.editotherdevicemodal-overlay .modal-body {
    padding: 16px;
}

.editotherdevicemodal-overlay .modal-footer {
    border-top: 1px solid #dee2e6;
    padding: 12px 16px;
    gap: 8px;
}

.editotherdevicemodal-overlay .form-control,
.editotherdevicemodal-overlay .form-select {
    height: 32px;
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: 13px;
}

.editotherdevicemodal-overlay .form-control option,
.editotherdevicemodal-overlay .form-select option {
    font-size: 12px;
}

.editotherdevicemodal-input-invalid {
    border-color: #dc3545 !important;
    outline-color: #dc3545;
}

.editotherdevicemodal-input-valid {
    border-color: #198754 !important;
    outline-color: #198754;
}

.editotherdevicemodal-field-error {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
}

.editotherdevicemodal-loader {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
}

.editotherdevicemodal-loader .spinner-border {
    color: #f59325;
}

.editotherdevicemodal-section-title {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 10px;
    margin-top: 8px;
}

.editotherdevicemodal-alert-indent {
    margin-left: 40px;
}

.editotherdevicemodal-alert-note {
    font-size: 12px;
    color: #666;
    margin-left: 40px;
}

.editotherdevicemodal-edit-location-btn {
    background: none;
    border: none;
    padding: 0;
    color: #337ab7;
    font-size: inherit;
    cursor: pointer;
    text-decoration: none;
}

.editotherdevicemodal-edit-location-btn:hover {
    text-decoration: underline;
}

.relocatecallbuttonmodal-dialog {
    margin: 1.75rem auto !important;
    width: 100%;
    max-width: 500px;
    padding: 0 1rem;
    box-sizing: border-box;
}

.relocatecallbuttonmodal-error {
    font-size: 13px;
    color: #dc3545;
    margin-bottom: 12px;
}

@media (max-width: 576px) {
    .relocatecallbuttonmodal-dialog {
        width: 100% !important;
        max-width: 100% !important;
        margin: 1rem auto !important;
        padding: 0 1rem;
        box-sizing: border-box;
    }

    .relocatecallbuttonmodal-dialog .modal-content {
        width: 100% !important;
        box-sizing: border-box;
    }
}

.relocateotherdevicemodal-dialog {
    margin: 1.75rem auto !important;
    width: 100%;
    max-width: 500px;
    padding: 0 1rem;
    box-sizing: border-box;
}

@media (max-width: 576px) {
    .relocateotherdevicemodal-dialog {
        width: 100% !important;
        max-width: 100% !important;
        margin: 1rem auto !important;
        padding: 0 1rem;
        box-sizing: border-box;
    }

    .relocateotherdevicemodal-dialog .modal-content {
        width: 100% !important;
        box-sizing: border-box;
    }
}

.addbeaconmodal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1055;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 40px 16px 24px;
    overflow-y: auto;
    box-sizing: border-box;
}

.addbeaconmodal-overlay .modal-dialog {
    width: 100%;
    max-width: 720px;
    margin: 0 auto 20px;
}

.addbeaconmodal-overlay .modal-body {
    padding: 16px;
}

.addbeaconmodal-overlay .modal-header {
    border-bottom: 1px solid #dee2e6;
    padding: 16px 16px;
}

.addbeaconmodal-overlay .modal-footer {
    border-top: 1px solid #dee2e6;
    padding: 12px 16px;
    gap: 8px;
}

.addbeaconmodal-overlay .invalid-feedback {
    display: block !important;
    text-align: left;
}

.addbeaconmodal-overlay .form-control,
.addbeaconmodal-overlay .form-select {
    height: 32px;
}

.addbeaconmodal-input-valid {
    border-color: #198754 !important;
    outline-color: #198754;
}

.addbeaconmodal-input-invalid {
    border-color: #dc3545 !important;
    outline-color: #dc3545;
}

.addbeaconmodal-field-error {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
    text-align: left;
}

.addbeaconmodal-geofence {
    padding: 8px 12px;
    margin-top: 4px;
}

.addbeaconmodal-geofence .form-group {
    margin-bottom: 4px !important;
}

.addbeaconmodal-geofence-title {
    font-size: 13px;
    font-weight: 600;
    margin-bottom: 6px;
}

.addbeaconmodal-overlay .form-select {
    height: 32px;
    padding-top: 2px;
    padding-bottom: 2px;
    font-size: 13px;
}

.addbeaconmodal-serial-wrapper {
    position: relative;
}

.addbeaconmodal-suggestions {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1060;
    list-style: none;
    margin: 0;
    padding: 0;
    background: #fff;
    border: 1px solid #ced4da;
    border-top: none;
    border-radius: 0 0 4px 4px;
    max-height: 180px;
    overflow-y: auto;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}

.addbeaconmodal-suggestion-item {
    padding: 7px 12px;
    font-size: 13px;
    cursor: pointer;
}

.addbeaconmodal-suggestion-item:hover {
    background-color: #f8f8f8;
    color: #707478;
}

.addbeaconmodal-overlay .form-select option {
    font-size: 12px;
    padding: 2px 4px;
    line-height: 1.2;
}

.addbeaconmodal-geofence {
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 12px;
    margin-top: 8px;
}

.addbeaconmodal-geofence-title {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 10px;
}

@media (max-width: 767px) {
    .addbeaconmodal-overlay .control-label {
        text-align: left !important;
        padding-bottom: 4px;
    }

    .addbeaconmodal-overlay .col-md-7,
    .addbeaconmodal-overlay .col-md-6 {
        width: 100%;
    }

    .addbeaconmodal-overlay .col-md-2 {
        width: 100%;
        margin-top: 4px;
    }
}
.addexternalmodal-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

.addcallbuttonmodal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1055;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 40px 16px 24px;
    overflow-y: auto;
    box-sizing: border-box;
}

.addcallbuttonmodal-overlay .modal-dialog {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 20px;
}

.addcallbuttonmodal-overlay .modal-header {
    border-bottom: 1px solid #dee2e6;
    padding: 16px;
}

.addcallbuttonmodal-overlay .modal-body {
    padding: 16px;
}

.addcallbuttonmodal-overlay .modal-footer {
    border-top: 1px solid #dee2e6;
    padding: 12px 16px;
    gap: 8px;
}

.addcallbuttonmodal-overlay .invalid-feedback {
    display: block !important;
    text-align: left;
}

.addcallbuttonmodal-overlay .form-control,
.addcallbuttonmodal-overlay .form-select {
    height: 32px;
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: 13px;
}

.addcallbuttonmodal-overlay .form-control option,
.addcallbuttonmodal-overlay .form-select option {
    font-size: 12px;
}

.addcallbuttonmodal-input-invalid {
    border-color: #dc3545 !important;
    outline-color: #dc3545;
}

.addcallbuttonmodal-input-valid {
    border-color: #198754 !important;
    outline-color: #198754;
}

.addcallbuttonmodal-field-error {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
}

.addcallbuttonmodal-validating {
    color: #888;
    font-size: 12px;
    margin-top: 4px;
    display: block;
}

.addotherdevicemodal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1055;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 30px 16px 24px;
    overflow-y: auto;
    box-sizing: border-box;
}

.addotherdevicemodal-overlay .modal-dialog {
    width: 100%;
    max-width: 600px;
    margin: 0 auto 20px;
}

.addotherdevicemodal-overlay .modal-header {
    border-bottom: 1px solid #dee2e6;
    padding: 16px;
}

.addotherdevicemodal-overlay .modal-body {
    padding: 16px;
}

.addotherdevicemodal-overlay .modal-footer {
    border-top: 1px solid #dee2e6;
    padding: 12px 16px;
    gap: 8px;
}

.addotherdevicemodal-overlay .form-control,
.addotherdevicemodal-overlay .form-select {
    height: 32px;
    padding-top: 4px;
    padding-bottom: 4px;
    font-size: 13px;
}

.addotherdevicemodal-overlay .form-control option,
.addotherdevicemodal-overlay .form-select option {
    font-size: 12px;
}

.addotherdevicemodal-input-invalid {
    border-color: #dc3545 !important;
    outline-color: #dc3545;
}

.addotherdevicemodal-input-valid {
    border-color: #198754 !important;
    outline-color: #198754;
}

.addotherdevicemodal-field-error {
    display: block;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 0.875em;
    color: #dc3545;
}

.addotherdevicemodal-dooralert {
    margin-top: 8px;
}

.addotherdevicemodal-dooralert-title {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 10px;
    text-align: left;
}

.addotherdevicemodal-alert-indent {
    margin-left: 40px;
}

.addotherdevicemodal-alert-note {
    font-size: 12px;
    color: #666;
    margin-left: 40px;
}

.addotherdevicemodal-geofence-note {
    font-size: 0.8em;
    color: #555;
    margin: 4px 0 6px 0;
}
.floorview-container {
    width: 100%;
}

.floorview-header {
    margin-bottom: 12px;
}

.floorview-topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.floorview-search-wrapper {
    position: relative;
    width: 220px;
}

.floorview-search-input {
    width: 100%;
    padding: 5px 28px 5px 10px;
    font-size: 13px;
    border: 1px solid #ccc;
    border-radius: 4px;
    outline: none;
    box-sizing: border-box;
}

.floorview-search-clear {
    position: absolute;
    top: 50%;
    right: 8px;
    transform: translateY(-50%);
    background: none;
    border: none;
    padding: 0;
    line-height: 1;
    font-size: 16px;
    color: #999;
    cursor: pointer;
}

.floorview-search-clear:hover {
    color: #333;
}

.floorview-search-input:focus {
    border-color: #f59325;
    transition: opacity 0.2s ease-in-out;
}

.floorview-search-dropdown {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #ccc;
    border-top: none;
    border-radius: 0 0 4px 4px;
    max-height: 200px;
    overflow-y: auto;
    z-index: 1000;
    list-style: none;
    margin: 0;
    padding: 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.floorview-search-option {
    padding: 6px 10px;
    font-size: 13px;
    cursor: pointer;
    color: #333;
}

.floorview-search-option:hover {
    background-color: #f8b28b;
    color: #fff;
}

.floorview-card {
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    margin-bottom: 50px;
}

.floorview-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    padding: 8px 12px;
    border-bottom: 1px solid #ddd;
    gap: 12px;
}

.floorview-zoom-group {
    display: flex;
    align-items: center;
    gap: 4px;
}

.floorview-action-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}

.floorview-add-group {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    margin-left: auto;
}

.floorview-btn-active {
    background-color: #f59325 !important;
    color: #fff !important;
    border-color: #d87c1f !important;
}

/* Dimmed state shown while an Add button is active (pointer placement mode).
   Scoped to .custom-button + hover so it beats the global orange .custom-button !important rules. */
.custom-button.floorview-btn-add-active,
.custom-button.floorview-btn-add-active:hover:not(:disabled):not(.disabled) {
    opacity: 0.55 !important;
}

.floorview-content {
    padding: 16px;
    min-height: max(900px, calc(100vh - 60px));
}

.floorview-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
}

.floorview-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 200px;
}
.editfloor-card {
    border-radius: 6px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
}

.editfloor-card-header {
    border-radius: 6px 6px 0 0;
    padding: 10px 16px;
}

.editfloor-title {
    color: #ffffff;
    font-size: 15px;
    margin: 0;
}

.editfloor-card-body {
    padding: 20px;
}

.editfloor-card-body select:disabled,
.editfloor-card-body input:disabled {
    cursor: not-allowed;
    background-color: #e9ecef;
    opacity: 1;
}

.editfloor-form-group {
    align-items: center;
}

.editfloor-label {
    text-align: right;
    font-weight: 500;
}

.editfloor-required {
    color: red;
    margin-left: 3px;
}

.editfloor-input-error {
    border-color: #dc3545;
}

.editfloor-validation-msg {
    color: #dc3545;
    font-size: 12px;
    margin-top: 4px;
}

.editfloor-delete-section {
    border-top: 1px solid #e5e5e5;
    margin-top: 20px;
    padding-top: 16px;
}

.editfloor-delete-label {
    color: #c0392b;
}

.editfloor-delete-note {
    margin-top: 10px;
    padding: 10px 14px;
    background-color: #fff8e1;
    border-left: 3px solid #f0ad4e;
    font-size: 13px;
    color: #555;
}

.editfloor-note-label {
    font-weight: 600;
}

.editfloor-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
}

.editfloor-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 200px;
}


@font-face {
  font-family: 'activity';
  src: url(/7def93cbe669ac616845.woff) format('woff'),
       url(/34a0d809f17c0730889f.ttf) format('truetype');
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'walking';
  src: url(/43b4cc38dd9dbe09a17a.woff) format('woff'),
       url(/f383f38c0f03dc87875c.ttf) format('truetype');
  font-weight: normal; font-style: normal;
}

@font-face {
  font-family: 'moon';
  src: url(/6d19e4c6642687d36017.woff) format('woff'),
       url(/d4e559620b370a222216.ttf) format('truetype');
  font-weight: normal; font-style: normal;
}

@font-face {
  font-family: 'icomoon';
  src: url(/9f4ba79a33b11c0fa1b1.woff) format('woff'),
       url(/da57f21d023ec639f5df.ttf) format('truetype');
  font-weight: normal; font-style: normal;
}

@font-face {
  font-family: 'bloodpressure';
  src: url(/465c5e589ef9998e1cbb.woff) format('woff'),
       url(/cf28479f2b9e4c823cbf.ttf) format('truetype');
  font-weight: normal; font-style: normal;
}

@font-face {
  font-family: 'weight';
  src: url(/f09482dbdfcf7818303f.woff) format('woff'),
       url(/5d7031c3336648fe7adf.ttf) format('truetype');
  font-weight: normal; font-style: normal;
}

@font-face {
  font-family: 'temperature';
  src: url(/d607944f64a2f659999f.woff) format('woff'),
       url(/44397f7e85f3cb9de35f.ttf) format('truetype');
  font-weight: normal; font-style: normal;
}

@font-face {
  font-family: 'bloodglucose';
  src: url(/04b39b9e1afcb393e75d.woff) format('woff'),
       url(/1bb16a0fa02dc5ae927c.ttf) format('truetype');
  font-weight: normal; font-style: normal;
}

@font-face {
  font-family: 'sp02';
  src: url(/f141eba998da88628a90.woff) format('woff'),
       url(/8516b593433464569475.ttf) format('truetype');
  font-weight: normal; font-style: normal;
}

@font-face {
  font-family: 'icon-pulse-oximeter';
  src: url(/4497a48e138de36fc880.woff) format('woff'),
       url(/cc9270df784080785925.ttf) format('truetype');
  font-weight: normal; font-style: normal;
}

@font-face {
  font-family: 'spirometer';
  src: url(/87223fb8d1019c2bd2b0.woff) format('woff'),
       url(/2c6e40b4d1ccdb168050.ttf) format('truetype');
  font-weight: normal; font-style: normal;
}

/* ── Base class for custom IcoMoon icons ─────────────────────────────────────── */

/* Base class for custom IcoMoon icons — completely independent of Font Awesome 6
   FA6 sets font-family on .fa and content on .fa::before, breaking custom fonts.
   Using .rd-icon avoids that entirely.                                          */
.rd-icon {
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Activity Score */
.rd-icon.fa-activity          { font-family: 'activity' !important; font-size: 15px; }
.rd-icon.fa-2x.fa-activity    { font-family: 'activity' !important; font-size: 2em; }
.rd-icon.fa-activity::before  { content: "\e900"; font-family: 'activity' !important; }

/* Walking / Physical Activity */
.rd-icon.fa-walking-custom          { font-family: 'walking' !important; font-size: 15px; }
.rd-icon.fa-2x.fa-walking-custom    { font-family: 'walking' !important; font-size: 2em; }
.rd-icon.fa-walking-custom::before  { content: "\e901"; font-family: 'walking' !important; }

/* Moon / Get Ups (nighttime) */
.rd-icon.fa-moon-custom          { font-family: 'moon' !important; font-size: 15px; }
.rd-icon.fa-2x.fa-moon-custom    { font-family: 'moon' !important; font-size: 2em; }
.rd-icon.fa-moon-custom::before  { content: "\e902"; font-family: 'moon' !important; }

/* Fall Risk (icomoon) */
.rd-icon.fa-fallrisk          { font-family: 'icomoon' !important; font-size: 15px; }
.rd-icon.fa-2x.fa-fallrisk    { font-family: 'icomoon' !important; font-size: 2em; }
.rd-icon.fa-fallrisk::before  { content: "\e900"; font-family: 'icomoon' !important; }

/* Blood Pressure */
.rd-icon.fa-bloodpressure          { font-family: 'bloodpressure' !important; font-size: 15px; }
.rd-icon.fa-2x.fa-bloodpressure    { font-family: 'bloodpressure' !important; font-size: 2em; }
.rd-icon.fa-bloodpressure::before  { content: "\e900"; font-family: 'bloodpressure' !important; }

/* Body Weight */
.rd-icon.fa-weight          { font-family: 'weight' !important; font-size: 15px; }
.rd-icon.fa-2x.fa-weight    { font-family: 'weight' !important; font-size: 2em; }
.rd-icon.fa-weight::before  { content: "\e900"; font-family: 'weight' !important; }

/* Temperature */
.rd-icon.fa-temperature          { font-family: 'temperature' !important; font-size: 15px; }
.rd-icon.fa-2x.fa-temperature    { font-family: 'temperature' !important; font-size: 2em; }
.rd-icon.fa-temperature::before  { content: "\e900"; font-family: 'temperature' !important; }

/* Blood Glucose */
.rd-icon.fa-bloodglucose          { font-family: 'bloodglucose' !important; font-size: 15px; }
.rd-icon.fa-2x.fa-bloodglucose    { font-family: 'bloodglucose' !important; font-size: 2em; }
.rd-icon.fa-bloodglucose::before  { content: "\e900"; font-family: 'bloodglucose' !important; }

/* Pulse Oximeter */
.rd-icon.fa-icon-pulse-oximeter          { font-family: 'icon-pulse-oximeter' !important; font-size: 15px; }
.rd-icon.fa-2x.fa-icon-pulse-oximeter    { font-family: 'icon-pulse-oximeter' !important; font-size: 2em; }
.rd-icon.fa-icon-pulse-oximeter::before  { content: "\e900"; font-family: 'icon-pulse-oximeter' !important; }

/* Spirometer */
.rd-icon.fa-spirometer          { font-family: 'spirometer' !important; font-size: 15px; }
.rd-icon.fa-2x.fa-spirometer    { font-family: 'spirometer' !important; font-size: 2em; }
.rd-icon.fa-spirometer::before  { content: "\e900"; font-family: 'spirometer' !important; }

/* Showering */

/* SpO2 (icomoon glyph e943 from the legacy illustrations sp02 font) */
.rd-icon.fa-sp02          { font-family: 'sp02' !important; font-size: 15px; }
.rd-icon.fa-2x.fa-sp02    { font-family: 'sp02' !important; font-size: 2em; }
.rd-icon.fa-sp02::before  { content: "\e943"; font-family: 'sp02' !important; }

/* BMI */

/* ── Resident Dashboard — Root Layout ── */

.residentDashboard {
  width: 98%;
  margin: 0 auto;
  margin-top: 12px;
  margin-bottom: 24px;
}

/* ── Page wrapper ── */
.rd-page-content {
  font-family: 'Open Sans', sans-serif;
  padding: 0 6px 24px 6px;
  background-color: #f2f3f5;
  min-height: 100vh;
}

/* ── Breadcrumb row ── */
.rd-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #64748b;
  margin-bottom: 4px;
}
.rd-breadcrumb a {
  color: #00adc4;
  text-decoration: none;
  font-weight: 500;
}
.rd-breadcrumb a:hover { text-decoration: underline; }
.rd-breadcrumb-sep {
  color: #94a3b8;
  font-size: 11px;
}
.rd-breadcrumb-current {
  color: #1e293b;
  font-weight: 600;
}


/* ── Action buttons row ── */
#PrintEmailScheduleBtn {
  width: auto;
  margin-right: 0;
  float: none;
  background: transparent;
}

.rd-action-btns {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}

/* ── BulletChart — mirrors bulletChart.less from illustration ── */
.residentDashboard .bulletChart {
  font-size: 12px;
}
.residentDashboard .bulletChart .baselineMark {
  shape-rendering: crispEdges;
  stroke: #26B1C7;
  stroke-width: 3px;
}
.residentDashboard .bulletChart .baselineDescriptor {
  fill: #26B1C7;
}
.residentDashboard .bulletChart .baselineRange {
  shape-rendering: crispEdges;
  stroke: #9aebce;
  stroke-width: 13px;
}
.residentDashboard .bulletChart .allRange {
  stroke: #f0f0f0;
  stroke-width: 13px;
}
.residentDashboard .bulletChart .value {
  stroke: #c726b1;
  stroke-width: 3px;
  shape-rendering: crispEdges;
}
.residentDashboard .bulletChart .value text {
  stroke-width: 1px;
  fill: #c726b1;
  stroke: none;
}
.residentDashboard .bulletChart .domain {
  fill: none;
}
.residentDashboard .bulletChart .tick line {
  stroke: none;
}
.residentDashboard .bulletChart .axis {
  stroke-width: 0px;
}

/* Use #PrintEmailScheduleBtn scope to beat the !important rules in PrintEmailScheduleModal.css */
#PrintEmailScheduleBtn .rrd-action-icon-btn {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  width: 52px !important;
  height: 48px !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 10px !important;
  background: #fff !important;
  cursor: pointer !important;
  transition: background 0.18s, border-color 0.18s, box-shadow 0.18s, transform 0.15s !important;
  padding: 5px 4px 4px !important;
  color: #64748b !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06) !important;
  gap: 3px !important;
}

#PrintEmailScheduleBtn .rrd-action-icon-btn:active { transform: translateY(0) !important; }
#PrintEmailScheduleBtn .rrd-action-icon-btn img {
  opacity: 0.7;
  transition: opacity 0.18s;
}
#PrintEmailScheduleBtn .rrd-action-icon-btn:hover img { opacity: 1; }

/* Legacy .rd-action-btn kept for compatibility */
.rd-action-btn {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 60px;
  height: 52px;
  border: 1.5px solid #e2e8f0;
  border-radius: 10px;
  background: #fff;
  cursor: pointer;
  transition: background 0.18s, border-color 0.18s, box-shadow 0.18s;
  padding: 6px 4px 4px;
  color: #64748b;
}
.rd-action-btn:hover {
  background: #e8f9fc;
  border-color: #00adc4;
  box-shadow: 0 3px 10px rgba(0, 173, 196, 0.18);
  color: #00adc4;
}
.rd-icon { font-size: 18px; margin-bottom: 2px; }
.rd-action-label { font-size: 10px; font-weight: 600; letter-spacing: 0.2px; text-transform: uppercase; }

/* ── Column layout — matches illustration col-sm-6 / col-lg-6 ── */
.resident-dashboard-menu-col {
  padding-right: 6px;
}
.resident-dashboard-details-col { padding-left: 6px; }

.residentDashboard #details .rd-measure-note {
  margin-top: 14px;
  padding: 10px 12px;
  border-radius: 4px;
  color: #333;
  font-size: 12px;
  line-height: 1.5;
}
.residentDashboard #details .rd-measure-note p { margin: 0 0 6px; }
.residentDashboard #details .rd-measure-note p:last-child { margin-bottom: 0; }
.residentDashboard #details .rd-measure-note-title { font-weight: 700; font-size: 13px; }

/* ── Card base ── */
.residentDashboard .custom-panel {
  border: none;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
  margin-bottom: 16px;
  overflow: hidden;
}
.residentDashboard .custom-panel .panel-heading.custom-header {
  background: #f8fafc;
  border-bottom: 1px solid #e8ecef;
  padding: 12px 16px;
  border-radius: 14px 14px 0 0;
  font-weight: 600;
  font-size: 13px;
  color: #1e293b;
}
.residentDashboard .custom-panel .panel-body { padding: 16px; }

/* Left menu card: auto height (no fixed/max height), with bottom space so the
   last item never runs flush to the card edge */
.resident-dashboard-menu-col .panel.panel-default {
  height: auto !important;
  min-height: unset !important;
  /* padding-bottom: 80px !important; */
  overflow: visible !important;
}

/* ── Loading spinner ── */
.resident-dashboard-spinner {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 400px;
}

/* ── Responsive ── */
@media (max-width: 767px) {
  .residentDashboard { width: 100%; }
  .resident-dashboard-menu-col,
  .resident-dashboard-details-col { padding: 0; margin-bottom: 12px; }
  .rd-page-content {
  padding: 0 15px; padding: 10px 10px 20px; }
}

/* ── PrintADLModal (inlined from PrintADLModal.css) ── */
.print-adl-modal-dialog {
  max-width: 560px;
  margin: 80px auto;
}
.print-adl-modal-dialog.slide-down { animation: slideDown 0.3s ease-out; }
.print-adl-modal-dialog.slide-up   { animation: slideUp 0.3s ease-in; }
@keyframes slideDown {
  from { opacity: 0; transform: translateY(-30px); }
  to   { opacity: 1; transform: translateY(0); }
}
@keyframes slideUp {
  from { opacity: 1; transform: translateY(0); }
  to   { opacity: 0; transform: translateY(-30px); }
}
.print-adl-option { margin-bottom: 12px; }
.print-adl-option label { font-weight: normal; font-size: 13px; user-select: none; }

/* ══════════════════════════════════════════════════════════════════════════════
   Merged from DashboardDetails.css
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── Resident Dashboard — Right Details Panel ── */

/* ── Panel shell ── */
.residentDashboard #details {
  /* border-radius: 14px; */
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  border: none;
  background: #fff;
}

/* ── Panel heading — matches illustration panel-heading ── */
.residentDashboard #details .panel-heading {
  background: #fff;
  border-bottom: 1px solid transparent;
  padding: 15px 15px;
  border-radius: 0;
}

.residentDashboard #details .panel-title {
  font-size: 18px;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  flex-wrap: wrap;
  text-transform: uppercase;
}

.residentDashboard #details .panel-title .fa {
  color: #00adc4;
  font-size: 17px;
}

.residentDashboard #details .residentDashboard-resident-menuTitle {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}

.residentDashboard #details .residentDashboard-details-back {
  margin-left: auto;
  color: #00adc4;
  font-size: 13px;
  text-decoration: none;
  padding: 2px 6px;
  border-radius: 4px;
  transition: background 0.15s;
}
.residentDashboard #details .residentDashboard-details-back:hover { background: #e8f9fc; }

/* ── Inline legend — matches illustration legend.pug + colors.less ── */
.residentDashboard #details .cp-legend {
  display: inline;
  font-size: 66.6%;
  color: #333;
}

.residentDashboard #details .cp-legend .fa-circle { font-size: 9px; }
.residentDashboard #details .cp-legend .baselineColor { color: #26B1C7; }
.residentDashboard #details .cp-legend .goodColor     { color: #9aebce; }
.residentDashboard #details .cp-legend .currentValue  { color: #c726b1; }

/* ── Trend segmented control — pill container, orange active segment ── */
.residentDashboard #details .trend-heading {
  padding: 8px 12px 6px;
  background: #fff;
}

.residentDashboard #details .tab-adl {
  display: flex;
  background: #e9e9e9;
  border-radius: 10px;
  padding: 3px;
  gap: 0;
  overflow: visible;
  margin-left: 0;
}

.residentDashboard #details .tab-adl-links {
  flex: 1;
  background: transparent;
  border: none;
  border-radius: 6px 0 0 6px;
  outline: none;
  cursor: pointer;
  padding: 7px 18px;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
  font-size: 12px;
  font-weight: 500;
  color: #555;
  float: none;
  height: auto;
  width: auto;
  text-align: center;
  white-space: nowrap;
}

#four-trend { width: auto !important; }

.residentDashboard #details .tab-adl-links:hover {
  background: rgba(0,0,0,0.06);
  padding: 7px 18px;
}

.residentDashboard #details .tab-adl-links.tab-adl-button-active {
  background-color: #f59325 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 6px 0 0 6px;
  font-weight: 600;
  margin-left: 0;
  box-shadow: 0 2px 8px rgba(245, 147, 37, 0.4) !important;
}

/* ── Panel body — matches illustration panel-body ── */
.residentDashboard #details .panel-body {
  padding: 15px;
  background: #fff;
}

/* ── Data view shared classes ── */
/* ── Data view shared classes — match illustration dataView.less ── */
.residentDashboard .dataView-title {
  font-size: 17px;
}

.residentDashboard .dataView-text {
  opacity: 0.95;
}

.residentDashboard .dataView-trendType {
  font-size: 14px;
  font-weight: 600;
  text-align: center;
  color: #242a30;
}

.residentDashboard .dataView-chartTitle {
  font-size: 12px;
  opacity: 0.8;
  margin-top: 25px;
}

.residentDashboard .dataView-chart {
  /* Trimmed 20px (was 250px) to offset the new chartSubtitleCore subtitle
     (.dataView-chartTitle) sections/index.jsx now renders directly above
     this chart, so the combined subtitle+chart block keeps roughly the
     same total height as before that subtitle existed. */
  height: 230px;
  margin-left: -15px;
  margin-right: -15px;
  border-bottom: 1px solid #dddddd;
}
.residentDashboard .dataView-chart canvas { width: 100% !important; height: 100% !important; }

.residentDashboard .dataView-warningSign { display: none; }
.residentDashboard .dataView-warningSign.dataView-warningSign-on {
  display: initial;
}

/* ── Append view (second chart) ── */
.residentDashboard .dataAppendView-trendType {
  display: none;
}
.residentDashboard .dataAppendView-trendType.dataAppendView-trendType-on {
  display: block;
  font-size: 14px;
  font-weight: 600;
  margin-top: 20px;
  text-align: center;
  color: #242a30;
}

.residentDashboard .dataAppendView-chart { display: none; }
.residentDashboard .dataAppendView-chart.dataAppendView-chart-on {
  display: block;
  /* A definite height, not min-height — Chart.js's responsive:true sizing
     measures this container and writes matching inline width/height (plus a
     devicePixelRatio-scaled drawing buffer) directly onto the canvas. A
     min-height leaves the container's own height circularly dependent on the
     canvas's content, which can make Chart.js's resize observer see its own
     writes as external changes and re-fire — the kind of resize churn that
     leaves a stray ghosted render (most visible on the last, most
     position-sensitive tick) instead of a clean single draw. */
  height: 300px;
  margin-left: -15px;
  margin-right: -15px;
}
/* No canvas width/height override here — let Chart.js own the canvas's size
   entirely. Forcing it via CSS !important fights the inline styles Chart.js
   sets itself and is the actual cause of the sizing/resize-churn bug above,
   not a Chart.js data or tick-generation issue. */

/* details section spacing — matches .familyDashboard #details section { margin-top: 30px } */
.residentDashboard #details section,
.residentDashboard #details .residentDashboard-section {
  margin-top: 30px !important;
}
.residentDashboard #details section:first-child,
.residentDashboard #details .residentDashboard-section:first-child {
  margin-top: -10px !important;
}

/* ── Care guide period selector — matches illustration .tab (Day/Week/Month/6M/Year) ── */
/* CareGuide period selector — same pill style as trend tabs */
.residentDashboard .careguide-period-selector {
  display: flex;
  background: #e9e9e9;
  border-radius: 10px;
  padding: 3px;
  gap: 0;
  overflow: visible;
  margin-left: 0;
  margin-bottom: 0;
}
.residentDashboard .careguide-period-selector .btn {
  flex: 1;
  background: transparent;
  border: none;
  border-radius: 10px;
  outline: none;
  cursor: pointer;
  padding: 7px 18px;
  transition: background 0.2s, color 0.2s, box-shadow 0.2s;
  font-size: 12px;
  font-weight: 500;
  color: #555;
  float: none;
  height: auto;
  width: auto;
  text-align: center;
  white-space: nowrap;
  text-transform: uppercase;
}
.residentDashboard .careguide-period-selector .btn:hover {
  background: rgba(0,0,0,0.06);
}
.residentDashboard .careguide-period-selector .btn.active,
.residentDashboard .careguide-period-selector .btn.tab-button-active {
  background-color: #f59325 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 10px !important;
  font-weight: 600;
  box-shadow: 0 2px 8px rgba(245, 147, 37, 0.4) !important;
}
/* 6 Months & Day — no special sizing needed in flex layout */
.residentDashboard .careguide-period-selector .btn-m6b { width: auto !important; padding: 7px 14px; text-transform: none; }
.residentDashboard .careguide-period-selector .btn-db  { margin-left: 0 !important; }

/* ── Section separator ── */
.residentDashboard .residentDashboard-section + .residentDashboard-section {
  border-top: 1px solid #f1f5f9;
  margin-top: 18px;
  padding-top: 18px;
}

/* ── Vital sub-section card — matches illustration .border-details ── */
.residentDashboard .border-details {
  border: 2px solid #e2e2e2;
  padding: 1px 1px 15px 1px;
}

/* ── menuItem-chart height — matches illustration menuItem.less ── */
.residentDashboard .menuItem-chart {
  width: 100%;
  height: 50px;
}
.residentDashboard .menuItem-chart.eatingCheckChart {
  height: 65px;
}
.residentDashboard [class*="not-enabled"],
.residentDashboard [class*="noTrend"] {
  font-size: 12px;
  color: #94a3b8;
  text-align: center;
  padding: 12px 0 4px;
  font-style: italic;
}

/* ── Value colors — match illustration colors.less @currentColor / @baselineColor ── */
.residentDashboard .currentValue  { color: #c726b1; font-weight: 700; }
.residentDashboard .baselineValue { color: #26B1C7; font-weight: 600; }
.residentDashboard .baselineColor { color: #26B1C7; }
.residentDashboard .goodColor     { color: #9aebce; }

/* ══════════════════════════════════════════════════════════════════════════════
   Merged from DashboardMenu.css
   ══════════════════════════════════════════════════════════════════════════════ */

/* ── Resident Dashboard — Left Menu Panel ── */

/* ── Panel shell ── */
.residentDashboard .panel.custom-panel {
  /* border-radius: 14px; */
  box-shadow: none !important;
  overflow: visible;
  border: none;
  background: #fff !important;
}

/* ── Status header ── */
.residentDashboard .dashboard-status-header {
  padding: 15px 15px 12px;
  background: #fff;
  border-bottom: 1px solid transparent;
}

.residentDashboard .dashboard-status-header:hover .dashboard-status-date,
.residentDashboard .dashboard-status-header:hover .dashboard-status-not-worn,
.residentDashboard .dashboard-status-header:hover .dashboard-status-last-update,
.residentDashboard .dashboard-status-header:hover .dashboard-status-legend {
  text-decoration: underline;
}

.residentDashboard .dashboard-status-top-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0px;
}

.residentDashboard .dashboard-status-date {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.1px;
}


.residentDashboard .dashboard-status-not-worn {
  display: block;
  font-size: 10.8px;
  color: #c726b1;
  font-weight: 300;
}


.residentDashboard .dashboard-status-last-update {
  font-size: 10.8px;
  font-weight: 300;
  color: #7c7f83;
  margin-bottom: 8px;
}

.residentDashboard .dashboard-status-legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 12px;
  font-weight: 300;
  color: #7c7f83;
  margin-bottom: 10px;
}

/* Colors match illustration colors.less: @cp-blue, @goodColor, @purple */
.residentDashboard .dashboard-status-legend .baselineColor { color: #26B1C7; }
.residentDashboard .dashboard-status-legend .goodColor     { color: #9aebce; }
.residentDashboard .dashboard-status-legend .currentValue  { color: #c726b1; }

/* ── Collapse / Expand buttons — matches illustration .expand-all-btn / .collapse-all-btn ── */
.residentDashboard .dashboard-collapse-btns {
  display: flex;
  gap: 8px;
}

/* Collapse All / Expand All use project .custom-button class for color/hover.
   Only size overrides needed here. */
.residentDashboard .rd-collapse-all-btn,
.residentDashboard .rd-expand-all-btn {
  font-size: 11px;
  padding: 4px 12px;
  min-height: unset;
  border-radius: 4px;
}
/* Active state — slightly dimmed to indicate last-clicked */
.residentDashboard .rd-collapse-all-btn.rd-btn-active,
.residentDashboard .rd-expand-all-btn.rd-btn-active {
  opacity: 0.85;
  box-shadow: inset 0 2px 4px rgba(0,0,0,0.15);
}

/* ── Top-level group accordion — matches illustration .collapse-panel ── */
.residentDashboard .rd-collapse-panel {
  margin: 10px;
}

.residentDashboard .rd-collapse-panel-header {
  background-color: #929292;
  padding: 10px;
  cursor: pointer;
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.8px;
  text-transform: uppercase;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
}

.residentDashboard .rd-collapse-panel-chevron {
  font-size: 10px;
  transition: transform 0.3s;
  opacity: 0.8;
}
.residentDashboard .rd-collapse-panel-chevron.open {
  transform: rotate(180deg);
}

.residentDashboard .rd-collapse-panel-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
}
.residentDashboard .rd-collapse-panel-content.collapsed {
  max-height: 1600px;
  padding-bottom: 14px;
}

/* ── Sub-section header — matches illustration .collapse-panel-header within panels ── */
.residentDashboard .rd-menu-section-header {
  background-color: #929292;
  padding: 10px;
  cursor: pointer;
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  user-select: none;
}

.residentDashboard .rd-menu-section-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.5s ease;
  background: #fff;
}
.residentDashboard .rd-menu-section-content.open {
  max-height: 1600px;
}

/* ── Menu item — match illustration menuItem.less + list-group-item layout ──
   Row-level padding is the single source of vertical/horizontal spacing for
   every row (icon column + body no longer carry their own top/bottom padding)
   so all rows share one common structure instead of being adjusted per-row. */
.residentDashboard .rd-menu-item {
  display: flex;
  align-items: center;
  padding: 10px 5px;
  border-bottom: 1px solid #f1f5f9;
  cursor: pointer;
  position: relative;
  transition: background 0.15s;
  background: #fff;
  margin-left: 0;
}

/* Hover/active tint matches CarePointDashboard's tab colors (Filter.css
   .cpd-tab-btn:hover / .cpd-tab-btn--active) instead of the previous plain grey. */
.residentDashboard .rd-menu-item:hover {
  background: #fef3e4;
}

.residentDashboard .rd-menu-item.selected {
  background: #fef3e4;
  pointer-events: none;
}
.residentDashboard .rd-menu-item.selected .menuItem-text {
  color: #111;
}
.residentDashboard .rd-menu-item.selected .rd-menu-item-measurement {
  background-color: #c726b140;
}

/* Active indicator — CarePredict orange (matches CarePointDashboard's active tab
   color, #F59325), not the previous blue that didn't match the brand. */
.residentDashboard .rd-menu-item.active-line {
  border-left: 5px solid #F59325 !important;
}

/* Chevron arrow — matches illustration a.list-group-item:before */
.residentDashboard .rd-menu-item::after {
  font-family: FontAwesome, sans-serif;
  content: '\f054';
  position: absolute;
  right: 15px;
  top: 50%;
  font-size: 14px;
  line-height: 14px;
  margin-top: -7px;
  color: #ccc;
}
.residentDashboard .rd-menu-item:hover::after  { color: #555; }
.residentDashboard .rd-menu-item.selected::after { color: #555; }

/* ── Icon column — matches .menuItem-category ──
   flex: 0 0 68px pins an exact, non-negotiable width: flex-grow:0 and
   flex-shrink:0 stop this column from ever resizing to fit its own content
   (display:inline-table did — a table-display box grows past its declared
   width when a child's unbreakable content needs more room, so rows with a
   longer single-word caption like "SPIROMETER" or "TEMPERATURE" rendered a
   wider icon column than rows like "BODY WEIGHT", pushing their text column
   start position out of alignment with the rest). display:flex + column
   direction keeps the icon and caption stacked and centered without that. */
.residentDashboard .rd-menu-item-icon-col {
  flex: 0 0 68px;
  width: 68px;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

/* menuItem-categoryIcon — matches illustration menuItem.less:
   .menuItem-categoryIcon { color: @gray; opacity: 1.0; margin: 0 auto; } */
.residentDashboard .menuItem-categoryIcon {
  color: #b0b0b0;
  opacity: 1.0;
  margin: 0 auto;
  display: block;
}

.residentDashboard .rd-menu-item-fa-icon {
  font-size: 2em;
  color: #b0b0b0;
  opacity: 1.0;
  margin: 0 auto;
  display: block;
}

.residentDashboard .rd-menu-item-label-small {
  font-size: 10px;
  font-weight: 400;
  text-transform: uppercase;
  color: #333;
  text-align: center;
  display: block;
}

/* ── Item body — matches .menuItem-content ── */
.residentDashboard .rd-menu-item-body {
  flex: 1;
  min-width: 0;
  padding-left: 5px;
  padding-right: 30px;
}

.residentDashboard .rd-menu-item-text {
  font-size: 15px;
  color: #333;
  margin-bottom: 3px;
  line-height: 1.4;
}

.residentDashboard .rd-menu-item-chart-title {
  font-size: 12px;
  color: #555;
}

.residentDashboard .rd-menu-item-measurement {
  font-size: 13px;
  color: #111;
  background-color: #c726b140;
  padding: 5px;
  display: inline-block;
}

/* ── Vitals sub-section separator ── */
.residentDashboard .rd-vital-sub-section {
  margin-top: 5px;
  padding-top: 5px;
  border-top: 1px solid #f1f5f9;
}

/* ── Value colors — match illustration colors.less ── */
.residentDashboard .currentValue  { color: #c726b1; font-weight: 700; }
.residentDashboard .baselineValue { color: #26B1C7; font-weight: 600; }

/* ── Section promotion entrance animation ── */
@keyframes rdSectionPromote {
  0%   { opacity: 0.5; transform: translateY(-8px); }
  100% { opacity: 1;   transform: translateY(0); }
}
.residentDashboard .rd-section-promoted {
  animation: rdSectionPromote 0.4s ease forwards;
}

/* ── Group promotion entrance animation ── */
@keyframes rdGroupPromote {
  0%   { opacity: 0.5; transform: translateY(-10px); }
  100% { opacity: 1;   transform: translateY(0); }
}
.residentDashboard .rd-group-promoted {
  animation: rdGroupPromote 0.4s ease forwards;
}

/* ── Item (leaf row) promotion entrance animation ── */
@keyframes rdItemPromote {
  0%   { opacity: 0.5; transform: translateY(-5px); }
  100% { opacity: 1;   transform: translateY(0); }
}
.residentDashboard .rd-item-promoted {
  animation: rdItemPromote 0.35s ease forwards;
}

/* pes-* classes live in PrintEmailScheduleModal/PrintEmailScheduleModal.css */

/* ── Keep rrd-* action bar styles here ── */

.rrd-pes-wrapper {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.rrd-action-icon-btn {
  background: transparent !important;
  border: none !important;
  padding: 8px 10px !important;
  cursor: pointer !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.2s !important;
}
.rrd-btn-print {
  background: #f97316 !important;
  color: #fff !important;
  padding: 8px 14px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  border: none !important;
}
.rrd-action-icon-btn:hover {
  background: #f5f5f5 !important;
}

.rrd-action-icon-btn:focus-visible {
  outline-offset: 2px;
}

.rrd-action-icon-btn:disabled {
  cursor: not-allowed !important;
  opacity: 0.45 !important;
}

.rrd-print-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  width: 100%;
  cursor: pointer;
  font-size: 13px;
  color: #333;
  background: transparent;
  border: none;
  text-align: left;
}

.rrd-print-menu-item:hover,
.rrd-print-menu-item:focus {
  background: #f5f5f5;
  outline: none;
}

.rd-download-spinner {
  width: 36px;
  height: 36px;
  border: 4px solid #e0e0e0;
  border-top-color: #f59325;
  border-radius: 50%;
  animation: rd-spin 0.7s linear infinite;
}

@keyframes rd-spin {
  to { transform: rotate(360deg); }
}

/* ── ADL / Physio selector ───────────────────────────────────────────────── */
.adlp-block {
  margin-bottom: 16px;
}

.adlp-heading {
  font-size: 12px;
  font-weight: 700;
  color: #555;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin-bottom: 8px;
}

.adlp-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 7px 12px;
  margin-bottom: 4px;
}

.adlp-option {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: #444;
  cursor: pointer;
  user-select: none;
  margin: 0;
}

/* Custom styled checkbox — orange when checked */
.adlp-option input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 15px;
  height: 15px;
  border: 1.5px solid #c0c0c0;
  border-radius: 3px;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  background: #fff;
  transition: background 0.15s, border-color 0.15s;
}
.adlp-option input[type="checkbox"]:checked {
  background: #f59325;
  border-color: #f59325;
}
.adlp-option input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  top: 1px;
  left: 4px;
  width: 5px;
  height: 9px;
  border: 2px solid #fff;
  border-top: none;
  border-left: none;
  transform: rotate(45deg);
}
.adlp-option input[type="checkbox"]:focus-visible {
  outline: 2px solid #f59325;
  outline-offset: 2px;
}

/* EmailModal shared styles */

#emailModal .modal-dialog {
    max-width: 650px;
    width: 90%;
}

.email-modal-header {
    color: #ffffff;
    border-bottom: none;
    padding: 14px 20px;
}

.email-modal-header .modal-title {
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90%;
}

.email-modal-header .btn-close {
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.email-modal-header .btn-close:hover {
    opacity: 1;
}

.email-modal-body {
    padding: 20px 24px;
}

.email-modal-body .email-field-group {
    margin-bottom: 16px;
}

.email-modal-body .email-label {
    font-weight: 600;
    font-size: 14px;
    color: #333333;
    padding-top: 8px;
}

.email-modal-body .email-note {
    font-size: 11px;
    color: #888888;
    margin-top: 4px;
}

.email-modal-body .email-textarea {
    resize: vertical;
    min-height: 90px;
}

.email-modal-footer {
    border-top: 1px solid #e9ecef;
    padding: 12px 20px;
    gap: 10px;
}

/* Multi-email tag input */
.email-tag-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    padding: 6px 10px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    background-color: #ffffff;
    cursor: text;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.email-tag-container:focus-within {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.email-tag-container.is-invalid {
    border-color: #dc3545;
}

.email-tag-container.is-invalid:focus-within {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.email-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    background-color: #f59325;
    color: #ffffff;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 100%;
    word-break: break-all;
    overflow-wrap: anywhere;
}

.email-tag-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #ffffff;
    cursor: pointer;
    padding: 0;
    font-size: 14px;
    line-height: 1;
    opacity: 0.8;
    flex-shrink: 0;
}

.email-tag-remove:hover {
    opacity: 1;
}

.email-tag-input {
    border: none;
    outline: none;
    flex: 1;
    min-width: 160px;
    font-size: 14px;
    padding: 0;
    background: transparent;
}

/* ═══════════════════════════════════════════════════════════════════════════
   PrintEmailScheduleModal.css
   All pes-* (Print / Email / Schedule) modal styles live here.
   ResidentDashboard.css must NOT duplicate these classes.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Overlay ─────────────────────────────────────────────────────────────── */
.pes-modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 1050;
  background: rgba(0, 0, 0, 0.50);
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 0 16px 32px;
  overflow-y: auto;
}

/* ── Dialog — same max-width as EmailScheduler modal (1000 px) ───────────── */
.pes-modal-dialog {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.22);
  width: 100%;
  max-width: 1000px;
  margin: 3rem auto 1.75rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ── Header ──────────────────────────────────────────────────────────────── */
.pes-modal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid #e0e0e0;
  background: #f8f9fa;
  border-radius: 8px 8px 0 0;
  flex-shrink: 0;
}

.pes-active-tab-title {
  display: flex;
  align-items: center;
  gap: 8px;
  font-weight: 600;
  font-size: 14px;
  color: #333;
}

.pes-close-btn {
  background: none;
  border: none;
  font-size: 22px;
  line-height: 1;
  color: #888;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
  transition: color 0.15s, background 0.15s;
}
.pes-close-btn:hover {
  color: #333;
  background: #ececec;
}

/* ── Body ────────────────────────────────────────────────────────────────── */
.pes-modal-body {
  padding: 20px 24px;
  overflow-y: auto;
  flex: 1;
}

/* ── Footer ──────────────────────────────────────────────────────────────── */
.pes-modal-footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  padding-top: 16px;
  margin-top: 16px;
  border-top: 1px solid #e9ecef;
}

/* ── Sub-tabs (Schedule tab inner nav) ───────────────────────────────────── */
.pes-subtabs {
  display: flex;
  gap: 2px;
  margin-bottom: 18px;
  border-bottom: 2px solid #e9ecef;
}

.pes-subtab-btn {
  background: none !important;
  border: none !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -2px;
  padding: 7px 16px !important;
  font-size: 13px;
  font-weight: 500;
  color: #666 !important;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s !important;
  white-space: nowrap;
  border-radius: 0 !important;
}
.pes-subtab-btn:hover {
  color: #f59325 !important;
}
.pes-subtab-btn--active {
  color: #f59325 !important;
  border-bottom-color: #f59325 !important;
  font-weight: 600 !important;
}

/* ── Section divider + label ─────────────────────────────────────────────── */
.pes-section-label {
  font-size: 11px;
  font-weight: 700;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
}

/* ── Frequency row ───────────────────────────────────────────────────────── */
.pes-form-inline {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.pes-inline-label {
  font-size: 12px;
  font-weight: 600;
  color: #555;
  min-width: 110px;
  flex-shrink: 0;
}

/* Radio options */
.pes-radio-group {
  display: flex;
  gap: 16px;
}

.pes-radio-option {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 13px;
  color: #444;
  cursor: pointer;
  margin: 0;
}
.pes-radio-option input[type="radio"] {
  appearance: none;
  -webkit-appearance: none;
  width: 15px;
  height: 15px;
  border: 2px solid #c0c0c0;
  border-radius: 50%;
  cursor: pointer;
  position: relative;
  flex-shrink: 0;
  transition: border-color 0.15s;
}
.pes-radio-option input[type="radio"]:checked {
  border-color: #f59325;
}
.pes-radio-option input[type="radio"]:checked::after {
  content: '';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #f59325;
}
.pes-radio-option input[type="radio"]:focus-visible {
  outline: 2px solid #f59325;
  outline-offset: 2px;
}

/* ── Weekday circle buttons ──────────────────────────────────────────────── */
.pes-weekdays {
  display: flex;
  gap: 6px;
  margin-bottom: 12px;
  flex-wrap: wrap;
}

.pes-day-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: 1.5px solid #ced4da;
  border-radius: 50%;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  color: #555;
  background: #fff;
  user-select: none;
  transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.pes-day-btn input[type="checkbox"] {
  display: none;
}
.pes-day-btn--active {
  background: #f59325;
  border-color: #f59325;
  color: #fff;
}
.pes-day-btn:hover:not(.pes-day-btn--active) {
  border-color: #f59325;
  color: #f59325;
}

/* ── Time input ──────────────────────────────────────────────────────────── */
.pes-time-input {
  width: auto;
  min-width: 130px;
}

/* ── Date row ────────────────────────────────────────────────────────────── */
.pes-date-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}
.pes-half {
  flex: 1;
  min-width: 140px;
}

.adt-delete-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 6vh 16px 16px;
    overflow-y: auto;
}

.adt-delete-modal-dialog {
    background: #fff;
    border-radius: 8px;
    width: 100%;
    max-width: 860px;
    min-height: 480px;
    max-height: 88vh;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

.adt-delete-modal-header {
    padding: 16px 20px;
    border-bottom: 1px solid #dee2e6;
    text-align: center;
    flex-shrink: 0;
}

.adt-delete-modal-title {
    font-size: 15px;
    font-weight: 700;
    margin: 0;
}

.adt-delete-modal-body {
    padding: 20px 24px;
    font-size: 14px;
    line-height: 1.6;
    overflow-y: auto;
}

.adt-delete-main-message {
    margin-bottom: 20px;
}

.adt-delete-close-row {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
}

.adt-delete-italic-section {
    font-style: italic;
    font-size: 13.5px;
}

.adt-delete-steps-list {
    margin-top: 8px;
    padding-left: 0;
    display: grid;
    gap: 12px;
    list-style: none;
}

.adt-delete-steps-list li {
    list-style: disc;
    margin-left: 20px;
    line-height: 1.7;
}

.adt-delete-modal-footer {
    padding: 12px 20px;
    border-top: 1px solid #dee2e6;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-shrink: 0;
}

/* Align panel content with the breadcrumb/search row above */
#community-staff-panel .panel-body {
    padding-left: 0;
    padding-right: 0;
}

/* Allow action dropdowns inside the table to overflow the scroll container */
.custom-table-responsive.cs-table-container {
    overflow: visible;
}

.custom-table-responsive.cs-table-container .custom-table {
    min-width: 800px;
    border-collapse: separate;
    border-spacing: 0;
}

/* Sticky top-level header — matches BeaconStatusList sticky implementation */
.custom-table-responsive.cs-table-container .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

#filter-panel-community {
    .export-button {
        border: none;
        cursor: pointer;
        padding: 6px;
        background-color: #f8f9fa;
        border-radius: 6px;
        transition: background-color 0.2s ease;
        background-color: white;
    }

    .export-button:hover {
        background-color: #e0e0e0;
    }

    .dropdown-item-custom {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 6px 12px;
        cursor: pointer;
        transition: background-color 0.2s;
    }

    .dropdown-item-custom img {
        width: 20px;
        height: 20px;
    }

    .dropdown-item-custom:hover {
        background-color: #f0f0f0;
    }
}

.tempo-serial-circle {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    color: #000;
    border-radius: 50%;
    border: 1px solid #bfbfbf;
    width: 22px;
    height: 22px;
    font-size: 12px;
    font-weight: 600;
    line-height: 1;
    margin-left: 8px;
    box-shadow: 0 0 2px rgba(0, 0, 0, 0.15);
}

.tempo-serial-circle.wide {
    width: auto;
    min-width: 22px;
    padding: 0 6px;
    border-radius: 999px;
}

#community-staff-table {
    .tempostatus_col {
        text-align: center;
    }

    .badge {
        padding: 4px 6px !important;
    }

    .logged-in {
        background: #00acac;
    }

    .logged-out {
        background: #ff5b57;
    }

    .no-tempo {
        background: #b6b2b2
    }

    .shared-tempo {
        background: #f39f09;
    }
}

.cs-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.cs-search-input {
    padding-right: 32px;
    width: 100%;
}

.cs-search-icon {
    position: absolute;
    right: 10px;
    color: #888;
    font-size: 13px;
    pointer-events: none;
}

.cs-search-clear {
    position: absolute;
    right: 6px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    color: #666;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cs-search-clear:hover {
    color: #222;
}

.cs-table-state-cell {
    text-align: center;
    padding: 40px 0;
}

.cs-retry-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    border-radius: 6px;
    padding: 8px 16px;
    cursor: pointer;
    font-size: 13px;
    transition: background 0.15s, color 0.15s;
}

.cs-firstname-cell {
    display: flex;
    align-items: center;
}

.cs-firstname-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.cs-firstname-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #D9D9D9;
    color: #555;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    flex-shrink: 0;
}

.cs-firstname-row {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
    gap: 4px;
}

.cs-ehr-badge {
    background-color: #17a2b8;
    color: #fff;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 4px;
}

.cs-external-staff-wrapper {
    position: relative;
    display: inline-block;
    margin-left: 6px;
    vertical-align: middle;
}

.cs-external-staff-icon {
    width: 16px;
    height: 16px;
    cursor: pointer;
    vertical-align: middle;
}

.cs-external-staff-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 1100;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    padding: 10px 14px;
    min-width: 220px;
    font-size: 13px;
    white-space: nowrap;
}

.cs-ext-close-btn {
    position: absolute;
    top: 6px;
    right: 8px;
    background: none;
    border: none;
    font-size: 16px;
    cursor: pointer;
    line-height: 1;
    color: #666;
    padding: 0;
}

.cs-ext-close-btn:hover {
    color: #000;
}

.cs-ext-source-name {
    font-weight: 700;
    margin-bottom: 4px;
    padding-right: 18px;
}

.cs-ext-divider {
    margin: 4px 0;
    border-top: 1px solid #eee;
}

.cs-ext-field-row {
    margin: 3px 0;
}

.cs-reactivate-btn {
    background-color: transparent;
    border: none;
    padding: 0 4px;
}

.cs-reactivate-btn i {
    color: #198754;
}

/* PDF / Print layout */
.cs-pdf-root {
    width: 100%;
    display: block;
    margin: 0 auto;
}

.cs-pdf-header {
    font-size: 24px;
    text-align: center;
}

.cs-pdf-sub-header {
    font-size: 20px;
    margin-bottom: 15px;
    text-align: center;
}

.cs-pdf-root table {
    margin-left: auto !important;
    margin-right: auto !important;
    width: auto !important;
    max-width: 100%;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.cs-pdf-root th,
.cs-pdf-root td {
    border: 1px solid #dee2e6 !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    vertical-align: middle !important;
    line-height: 1.2 !important;
}

.cs-pdf-root .d-flex {
    gap: 4px !important;
}

.cs-pdf-root tr {
    page-break-inside: avoid;
}

/* Badge colors for the cloned table (scoped ancestor #community-staff-table is preserved, but re-declare for safety in the PDF clone) */
.cs-pdf-root .badge {
    padding: 4px 6px !important;
}

.cs-pdf-root .logged-in {
    background: #00acac !important;
    color: #fff !important;
}

.cs-pdf-root .logged-out {
    background: #ff5b57 !important;
    color: #fff !important;
}

.cs-pdf-root .no-tempo {
    background: #b6b2b2 !important;
    color: #fff !important;
}

.cs-pdf-root .shared-tempo {
    background: #f39f09 !important;
    color: #fff !important;
}

.cs-pdf-root .cs-ehr-badge {
    background-color: #17a2b8 !important;
    color: #fff !important;
}
#changeRoleModal {
    .change-role-modal {
        background-color: rgba(0, 0, 0, 0.5);
    }
    
    .current-role-option.current-role-bold {
        font-weight: bold;
    }

    .col-form-label {
        font-weight: 600;
        text-align: end;
        font-size: 1rem;
    }

    .form-select:disabled {
        pointer-events: auto;
        cursor: not-allowed !important;
    }
}
@keyframes community-staff-email-autofill-start {
    from { opacity: 0.99; }
    to { opacity: 1; }
}

#community-staff-form {
    .col-form-label {
        font-weight: 600;
        text-align: end;
    }

    .form-check-input:disabled {
        pointer-events: auto; /* allows hover effects to still work */
        cursor: not-allowed !important; /* ensures it overrides Bootstrap */
        opacity: 0.7;
    }

    .form-control:disabled {
        pointer-events: auto;
        cursor: not-allowed !important;
    }

    /* Lets React detect WebKit/Chromium autofill that bypasses the usual change event. */
    input[name="email"]:-webkit-autofill {
        animation-name: community-staff-email-autofill-start;
        animation-duration: 0.01s;
    }
    
    .edit-role-link {
        cursor: pointer;
        text-decoration: none;
        color: #337ab7;
        text-align: end;
        align-self: flex-end;
        display: inline-block;

        &:hover {
            color: #0a58ca;
            text-decoration: underline;
        }
    }

    /* Demo users cannot change a staff member's role — render the link inert. */
    .edit-role-link.disabled-link {
        pointer-events: none;
        cursor: default;
        opacity: 0.5;
    }

    .form-check-input.custom-checkbox {
        width: 20px;
        height: 20px;
        border: 1px solid #6c757d;
        accent-color: #0d6efd;
        cursor: pointer;
    }

    .form-check-input.custom-checkbox:checked {
        border-color: #0d6efd;
        background-color: #0d6efd;
    }

    .form-check-input.custom-checkbox:disabled {
        cursor: not-allowed;
        opacity: 0.6;
    }

    .community-staff-picture-btn {
        min-width: 190px;
        text-align: center;
    }

    .community-staff-tempo-select {
        width: 100%;
    }

    .community-staff-tempo-select .rs__control {
        border: 1px solid #ced4da !important;
        box-shadow: none !important;
    }

    .community-staff-tempo-select .rs__control:hover {
        border-color: #ced4da !important;
    }

    .community-staff-tempo-select .rs__control--is-focused,
    .community-staff-tempo-select .rs__control--is-focused:hover {
        border-color: #f59325 !important;
        box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.25) !important;
    }

    .community-staff-tempo-select .rs__control--is-disabled {
        background-color: #e9ecef !important;
    }

    .community-staff-tempo-select .rs__option--is-focused {
        background-color: rgba(245, 147, 37, 0.15) !important;
        color: #212529 !important;
    }

    .community-staff-tempo-select .rs__option--is-selected,
    .community-staff-tempo-select .rs__option--is-selected.rs__option--is-focused {
        background-color: #f59325 !important;
        color: #fff !important;
    }
}

.ehr-name-subtext {
    margin-top: 2px;
    font-size: 12px;
    line-height: 1.3;
    color: #b36b00;
}

.ehr-name-subtext-label {
    color: #888;
}

/* Backdrop — darkens the page behind the slider */
.link-slider-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 10009;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.link-slider-backdrop-visible {
    opacity: 1;
    pointer-events: auto;
}

/* Slider panel — slides in from the right */
.link-slider-panel {
    position: fixed;
    top: 0;
    right: 0;
    width: 85vw;
    height: 100vh;
    background: #fff;
    z-index: 10010;
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.18);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    border-radius: 8px 0 0 8px;
    /* Needed to position the toast relative to the panel */
    isolation: isolate;
}

.link-slider-panel-open {
    transform: translateX(0);
}

/* Body — scrollable wrapper */
.link-slider-body {
    flex: 1;
    overflow: auto;
    padding: 10px;
}

/* Outer orange border frame */
.slider-screen-outer-border {
    position: relative;
    border: 3px solid #f59325;
    border-radius: 40px;
    height: auto;
}

/* Inner orange border frame */
.slider-screen-inner-border {
    position: relative;
    border: 2px solid #f59325;
    border-radius: 20px;
    margin: 30px;
    min-height: 81vh;
}

/* Vertical divider between left refresh column and right content column */
.slider-screen-inner-border .vertical-line {
    border-left: 1px solid #ddd;
    min-height: 80.6vh;
    height: auto;
}

/* Two-column flex row inside inner border */
.link-slider-cols {
    display: flex;
    gap: 16px;
    padding: 20px;
}

/* Left column: refresh button */
.link-slider-left-col {
    flex: 0 0 120px;
    display: flex;
    flex-direction: column;
    padding-top: 55px;
}

/* Refresh button — matches PHP orange style */
.link-slider-refresh-btn {
    width: 100%;
    padding: 8px 12px;
    background: #e69108;
    border: 1px solid #dd8601;
    color: #fff;
    border-radius: 6px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
}

.link-slider-refresh-btn:hover {
    background: #d4760d;
}

/* Right column: content area */
.link-slider-right-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-left: 16px;
}

/* Provider title */
.link-slider-provider-title {
    color: #555;
    font-weight: 600;
    font-size: 18px;
    margin: 10px 0 8px;
}

/* Sub-header row: crumb label + optional response + search */
.link-slider-subheader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}

/* Breadcrumb-style label — "Link Resident > Resident Name" */
.link-slider-crumb {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.link-slider-crumb-label {
    font-size: 16px;
    font-weight: 700;
    color: #ee931a;
    white-space: nowrap;
}

.link-slider-crumb-sep {
    color: #ccc;
    font-size: 16px;
}

.link-slider-crumb-name {
    font-size: 15px;
    font-weight: 800;
    color: #222;
    white-space: nowrap;
}

/* Inline response message (success/error) */
.link-slider-response-msg {
    font-size: 15px;
    font-weight: 600;
    color: #ee931a;
}

/* Search input + icon */
.link-slider-search-wrapper {
    position: relative;
    width: 260px;
}

.link-slider-search-input {
    height: 36px;
    padding: 6px 40px 6px 12px;
    border-radius: 6px;
    border: 1px solid #ddd;
    font-size: 13px;
    width: 100%;
}

.link-slider-search-icon {
    position: absolute;
    right: 0;
    top: 0;
    height: 36px;
    width: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #ee931a, #d4760d);
    border: 1px solid #d4760d;
    border-left: none;
    border-radius: 0 6px 6px 0;
    color: #fff;
    pointer-events: none;
}

/* Table wrapper — height auto-adjusts with content */
.link-slider-table-wrapper {
    overflow-x: auto;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 0 0 1px #e6e6e6 inset;
    padding: 15px;
    margin-bottom: 10px;
}

.link-slider-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.link-slider-th {
    padding: 10px;
    color: #555;
    border-bottom: 1px solid #ddd;
    font-weight: 600;
    background: #fafafa;
    white-space: nowrap;
    text-align: left;
}

.link-slider-th-sortable {
    cursor: pointer;
}

.link-slider-th-sortable:hover {
    background: #f0f0f0;
}

.link-slider-th-radio {
    width: 20px;
}

.link-slider-th-avatar {
    width: 36px;
}

.link-slider-sort-icon {
    font-size: 11px;
    margin-left: 4px;
}

.link-slider-tr {
    cursor: pointer;
    transition: background 0.15s;
}

.link-slider-tr:hover {
    background: #fff8f0;
}

.link-slider-tr-selected {
    background: #fff3e0;
}

.link-slider-td {
    padding: 8px 10px;
    border-bottom: 1px solid #f0f0f0;
    color: #333;
    vertical-align: middle;
}

.link-slider-td-radio {
    text-align: center;
}

.link-slider-td-avatar {
    text-align: center;
}

.link-slider-td-message {
    padding: 24px;
    text-align: center;
    color: #888;
}

.link-slider-td-error {
    color: #c0392b;
}

/* Avatar initials circle */
.link-slider-avatar-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #c4c4c4;
    color: #111;
    font-size: 11px;
    font-weight: 700;
}

/* Avatar profile image */
.link-slider-avatar-img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
}

/* Pagination */
.link-slider-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 4px 2px;
    flex-wrap: wrap;
    gap: 8px;
}

.link-slider-pagination-info {
    font-size: 13px;
    color: #666;
}

.link-slider-pagination-nav {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

.link-slider-page-btn {
    padding: 4px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    font-size: 13px;
    color: #555;
}

.link-slider-page-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.link-slider-page-btn-active {
    background: #ee931a;
    border-color: #ee931a;
    color: #fff;
    font-weight: 600;
}

.link-slider-page-ellipsis {
    padding: 4px 6px;
    color: #888;
    font-size: 13px;
    user-select: none;
}

/* Footer */
.link-slider-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    border-top: 1px solid #e6e6e6;
    background: #fafafa;
    border-radius: 0 0 0 8px;
}

.link-slider-footer .btn_custom_border {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

.link-slider-confirm-btn {
    padding: 7px 22px;
    background: #ee931a;
    border: 1px solid #d4760d;
    color: #fff;
    border-radius: 6px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
}

.link-slider-confirm-btn:hover {
    background: #d4760d;
}

.link-slider-close-btn {
    padding: 7px 22px;
    background: #fff;
    border: 1px solid #bbb;
    color: #555;
    border-radius: 6px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
}

.link-slider-close-btn:hover {
    background: #f5f5f5;
}

/* Toast notification — appears at the top-right of the slider after Refresh */
.link-slider-toast {
    position: fixed;
    bottom: 42px;
    right: 20px;
    padding: 15px;
    border-radius: 5px;
    background-color: #28a745;
    color: #fff;
    font-size: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    z-index: 20013;
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.link-slider-toast-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

/* StaffLinkSlider reuses all link-slider-* styles defined in ResidentLinkSlider.css.
   Import that shared stylesheet so the slider panel renders correctly. */

.create-resident-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 21500;
    padding: 16px;
}

.create-resident-modal {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
    width: 100%;
    max-width: 680px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.create-resident-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px 14px;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.create-resident-title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1a1a2e;
}

.create-resident-close {
    background: none;
    border: none;
    cursor: pointer;
    color: #6b7280;
    font-size: 16px;
    padding: 4px 8px;
    border-radius: 4px;
    line-height: 1;
    transition: color 0.15s, background-color 0.15s;
}

.create-resident-close:hover {
    color: #111827;
    background-color: #f3f4f6;
}

.create-resident-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    color: #6b7280;
    font-size: 14px;
}

.create-resident-form {
    padding: 16px 24px 4px;
    overflow-y: auto;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.create-resident-error {
    background-color: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 6px;
    color: #b91c1c;
    font-size: 13px;
    padding: 10px 14px;
}

/* Three-column grid for First Name, Last Name, Preferred Name */
.create-resident-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

/* Two-column grid for DOB+Language and CareType+Suite rows */
.create-resident-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

/* Single field block: label on top, control below */
.create-resident-field {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.create-resident-label {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
    line-height: 1.3;
}

.create-resident-required {
    color: #ef4444;
}

.create-resident-char-hint {
    font-weight: 400;
    color: #9ca3af;
}

.create-resident-input {
    width: 100%;
    height: 32px;
    padding: 0 8px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: 13px;
    color: #111827;
    background-color: #ffffff;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.create-resident-input:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
}

.create-resident-input:disabled {
    background-color: #f3f4f6;
    color: #9ca3af;
    cursor: not-allowed;
    border-color: #e5e7eb;
}

.create-resident-input-readonly {
    background-color: #f9fafb;
    color: #6b7280;
    cursor: not-allowed;
}

.create-resident-select {
    width: 100%;
    height: 32px;
    padding: 0 8px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: 13px;
    color: #111827;
    background-color: #ffffff;
    outline: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.create-resident-select:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
}

.create-resident-select:disabled {
    background-color: #f3f4f6;
    color: #9ca3af;
    cursor: not-allowed;
    border-color: #e5e7eb;
}

.create-resident-select-invalid {
    border-color: #ef4444;
}

.create-resident-select-invalid:focus {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}

/* Inline field-level error text shown below invalid inputs */
.create-resident-field-error {
    font-size: 11px;
    color: #ef4444;
    line-height: 1.3;
    margin-top: 1px;
}

.create-resident-textarea {
    width: 100%;
    padding: 6px 8px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: 13px;
    color: #111827;
    background-color: #ffffff;
    outline: none;
    resize: vertical;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.create-resident-textarea:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
}

.create-resident-textarea:disabled {
    background-color: #f3f4f6;
    color: #9ca3af;
    cursor: not-allowed;
    border-color: #e5e7eb;
}

/* Radio group rendered inline below the Gender label */
.create-resident-radios {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}

.create-resident-radio-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: normal;
    color: #374151;
    cursor: pointer;
    padding: 0;
    border: none;
    border-radius: 0;
    background: none;
    user-select: none;
}

.create-resident-radio-label:hover {
    border: none;
    background: none;
    color: #111827;
}

/* Hide the native radio input visually but keep it accessible */
.create-resident-radio-label input[type="radio"] {
    position: static;
    opacity: 1;
    width: 14px;
    height: 14px;
    accent-color: #f59325;
    cursor: pointer;
    pointer-events: auto;
    margin: 0;
}

/* Highlight the pill when its radio is checked */
.create-resident-radio-label:has(input[type="radio"]:checked) {
    border: none;
    background: none;
    color: #111827;
    font-weight: 500;
}

/* Internal checkbox separated visually from the gender radios */
.create-resident-internal {
    margin-left: 4px;
    padding-left: 12px;
    border-left: 1px solid #e5e7eb;
}

.create-resident-internal:hover {
    background: none;
    border: none;
    border-left: 1px solid #e5e7eb;
    color: #111827;
}

.create-resident-checkbox {
    width: 14px;
    height: 14px;
    accent-color: #f59325;
    cursor: pointer;
    position: static;
    opacity: 1;
    pointer-events: auto;
}

/* Antd DatePicker sizing to match other form controls */
.create-resident-datepicker.ant-picker {
    height: 32px;
    border-radius: 4px;
    border-color: #d1d5db;
    font-size: 13px;
    padding: 0 8px;
}

.create-resident-datepicker.ant-picker:hover,
.create-resident-datepicker.ant-picker-focused {
    border-color: #f59325;
    box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
}

.create-resident-datepicker-invalid.ant-picker {
    border-color: #ef4444;
}

.create-resident-datepicker-invalid.ant-picker:hover,
.create-resident-datepicker-invalid.ant-picker-focused {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}

.create-resident-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 0 16px;
    border-top: 1px solid #e5e7eb;
    margin-top: 6px;
    flex-shrink: 0;
}

.create-resident-btn {
    padding: 8px 22px;
    font-size: 13px;
    font-weight: 500;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.15s, opacity 0.15s;
}

.create-resident-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.create-resident-btn-submit {
    background-color: #f59325;
    color: #ffffff;
}

.create-resident-btn-submit:hover:not(:disabled) {
    background-color: #e07d10;
}

.create-resident-btn-cancel {
    background-color: #f3f4f6;
    color: #374151;
}

.create-resident-btn-cancel:hover:not(:disabled) {
    background-color: #e5e7eb;
}

/* Import base modal styles shared with CreateResidentModal */

/* Staff-specific additions for the password field eye-toggle */

/* Password field container to position the toggle button absolutely */
.create-staff-password-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

/* Stretch the password input to fill the wrapper */
.create-staff-password-input {
    width: 100%;
    padding-right: 38px;
}

/* Eye-toggle button overlaid on the right side of the password input */
.create-staff-pw-toggle {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    color: #888;
    font-size: 14px;
    line-height: 1;
}

.create-staff-pw-toggle:hover {
    color: #555;
}

/* Invalid state borders for inputs and selects */
.create-resident-input-invalid {
    border-color: #d9534f !important;
}

.create-resident-select-invalid {
    border-color: #d9534f !important;
}


.unmapped-summary-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
    margin-bottom: 16px;
}

.unmapped-summary-box {
    flex: 1 1 130px;
    min-width: 110px;
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 12px 10px;
    text-align: center;
    cursor: pointer;
    transition: box-shadow 0.2s ease, transform 0.1s ease;
    outline: none;
    position: relative;
}

.unmapped-summary-box:hover,
.unmapped-summary-box:focus {
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    transform: translateY(-2px);
}

.unmapped-summary-active,
.unmapped-summary-active:hover,
.unmapped-summary-active:focus {
    background: #f59325;
    border-color: #f59325;
    transform: translateY(-2px);
}

.unmapped-summary-active .unmapped-summary-count,
.unmapped-summary-active .unmapped-summary-label {
    color: #ffffff;
}

.unmapped-summary-count {
    font-size: 1.5rem;
    font-weight: 700;
    color: #333333;
    margin: 0 0 4px 0;
    line-height: 1;
}

.unmapped-summary-label {
    font-size: 0.72rem;
    color: #666666;
    display: block;
    line-height: 1.3;
}

.unmapped-summary-orange {
    background: #f59325;
    border-color: #f59325;
}

.unmapped-summary-orange .unmapped-summary-count {
    color: #ffffff;
}

.unmapped-summary-orange .unmapped-summary-label {
    color: #ffffff;
}

.unmapped-hazard-icon {
    width: 18px;
    height: 18px;
    position: absolute;
    top: 8px;
    right: 8px;
}

/* ── Table container ─────────────────────────────────────── */
.unmapped-table-container {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 16px;
    margin-top: 8px;
    margin-bottom: 50px;
}

/* ── Table ───────────────────────────────────────────────── */
.unmapped-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.unmapped-th {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 2px solid #e0e0e0;
    font-weight: 600;
    color: #444444;
    white-space: nowrap;
}

.unmapped-th-avatar {
    width: 44px;
}

.unmapped-th-sortable {
    cursor: pointer;
    user-select: none;
}

.unmapped-th-sortable:hover {
    background: #f9f9f9;
}

.unmapped-sort-icon {
    font-size: 12.5px !important;
    margin-left: 4px;
    color: #555555;
}

.unmapped-tr:nth-child(even) {
    background: #fafafa;
}

.unmapped-tr:hover {
    background: #fff8f0;
}

.unmapped-td {
    padding: 10px 12px;
    border-bottom: 1px solid #eeeeee;
    color: #333333;
    vertical-align: middle;
}

.unmapped-td-message {
    text-align: center;
    padding: 24px;
    color: #888888;
}

.unmapped-td-error {
    color: #c0392b;
}

.unmapped-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
}

.unmapped-avatar-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #c4c4c4;
    color: #111111;
    font-size: 11px;
    font-weight: 700;
}

/* ── Action buttons ──────────────────────────────────────── */
.unmapped-action-btn {
    padding: 5px 14px;
    border: none;
    border-radius: 14px;
    font-size: 12px;
    cursor: pointer;
    margin-right: 6px;
    transition: 0.2s ease;
}

.unmapped-link-btn {
    background: #fff4e5;
    border: 1px solid #f0b46c;
    color: #333;
    border-radius: 14px;
}

.unmapped-link-btn:hover {
    background: #f9e2c5;
}

.unmapped-ignore-btn {
    background: #9e9e9e;
    color: #ffffff;
    border-radius: 14px;
}

.unmapped-ignore-btn:hover {
    background: #757575;
}

.unmapped-unignore-btn {
    background: #9e9e9e;
    border: none;
    color: #ffffff;
    border-radius: 14px;
}

.unmapped-unignore-btn:hover {
    background: #757575;
}

.unmapped-create-btn {
    background: #fff4e5;
    border: 1px solid #f0b46c;
    color: #333;
    border-radius: 14px;
}

.unmapped-create-btn:hover {
    background: #f9e2c5;
}

.unmapped-create-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.unmapped-create-btn:disabled:hover {
    background: #fff4e5;
}

.unmapped-unlink-btn {
    background: #fff4e5;
    border: 1px solid #f0b46c;
    color: #333;
    border-radius: 14px;
}

.unmapped-unlink-btn:hover {
    background: #f9e2c5;
}

.unmapped-reviewed-btn {
    background: #4caf50;
    color: #ffffff;
    border: none;
    border-radius: 14px;
    min-width: 105px;
    text-align: center;
}

.unmapped-reviewed-btn:hover {
    background: #388e3c;
}

.unmapped-reviewed-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.unmapped-not-reviewed-btn {
    background: #f44336;
    color: #ffffff;
    border: none;
    border-radius: 14px;
    min-width: 105px;
    text-align: center;
}

.unmapped-not-reviewed-btn:hover {
    background: #d32f2f;
}

.unmapped-not-reviewed-btn:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

/* ── Table header row: title label + search ──────────────── */
.unmapped-table-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
    flex-wrap: wrap;
    gap: 8px;
}

.unmapped-table-title {
    font-size: 15px;
    font-weight: 700;
    color: #555;
}

/* ── Pagination ──────────────────────────────────────────── */
.unmapped-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px;
    flex-wrap: wrap;
    gap: 8px;
}

.unmapped-pagination-info {
    font-size: 0.8rem;
    color: #888888;
}

.unmapped-pagination-nav {
    display: flex;
    gap: 4px;
}

.unmapped-page-btn {
    padding: 5px 10px;
    border: 1px solid #dddddd;
    border-radius: 4px;
    background: #ffffff;
    color: #555555;
    font-size: 0.8rem;
    cursor: pointer;
}

.unmapped-page-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.unmapped-page-btn-active {
    background: #fff3e0;
    color: #f59325;
    font-weight: 700;
    border-color: #f59325;
}

.crrp-page {
    padding: 0;
    margin: 0;
    background: #ffffff;
    page: communityResidentLandscape;
}

.crrp-page .pdf-root {
    padding-top: 0;
}

.crrp-preview,
.crrp-report {
    overflow: visible;
    background: #ffffff;
}

@page communityResidentLandscape {
    size: A4 landscape;
    margin: 0;
}

.crrp-pdf-divider {
    border: 0;
    border-top: 1px solid #dee2e6;
    margin: 12px 0;
}

.crrp-total {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 7px;
    margin: 0 0 8px;
    padding-left: 59%;
    color: #565656;
    font-size: 12px;
    font-weight: 600;
}

.crrp-count-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    padding: 0 6px;
    border: 1px solid #bfbfbf;
    border-radius: 999px;
    background: #ffffff;
    color: #000000;
    line-height: 1;
}

.crrp-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
}

.crrp-table thead {
    display: table-header-group;
}

.crrp-table tr {
    break-inside: avoid;
    page-break-inside: avoid;
}

.crrp-row-even {
    background: #ffffff;
}

.crrp-row-odd {
    background: #f7f7f7;
}

.crrp-avatar {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    object-fit: cover;
    object-position: top;
    display: block;
}

.crrp-tempo-status,
.crrp-fall-badge,
.crrp-no-tempo {
    break-inside: avoid;
}

body:has(.crrp-report) .Toastify {
    display: none !important;
}
.custom-font {
    font-size: 12px;
}
.community-resident-panel > .panel-inverse > .panel-body {
    padding-left: 0;
    padding-right: 0;
}

#community-resident-table {
    .residentPendingdropdown {
        position: relative;
        display: inline-block;
        margin-right: 8px;
    }

    .residentPendingdropbtn {
        background-color: #F55252;
        color: white;
        padding: 0;
        font-size: 12px;
        border: none;
        cursor: pointer;
        position: relative;
        width: 5px;
        height: 40px;
        display: inline-block;
        border-radius: 2px;
    }

    .residentPendingdropbtn:after {
        content: "";
        display: none;
    }

    .residentPendingdropdown-content {
        display: none;
        position: absolute;
        background-color: #f1f1f1;
        min-width: 260px;
        box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
        z-index: 1000;
        border-radius: 4px;
        left: 0;
        top: 100%;
        margin-top: 0;
    }

    .residentPendingdropdown-content.show {
        display: block;
    }

    .residentPendingdropdown-content .actionmenu {
        color: black;
        padding: 12px 16px;
        text-decoration: none;
        display: block;
        font-size: 14px;
        border-bottom: 1px solid #ddd;
    }

    .residentPendingdropdown-content .actionmenu:last-child {
        border-bottom: none;
    }

    .residentPendingdropdown-content .actionmenu:hover {
        background-color: #ddd;
    }

    .residentPendingdropdown:before {
        content: "";
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: -2px;
        z-index: 999;
        pointer-events: none;
    }

    .residentPendingdropdown:hover .residentPendingdropdown-content {
        display: block;
    }

    .residentPendingdropdown-content:hover {
        display: block;
    }

    .residentPendingdropdown:hover .residentPendingdropbtn {
        background-color: #ff9800;
    }

    .residentPendingdropdown-content span {
        color: #565656 !important;
        font-size: 14px !important;
        font-weight: 400 !important;
        word-wrap: break-word !important;
        padding: 12px 16px;
        text-decoration: none;
        display: block;
        background: white;
        cursor: pointer;
    }

    .tempostatus_col {
        text-align: center;
    }

    .badge {
        padding: 4px 6px !important;
    }

    .no-tempo {
        background-color: #b6b2b2;
        color: #fff;
    }

    .medium-risk,
    .high-risk {
        background-color: #f59c1a;
        color: #fff;
    }

    .very-high-risk {
        background-color: #FF7D7C;
        color: #fff;
    }

    .low-risk {
        background-color: #b6b2b2;
        color: #fff;
    }

    /* Action Dropdown Styles */
    .actiondropdownmenu {
        position: relative;
        display: inline-block;
    }

    .dropbtns {
        background: none;
        border: none;
        cursor: pointer;
        padding: 5px;
        list-style: none;
        margin: 0;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: 24px;
        height: 24px;
    }

    .dropbtns li {
        width: 4px;
        height: 4px;
        background-color: #333;
        border-radius: 50%;
        margin: 1px 0;
        list-style: none;
    }

    .dropbtns:hover li {
        background-color: #007bff;
    }

    .actionmenudropdown-content {
        position: absolute;
        right: 0;
        top: 100%;
        background-color: #fff;
        min-width: 200px;
        box-shadow: 0px 8px 16px 0px rgba(0, 0, 0, 0.2);
        z-index: 1000;
        border: 1px solid #ddd;
        border-radius: 4px;
        padding: 5px 0;
        margin-top: 2px;
    }

    .actionmenu {
        display: block;
        padding: 8px 16px;
        color: #333;
        text-decoration: none;
        cursor: pointer;
        border-bottom: 1px solid #f1f1f1;
        font-size: 14px;
        transition: background-color 0.2s;
    }

    .actionmenu:last-child {
        border-bottom: none;
    }

    .actionmenu:hover {
        background-color: #f5f5f5;
        color: #333;
    }

    .actionmenu img {
        width: 16px;
        height: 16px;
        margin-right: 8px;
        vertical-align: middle;
    }

    .actionmenu.acti_disabled {
        color: #ccc;
        cursor: not-allowed;
    }

    .actionmenu.acti_disabled:hover {
        background-color: transparent;
        color: #ccc;
    }

    .preview-row {
        display: flex !important;
        align-items: center !important;
        gap: 8px !important;
    }

    .preview-row .preview-text {
        display: inline-block;
        padding: 3px 5px;
        border-radius: 12px;
        font-size: 10px;
        white-space: nowrap;
        background-color: #EE931A !important;
        color: #fff;
        margin-left: 5px;
    }

    /* Care plan actions wrapper */
    .careplan-actions-wrapper {
        display: flex;
        align-items: center;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 1px;
        row-gap: 6px;
    }

    .care_plan_actions {
        max-width: 100%;
        overflow: visible;
    }

    .pipe {
        color: #ccc;
        font-size: 12px;
    }

    .pipe::before {
        content: "|";
    }

    .battery-indicator {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 4px;
    }

    .battery-indicator img {
        display: block;
    }

    .battery-indicator .role4-battery-icon {
        width: 28px;
        height: 14px;
        object-fit: cover;
        object-position: center;
    }

    .battery-indicator .fa-bolt {
        color: #ffc107;
        font-size: 12px;
    }

    .tempo_status_col {
        font-size: 11px;
    }

    .resident-care-plan {
        border: 1px solid #ee6a09 !important;
        background: #ffffff !important;
        color: #f59325 !important;
        width: max-content;
        white-space: nowrap;
        display: inline-flex;
        align-items: center;
    }
}

#community-resident {
    .custom-table {
        width: 100%;
        table-layout: fixed;
    }

    .custom-table th,
    .custom-table td {
        white-space: normal;
        word-break: break-word;
        overflow: visible;
        text-overflow: unset;
    }

    .table-responsive.custom-table-responsive {
        width: 100%;
        overflow-x: auto;
    }
}

.cr-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

#community-resident .cr-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

/* Give the First Name column more breathing room for avatar + name + badges + icons.
   The table uses table-layout: fixed, so the column width is driven by the header cell's
   width — override it here (min-width alone is ignored under fixed layout). */
#community-resident .custom-table > thead.header > tr > th.table_header:first-child {
    width: 230px !important;
    min-width: 230px !important;
}

#community-resident .custom-table .resident_f_name {
    min-width: 230px;
}

.cr-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.cr-search-input {
    padding-right: 32px;
    width: 100%;
}

.cr-search-icon {
    position: absolute;
    right: 10px;
    color: #888;
    font-size: 16px;
    pointer-events: none;
}

.cr-search-clear {
    position: absolute;
    right: 6px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 20px;
    line-height: 1;
    color: #666;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.cr-search-clear:hover {
    color: #222;
}

.cr-table-state-cell {
    text-align: center;
    padding: 40px 0;
}

.cr-retry-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    border-radius: 6px;
    padding: 8px 16px;
    cursor: pointer;
    font-size: 13px;
    transition: background 0.15s, color 0.15s;
}

.cr-label-info-alis {
    display: inline-flex;
    align-items: center;
    background: #49b6d6;
    color: #fff !important;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    white-space: nowrap;
    margin: 0;
}

.cr-label-internal {
    display: inline-flex;
    align-items: center;
    background: #49b6d6;
    color: #fff !important;
    padding: 1px 8px;
    border-radius: 10px;
    font-size: 10px;
    font-weight: 600;
    line-height: 1.6;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    white-space: nowrap;
}

.cr-label-info-notinfacility {
    background-color: #d9534f;
    color: #fff !important;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 9px;
}

.cr-avatar {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #D9D9D9;
    color: #555;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    flex-shrink: 0;
}

.cr-ext-resident-wrapper {
    display: inline-flex;
    align-items: center;
    margin-left: 6px;
    position: relative;
}

.cr-ext-resident-icon {
    width: 16px;
    height: 16px;
    cursor: pointer;
    vertical-align: middle;
}

.cr-ext-resident-dropdown {
    position: absolute;
    top: 24px;
    left: 0;
    z-index: 999;
    background: #fff;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    min-width: 200px;
    padding: 10px 12px;
    font-size: 12px;
    line-height: 1.8;
    white-space: nowrap;
}

.cr-ext-resident-close {
    position: absolute;
    top: 4px;
    right: 6px;
    background: none;
    border: none;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    color: #888;
    padding: 0;
}

.cr-ext-resident-close:hover {
    color: #333;
}

.cr-ext-resident-source {
    font-weight: 700;
    margin-bottom: 2px;
}

.cr-ext-resident-divider {
    margin: 4px 0;
    border: none;
    border-top: 1px solid #eee;
}

#cr-add-resident-alis {
    position: fixed;
    inset: 0;
    z-index: 1055;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
}

#cr-add-resident-alis .modal-dialog {
    transform: translateY(-40px);
}

#cr-add-resident-alis .modal-content {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.25) !important;
    padding: 8px;
}

/* PDF / Print layout */
.cr-pdf-root {
    width: 100%;
    display: block;
    margin: 0;
}

.cr-pdf-header {
    font-size: 24px;
    text-align: center;
}

.cr-pdf-sub-header {
    font-size: 20px;
    margin-bottom: 15px;
    text-align: center;
}

.cr-pdf-root table {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100%;
    table-layout: auto !important;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.cr-pdf-root th,
.cr-pdf-root td {
    border: 1px solid #dee2e6 !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    vertical-align: middle !important;
    line-height: 1.2 !important;
}

/* Compact sizing so every column fits within the PDF page width */
.cr-pdf-compact table {
    font-size: 8px !important;
    /* Auto layout sizes columns to their content and stretches to fill the page,
       so short columns (names) stay narrow and no space is wasted on the right */
    table-layout: auto !important;
}

.cr-pdf-compact th,
.cr-pdf-compact td {
    padding: 3px 4px !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    white-space: normal !important;
}

/* Keep the name columns (First / Last / Preferred) tight so they don't dominate the layout */
.cr-pdf-compact td:nth-child(1),
.cr-pdf-compact td:nth-child(2),
.cr-pdf-compact td:nth-child(3),
.cr-pdf-compact th:nth-child(1),
.cr-pdf-compact th:nth-child(2),
.cr-pdf-compact th:nth-child(3) {
    width: 1% !important;
    white-space: nowrap !important;
}

.cr-pdf-compact .custom-font {
    font-size: 8px !important;
}

.cr-pdf-compact .badge {
    font-size: 7px !important;
    padding: 2px 4px !important;
    white-space: normal !important;
}

.cr-pdf-root .d-flex {
    gap: 4px !important;
}

.cr-pdf-root tr {
    page-break-inside: avoid;
}

/* Badge colors for the cloned table (re-declared so they apply reliably in the PDF clone) */
.cr-pdf-root .badge {
    padding: 4px 6px !important;
}

.cr-pdf-root .no-tempo {
    background-color: #b6b2b2 !important;
    color: #fff !important;
}

.cr-pdf-root .medium-risk,
.cr-pdf-root .high-risk {
    background-color: #f59c1a !important;
    color: #fff !important;
}

.cr-pdf-root .very-high-risk {
    background-color: #FF7D7C !important;
    color: #fff !important;
}

.cr-pdf-root .low-risk {
    background-color: #b6b2b2 !important;
    color: #fff !important;
}

#community-resident-table .resident_f_name .pull-left {
    flex: 0 0 13px;
    width: 13px;
}

/* Keep the first-name cell content (avatar + name + badges) vertically centred and aligned */
.resident_f_name {
    vertical-align: middle !important;
}

.resident_f_name .cr-avatar,
.resident_f_name > .d-flex > img {
    flex: 0 0 auto;
}

.resident_f_name .first_name {
    font-weight: 600;
    line-height: 1.2;
    word-break: break-word;
}

.community-resident-notes-tooltip {
    width: max-content !important;
    max-width: min(360px, calc(100vw - 32px)) !important;
    white-space: normal !important;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.community-resident-notes-tooltip-line {
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
}

#filter-panel-community {
    .btn-light,
    .stacked-button,
    .export-button {
        background-color: #f8f9fa;
        border: 1px solid #dee2e6;
        color: #212529;
        cursor: pointer;
        transition: background-color 0.2s ease, border-color 0.2s ease;
    }

    .btn-light:hover,
    .btn-light:focus,
    .stacked-button:hover,
    .stacked-button:focus,
    .export-button:hover,
    .export-button:focus {
        background-color: #e2e6ea;
        border-color: #dae0e5;
        color: #212529;
    }

    .custom-dropdown-menu {
        min-width: 210px;
    }

    .dropdown-item-custom {
        display: flex;
        align-items: center;
        gap: 8px;
        padding: 6px 12px;
        cursor: pointer;
        white-space: nowrap;
        transition: background-color 0.2s;
    }

    .dropdown-item-custom img {
        width: 20px;
        height: 20px;
        flex-shrink: 0;
    }

    .dropdown-item-custom span {
        white-space: nowrap;
    }

    .dropdown-item-custom:hover {
        background-color: #f0f0f0;
    }
}

#community-resident-form {
    .expand-button {
        font-size: 30px;
        text-decoration: none;
        color: white;
        line-height: 1;
        height: 24px;
        width: 24px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 0;
    }

    .card-header {
        min-height: 40px;
        max-height: 40px;
    }

    .community-resident-form-event-label {
        font-size: 12px;
    }

    .community-resident-form-event-select {
        height: 38px;
        padding: 0 8px;
        font-size: 14px;
    }

    .community-resident-form-event-date {
        height: 38px;
    }

    .community-resident-form-event-date .ant-picker {
        height: 38px;
        width: 100%;
        font-size: 14px;
    }

    .community-resident-form-age-input:disabled {
        cursor: not-allowed;
    }
}

#add_new_event_column {
    .add-border {
        border: 1px solid #f59325;
    }
}

#add_new_Subscriber_column {
    .add-border {
        border: 1px solid #f59325;
    }
}

.group-permissions {
    padding: 12px 14px;
    background-color: #ffffff;
    border-radius: 6px;
}

.group-permission-header {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 16px;
    padding-bottom: 10px;
    margin-bottom: 8px;
    border-bottom: 2px solid #ED820A;
}

.group-permission-title {
    font-size: 13px;
    font-weight: 700;
    color: #333;
    letter-spacing: 0.02em;
}

.group-permission-select-all {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    font-weight: 600;
    color: #555;
    cursor: pointer;
    padding: 3px 10px;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    background-color: #fff;
    transition: background-color 0.15s ease;
    margin: 0;
}

.group-permission-select-all:hover {
    background-color: #f0f0f0;
}

.group-permission-notes {
    font-size: 12px;
    font-weight: 600;
    color: #666;
    text-decoration: underline;
    text-align: center;
    margin-bottom: 14px;
}

.group-permission-body {
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-start;
    gap: 0;
}

.group-permission-category {
    flex: 0 0 auto;
    min-width: fit-content;
    margin-right: 12px;
    border-right: 1px solid #e0c08a;
}

.group-permission-category:last-child {
    border-right: none;
    padding-right: 0;
    margin-right: 0;
}

.group-permission-category-title {
    font-size: 11px;
    font-weight: 700;
    color: #ED820A;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    margin-bottom: 8px;
    padding-bottom: 4px;
    border-bottom: 1px dashed #e0c08a;
}

.group-permission-columns {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 0;
}

.group-permission-column {
    flex: 0 0 auto;
    min-width: 90px;
    max-width: 90px;
    box-sizing: border-box;
}

.permission-list {
    list-style: none;
    padding: 0;
    margin: 0 0 8px 0;
}

.permission-item {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin-bottom: 5px;
}

.permission-label {
    font-size: 11px;
    display: flex;
    align-items: flex-start;
    cursor: pointer;
    line-height: 1.4;
}

.permission-label .form-check-input {
    width: 13px;
    height: 13px;
    margin-top: 2px;
    flex-shrink: 0;
}

.permission-label span {
    flex: 1;
    word-wrap: break-word;
    word-break: break-word;
    white-space: normal;
    hyphens: auto;
    overflow-wrap: break-word;
    max-width: 100%;
    width: 100%;
    color: #333;
    font-weight: 400;
}

.permission-label:hover span {
    color: #ED820A;
}

.noPermission {
    text-align: center;
    font-size: 13px;
    color: #888;
    padding: 20px 0;
}

.data-category-panel.group-permissions-fieldset {
    box-sizing: border-box;
    width: 100%;
    min-height: 215px;
    padding: 5px 8px 8px;
    overflow: visible;
    border: 1px solid #e5e5e5;
    border-radius: 8px;
    background: #fff;
    box-shadow: 0 3px 8px rgba(0, 0, 0, 0.12);
    color: #222;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 11px;
}

.data-category-panel .category-header {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 21px;
    gap: 0;
    margin: 0;
    padding: 0;
    border: 1px solid #e6c79e;
}

.data-category-panel .group-permission-title {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    color: #222;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
}

.data-category-panel .select-all {
    display: flex;
    align-items: center;
    gap: 3px;
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    color: #222;
    font-size: 11px;
    font-weight: 400;
}

.data-category-panel .select-all .form-check-input {
    width: 11px;
    height: 11px;
    margin: 0;
}

.data-category-panel .category-title {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 35px;
    margin: 0;
    color: #222;
    font-size: 11px;
    font-weight: 600;
}

.data-category-panel .category-columns {
    display: grid;
    grid-template-columns: 14% 27% 17% 31% 11%;
    min-width: 960px;
    min-height: 145px;
    align-items: start;
}

.data-category-panel .category-column {
    box-sizing: border-box;
    min-width: 0;
    margin: 0;
    padding: 0 10px;
    border-right: 1px solid #d7d7d7;
}

.data-category-panel .category-column:last-child {
    padding-right: 5px;
    border-right: 0;
}

.data-category-panel .column-title {
    margin: 0 0 7px;
    padding: 0;
    border: 0;
    color: #222;
    font-size: 11px;
    font-weight: 600;
    letter-spacing: 0;
    text-transform: none;
}

.data-category-panel .group-permission-columns {
    display: flex;
    gap: 0;
}

.data-category-panel [data-category="Activity"] .group-permission-columns,
.data-category-panel [data-category="Trends"] .group-permission-columns {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.data-category-panel .group-permission-column {
    box-sizing: border-box;
    min-width: 0;
    max-width: none;
    width: 100%;
}

.data-category-panel .permission-list {
    margin: 0;
}

.data-category-panel .permission-item {
    gap: 4px;
    margin-bottom: 4px;
}

.data-category-panel .permission-label {
    display: flex;
    align-items: flex-start;
    margin: 0 0 4px;
    color: #222;
    font-size: 11px;
    line-height: 15px;
}

.data-category-panel .permission-label .form-check-input {
    flex: 0 0 11px;
    width: 11px;
    height: 11px;
    margin: 2px 5px 0 0;
}

.data-category-panel .permission-label span {
    flex: 1;
    min-width: 0;
    color: inherit;
    font-weight: 400;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.data-category-panel .category-columns.fda-static-columns {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    align-items: stretch;
    min-width: 960px;
    width: 100%;
    border: 1px solid #ddd;
    background: #fff;
    padding: 12px 8px;
    box-sizing: border-box;
}

.fda-static-column {
    min-width: 0;
    padding: 0 12px;
    border-right: 1px solid #f59325;
}

.fda-static-column:last-child {
    border-right: none;
}

.fda-static-column h4 {
    color: #f59325;
    font-size: 13px;
    font-weight: 600;
    line-height: 18px;
    margin: 0 0 16px;
    min-height: 36px;
}

.fda-static-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.fda-static-item {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    font-size: 12px;
    line-height: 17px;
    color: #444;
    cursor: pointer;
}

.fda-static-item input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    width: 13px;
    height: 13px;
    margin: 2px 0 0;
    border: 1px solid #adb5bd;
    border-radius: 3px;
    background-color: #fff;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    flex-shrink: 0;
    cursor: pointer;
}

.fda-static-item input[type="checkbox"]:checked {
    background-color: #F59326 !important;
    border-color: #F59326 !important;
    box-shadow: none;
    background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e");
}

.fda-static-item span {
    overflow-wrap: anywhere;
}

.group-permission-static-wrap {
    overflow-x: auto;
}

.community-resident-demo-fieldset,
.group-permissions-fieldset {
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}

.community-resident-demo-fieldset:disabled input,
.community-resident-demo-fieldset:disabled select,
.community-resident-demo-fieldset:disabled textarea,
.community-resident-demo-fieldset:disabled button,
.community-resident-demo-fieldset:disabled label,
.group-permissions-fieldset:disabled input,
.group-permissions-fieldset:disabled label {
    cursor: not-allowed;
}

#community-resident-form input:disabled,
#community-resident-form select:disabled,
#community-resident-form textarea:disabled,
#community-resident-form button:disabled,
#community-resident-form .form-check:has(input:disabled) label {
    cursor: not-allowed !important;
}

.community-resident-demo-date,
.community-resident-demo-fieldset:disabled .community-resident-form-event-date {
    cursor: not-allowed !important;
}

.community-resident-demo-date *,
.community-resident-demo-fieldset:disabled * {
    cursor: not-allowed !important;
}

.community-resident-demo-date *,
.community-resident-demo-fieldset:disabled .community-resident-form-event-date * {
    pointer-events: none;
}
.reset-email-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

.reset-email-dialog {
    max-width: 500px;
}

.reset-email-header {
    border-bottom: 1px solid #dee2e6;
}

.reset-email-title {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.reset-email-subtitle {
    font-size: 13px;
    font-weight: 700;
    text-transform: uppercase;
}

.reset-email-label {
    font-size: 13px;
    font-weight: 600;
}

.reset-email-error {
    color: red;
    font-size: 12px;
    margin-top: 4px;
    margin-bottom: 0;
}

.reset-email-note {
    color: red;
    font-size: 12px;
    margin-bottom: 4px;
}

.subscriber-card-label {
    font-size: 12px;
}

.subscriber-card-invite-accepted {
    display: inline-block;
    font-size: 11px;
    color: #198754;
    font-weight: 600;
    white-space: nowrap;
}

.subscriber-card-invite-pending {
    display: flex;
    flex-direction: column;
    white-space: nowrap;
    gap: 0;
    line-height: 1.3;
}

.subscriber-card-invite-sent {
    font-size: 11px;
    color: #dc3545;
    font-weight: 600;
}

.subscriber-card-resend-label {
    font-size: 11px;
    color: #0d6efd;
    text-decoration: underline;
    text-transform: uppercase;
    cursor: pointer;
    font-weight: 600;
}

.subscriber-card-resend-label:hover {
    color: #0a58ca;
}

.subscriber-card-reset-email-label {
    display: inline-block;
    margin-top: 4px;
    font-size: 11px;
    color: #0d6efd;
    text-decoration: underline;
    text-transform: uppercase;
    cursor: pointer;
    font-weight: 600;
}

.subscriber-card-reset-email-label:hover {
    color: #0a58ca;
}

.subscriber-card-invite-note {
    margin: 0;
    padding: 10px 14px;
    background-color: #fff8e1;
    border-left: 3px solid #f0ad4e;
    font-size: 13px;
    color: #555;
    border-top: 1px solid #dee2e6;
}

.settings-data {
    border-left: 1px solid #e8e8e8;
    padding-left: 16px;
}

.settings-section {
    margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #f0f0f0;
}

.settings-section:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.settings-section-title {
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #555;
    margin-bottom: 6px;
    padding-bottom: 4px;
    border-bottom: 1px dashed #dee2e6;
}

.settings-section-body {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 4px 0;
}

.settings-col-group {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding-right: 12px;
    margin-right: 8px;
}

.settings-col-divider {
    border-right: 1px solid #dee2e6;
}

.settings-check-label {
    display: flex;
    align-items: flex-start;
    gap: 5px;
    font-size: 11px;
    color: #333;
    cursor: pointer;
    line-height: 1.4;
    white-space: nowrap;
}

.settings-check-label .form-check-input {
    width: 13px;
    height: 13px;
    margin-top: 2px;
    flex-shrink: 0;
}

.settings-check-label:hover {
    color: #ED820A;
}

.subscriber-card-action-disabled {
    cursor: not-allowed !important;
    opacity: 0.6;
    pointer-events: none;
}

.careguide-rpm-devices {
    margin-bottom: 20px;
}

.rpm-instruction-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1055;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 10vh;
    overflow-y: auto;
}

.rpm-instruction-dialog {
    width: 840px !important;
    max-width: calc(100vw - 32px);
    flex-shrink: 0;
}

.rpm-instruction-header {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 1rem;
}

.rpm-instruction-icon {
    flex-shrink: 0;
    margin-top: 3px;
}

.rpm-instruction-list {
    padding-left: 2rem;
    list-style-position: outside;
    text-align: left;
    margin: 0;
}

.rpm-disable-warning-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1055;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding-top: 20vh;
}

.rpm-disable-warning-dialog {
    width: 500px;
    max-width: calc(100vw - 32px);
    flex-shrink: 0;
}

.rpm-device-row {
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 12px;
    padding: 10px 0;
}

.rpm-device-divider {
    width: 100%;
    margin: 4px 0 0;
    border-color: #dee2e6;
}

.rpm-device-main {
    display: flex;
    flex: 1 1 75%;
    align-items: flex-start;
    flex-wrap: nowrap;
    gap: 16px;
    min-width: 0;
}

.rpm-device-info {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 160px;
}

.rpm-device-image {
    object-fit: contain;
    flex-shrink: 0;
}

.rpm-device-label {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    margin: 0;
}

.rpm-device-toggle-group {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 180px;
    flex-shrink: 0;
}

.rpm-device-shared-label {
    font-size: 12px;
    font-weight: 600;
    color: #888;
}

.rpm-device-personal-label {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 2px;
    font-size: 12px;
    font-weight: 600;
    color: #ED820A;
}

.rpm-personal-line {
    display: flex;
    align-items: center;
    gap: 4px;
    color: #ED820A;
}

.rpm-billing-eligible-label {
    display: block;
    font-size: 11px;
    color: #ED820A;
}

.rpm-billing-info-btn {
    padding: 0 4px;
    color: #ED820A;
    border: none;
    background: none;
    line-height: 1;
}

.rpm-billing-info-btn i {
    color: #ED820A;
}

.rpm-billing-info-btn:hover {
    color: #c96a00;
}

.rpm-toggle-switch {
    position: relative;
    display: inline-block;
    width: 42px;
    height: 22px;
    margin: 0;
}

.rpm-toggle-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.rpm-toggle-slider {
    position: absolute;
    inset: 0;
    background-color: #ccc;
    border-radius: 22px;
    cursor: pointer;
    overflow: hidden;
    transition: background-color 0.2s ease;
}

.rpm-toggle-slider::before {
    content: "";
    position: absolute;
    height: 16px;
    width: 16px;
    left: 3px;
    bottom: 3px;
    background-color: white;
    border-radius: 50%;
    transition: transform 0.2s ease;
}

.rpm-toggle-switch input:checked + .rpm-toggle-slider {
    background-color: #ED820A;
}

.rpm-toggle-switch input:checked + .rpm-toggle-slider::before {
    transform: translateX(20px);
}

.rpm-device-form {
    display: flex;
    align-items: flex-start;
    gap: 16px;
    flex-wrap: wrap;
}

.rpm-brand-model-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
    border-right: 1px solid #e0e0e0;
    padding-right: 16px;
}

.rpm-serial-passcode-group {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.rpm-form-inline {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 10px;
    font-size: 12px;
}

.rpm-form-inline label {
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    margin: 0;
    min-width: 90px;
    color: #555;
}

.rpm-dropdown,
.rpm-serial-input,
.rpm-passcode-input {
    font-size: 12px;
    width: 150px;
    padding: 3px 8px;
    height: auto;
    min-height: 28px;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background-color: #fff;
    color: #333;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
    line-height: 1.4;
}

.rpm-dropdown {
    /* Restore Bootstrap's native select arrow — lost when height is forced */
    padding-right: 28px;
    background-size: 12px;
    appearance: auto;
}

.rpm-dropdown:focus,
.rpm-serial-input:focus,
.rpm-passcode-input:focus {
    border-color: #ED820A;
    box-shadow: 0 0 0 2px rgba(237, 130, 10, 0.18);
    outline: none;
}

.rpm-note {
    display: inline-block;
    font-size: 10px;
    width: 200px;
    color: #555;
}

.rpm-input-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2px;
    width: 150px;
}

.rpm-field-error {
    font-size: 10px;
    color: #dc3545;
    line-height: 1.2;
    white-space: normal;
    overflow-wrap: break-word;
}

.rpm-input-error,
.rpm-input-error.form-select,
.rpm-input-error.form-control {
    border-color: #dc3545 !important;
    box-shadow: 0 0 0 2px rgba(220, 53, 69, 0.15) !important;
}

.rpm-device-id-label {
    font-size: 12px;
    color: #555;
    white-space: nowrap;
}

.rpm-no-device-id {
    display: flex;
    align-items: center;
    gap: 6px;
    padding: 4px 0 2px;
}

.rpm-no-device-id-label {
    font-size: 12px;
    color: #888;
    font-style: italic;
}

.rpm-device-id-inline {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 16px;
    white-space: nowrap;
    flex: 1;
}

.rpm-device-id-inline .rpm-delete-btn {
    margin-left: auto;
    padding: 2px 8px;
}

.rpm-serial-value {
    color: #333;
}

.rpm-delete-btn {
    padding: 2px 6px;
}

.rpm-billing-modal-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1050;
}

.rpm-billing-modal {
    background-color: #fff8f0;
    border-radius: 6px;
}

.rpm-billing-modal-body {
    padding: 20px;
}

.rpm-billing-info-icon {
    fill: #ED820A;
    flex-shrink: 0;
    margin-top: 2px;
}

.rpm-demo-disabled-fieldset {
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}

.rpm-demo-disabled-fieldset:disabled input,
.rpm-demo-disabled-fieldset:disabled select,
.rpm-demo-disabled-fieldset:disabled button,
.rpm-demo-disabled-fieldset:disabled label {
    cursor: not-allowed;
}

.rpm-demo-disabled-fieldset:disabled {
    cursor: not-allowed !important;
}

.rpm-demo-disabled-fieldset:disabled * {
    cursor: not-allowed !important;
    pointer-events: none;
}

/* Backdrop — darkens the page behind the slider */
.link-slider-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    z-index: 10009;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.3s ease;
}

.link-slider-backdrop-visible {
    opacity: 1;
    pointer-events: auto;
}

/* Slider panel — slides in from the right */
.link-slider-panel {
    position: fixed;
    top: 0;
    right: 0;
    width: 85vw;
    height: 100vh;
    background: #fff;
    z-index: 10010;
    display: flex;
    flex-direction: column;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.18);
    transform: translateX(100%);
    transition: transform 0.3s ease;
    border-radius: 8px 0 0 8px;
    /* Needed to position the toast relative to the panel */
    isolation: isolate;
}

.link-slider-panel-open {
    transform: translateX(0);
}

/* Body — scrollable wrapper */
.link-slider-body {
    flex: 1;
    overflow: auto;
    padding: 10px;
}

/* Outer orange border frame */
.slider-screen-outer-border {
    position: relative;
    border: 3px solid #f59325;
    border-radius: 40px;
    height: auto;
}

/* Inner orange border frame */
.slider-screen-inner-border {
    position: relative;
    border: 2px solid #f59325;
    border-radius: 20px;
    margin: 30px;
    min-height: 81vh;
}

/* Vertical divider between left refresh column and right content column */
.slider-screen-inner-border .vertical-line {
    border-left: 1px solid #ddd;
    min-height: 80.6vh;
    height: auto;
}

/* Two-column flex row inside inner border */
.link-slider-cols {
    display: flex;
    gap: 16px;
    padding: 20px;
}

/* Left column: refresh button */
.link-slider-left-col {
    flex: 0 0 120px;
    display: flex;
    flex-direction: column;
    padding-top: 55px;
}

/* Refresh button — matches PHP orange style */
.link-slider-refresh-btn {
    width: 100%;
    padding: 8px 12px;
    background: #e69108;
    border: 1px solid #dd8601;
    color: #fff;
    border-radius: 6px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
}

.link-slider-refresh-btn:hover {
    background: #d4760d;
}

/* Right column: content area */
.link-slider-right-col {
    flex: 1;
    display: flex;
    flex-direction: column;
    padding-left: 16px;
}

/* Provider title */
.link-slider-provider-title {
    color: #555;
    font-weight: 600;
    font-size: 18px;
    margin: 10px 0 8px;
}

/* Sub-header row: crumb label + optional response + search */
.link-slider-subheader {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}

/* Breadcrumb-style label — "Link Resident > Resident Name" */
.link-slider-crumb {
    display: flex;
    align-items: center;
    gap: 6px;
    flex-shrink: 0;
}

.link-slider-crumb-label {
    font-size: 16px;
    font-weight: 700;
    color: #ee931a;
    white-space: nowrap;
}

.link-slider-crumb-sep {
    color: #ccc;
    font-size: 16px;
}

.link-slider-crumb-name {
    font-size: 15px;
    font-weight: 800;
    color: #222;
    white-space: nowrap;
}

/* Inline response message (success/error) */
.link-slider-response-msg {
    font-size: 15px;
    font-weight: 600;
    color: #ee931a;
}

/* Search input + icon */
.link-slider-search-wrapper {
    position: relative;
    width: 260px;
}

.link-slider-search-input {
    height: 36px;
    padding: 6px 40px 6px 12px;
    border-radius: 6px;
    border: 1px solid #ddd;
    font-size: 13px;
    width: 100%;
}

.link-slider-search-icon {
    position: absolute;
    right: 0;
    top: 0;
    height: 36px;
    width: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, #ee931a, #d4760d);
    border: 1px solid #d4760d;
    border-left: none;
    border-radius: 0 6px 6px 0;
    color: #fff;
    pointer-events: none;
}

/* Table wrapper — height auto-adjusts with content */
.link-slider-table-wrapper {
    overflow-x: auto;
    background: #fff;
    border-radius: 6px;
    box-shadow: 0 0 0 1px #e6e6e6 inset;
    padding: 15px;
    margin-bottom: 10px;
}

.link-slider-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.link-slider-th {
    padding: 10px;
    color: #555;
    border-bottom: 1px solid #ddd;
    font-weight: 600;
    background: #fafafa;
    white-space: nowrap;
    text-align: left;
}

.link-slider-th-sortable {
    cursor: pointer;
}

.link-slider-th-sortable:hover {
    background: #f0f0f0;
}

.link-slider-th-radio {
    width: 20px;
}

.link-slider-th-avatar {
    width: 36px;
}

.link-slider-sort-icon {
    font-size: 11px;
    margin-left: 4px;
}

.link-slider-tr {
    cursor: pointer;
    transition: background 0.15s;
}

.link-slider-tr:hover {
    background: #fff8f0;
}

.link-slider-tr-selected {
    background: #fff3e0;
}

.link-slider-td {
    padding: 8px 10px;
    border-bottom: 1px solid #f0f0f0;
    color: #333;
    vertical-align: middle;
}

.link-slider-td-radio {
    text-align: center;
}

.link-slider-td-avatar {
    text-align: center;
}

.link-slider-td-message {
    padding: 24px;
    text-align: center;
    color: #888;
}

.link-slider-td-error {
    color: #c0392b;
}

/* Avatar initials circle */
.link-slider-avatar-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #c4c4c4;
    color: #111;
    font-size: 11px;
    font-weight: 700;
}

/* Avatar profile image */
.link-slider-avatar-img {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
}

/* Pagination */
.link-slider-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 4px 2px;
    flex-wrap: wrap;
    gap: 8px;
}

.link-slider-pagination-info {
    font-size: 13px;
    color: #666;
}

.link-slider-pagination-nav {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

.link-slider-page-btn {
    padding: 4px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    font-size: 13px;
    color: #555;
}

.link-slider-page-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.link-slider-page-btn-active {
    background: #ee931a;
    border-color: #ee931a;
    color: #fff;
    font-weight: 600;
}

.link-slider-page-ellipsis {
    padding: 4px 6px;
    color: #888;
    font-size: 13px;
    user-select: none;
}

/* Footer */
.link-slider-footer {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 14px 20px;
    border-top: 1px solid #e6e6e6;
    background: #fafafa;
    border-radius: 0 0 0 8px;
}

.link-slider-footer .btn_custom_border {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

.link-slider-confirm-btn {
    padding: 7px 22px;
    background: #ee931a;
    border: 1px solid #d4760d;
    color: #fff;
    border-radius: 6px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
}

.link-slider-confirm-btn:hover {
    background: #d4760d;
}

.link-slider-close-btn {
    padding: 7px 22px;
    background: #fff;
    border: 1px solid #bbb;
    color: #555;
    border-radius: 6px;
    font-weight: 600;
    font-size: 13px;
    cursor: pointer;
}

.link-slider-close-btn:hover {
    background: #f5f5f5;
}

/* Toast notification — appears at the top-right of the slider after Refresh */
.link-slider-toast {
    position: fixed;
    bottom: 42px;
    right: 20px;
    padding: 15px;
    border-radius: 5px;
    background-color: #28a745;
    color: #fff;
    font-size: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    z-index: 20013;
    display: flex;
    align-items: center;
    gap: 8px;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.25s ease;
}

.link-slider-toast-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}

.create-resident-overlay {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 21500;
    padding: 16px;
}

.create-resident-modal {
    background: #ffffff;
    border-radius: 8px;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
    width: 100%;
    max-width: 680px;
    max-height: 90vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

.create-resident-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 18px 24px 14px;
    border-bottom: 1px solid #e5e7eb;
    flex-shrink: 0;
}

.create-resident-title {
    margin: 0;
    font-size: 16px;
    font-weight: 600;
    color: #1a1a2e;
}

.create-resident-close {
    background: none;
    border: none;
    cursor: pointer;
    color: #6b7280;
    font-size: 16px;
    padding: 4px 8px;
    border-radius: 4px;
    line-height: 1;
    transition: color 0.15s, background-color 0.15s;
}

.create-resident-close:hover {
    color: #111827;
    background-color: #f3f4f6;
}

.create-resident-loading {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 48px 24px;
    color: #6b7280;
    font-size: 14px;
}

.create-resident-form {
    padding: 16px 24px 4px;
    overflow-y: auto;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.create-resident-error {
    background-color: #fef2f2;
    border: 1px solid #fca5a5;
    border-radius: 6px;
    color: #b91c1c;
    font-size: 13px;
    padding: 10px 14px;
}

/* Three-column grid for First Name, Last Name, Preferred Name */
.create-resident-grid-3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

/* Two-column grid for DOB+Language and CareType+Suite rows */
.create-resident-grid-2 {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

/* Single field block: label on top, control below */
.create-resident-field {
    display: flex;
    flex-direction: column;
    gap: 3px;
}

.create-resident-label {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
    line-height: 1.3;
}

.create-resident-required {
    color: #ef4444;
}

.create-resident-char-hint {
    font-weight: 400;
    color: #9ca3af;
}

.create-resident-input {
    width: 100%;
    height: 32px;
    padding: 0 8px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: 13px;
    color: #111827;
    background-color: #ffffff;
    outline: none;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.create-resident-input:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
}

.create-resident-input:disabled {
    background-color: #f3f4f6;
    color: #9ca3af;
    cursor: not-allowed;
    border-color: #e5e7eb;
}

.create-resident-input-readonly {
    background-color: #f9fafb;
    color: #6b7280;
    cursor: not-allowed;
}

.create-resident-select {
    width: 100%;
    height: 32px;
    padding: 0 8px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: 13px;
    color: #111827;
    background-color: #ffffff;
    outline: none;
    cursor: pointer;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.create-resident-select:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
}

.create-resident-select:disabled {
    background-color: #f3f4f6;
    color: #9ca3af;
    cursor: not-allowed;
    border-color: #e5e7eb;
}

.create-resident-select-invalid {
    border-color: #ef4444;
}

.create-resident-select-invalid:focus {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}

/* Inline field-level error text shown below invalid inputs */
.create-resident-field-error {
    font-size: 11px;
    color: #ef4444;
    line-height: 1.3;
    margin-top: 1px;
}

.create-resident-textarea {
    width: 100%;
    padding: 6px 8px;
    border: 1px solid #d1d5db;
    border-radius: 4px;
    font-size: 13px;
    color: #111827;
    background-color: #ffffff;
    outline: none;
    resize: vertical;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color 0.15s, box-shadow 0.15s;
}

.create-resident-textarea:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
}

.create-resident-textarea:disabled {
    background-color: #f3f4f6;
    color: #9ca3af;
    cursor: not-allowed;
    border-color: #e5e7eb;
}

/* Radio group rendered inline below the Gender label */
.create-resident-radios {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
}

.create-resident-radio-label {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    font-size: 13px;
    font-weight: normal;
    color: #374151;
    cursor: pointer;
    padding: 0;
    border: none;
    border-radius: 0;
    background: none;
    user-select: none;
}

.create-resident-radio-label:hover {
    border: none;
    background: none;
    color: #111827;
}

/* Hide the native radio input visually but keep it accessible */
.create-resident-radio-label input[type="radio"] {
    position: static;
    opacity: 1;
    width: 14px;
    height: 14px;
    accent-color: #f59325;
    cursor: pointer;
    pointer-events: auto;
    margin: 0;
}

/* Highlight the pill when its radio is checked */
.create-resident-radio-label:has(input[type="radio"]:checked) {
    border: none;
    background: none;
    color: #111827;
    font-weight: 500;
}

/* Internal checkbox separated visually from the gender radios */
.create-resident-internal {
    margin-left: 4px;
    padding-left: 12px;
    border-left: 1px solid #e5e7eb;
}

.create-resident-internal:hover {
    background: none;
    border: none;
    border-left: 1px solid #e5e7eb;
    color: #111827;
}

.create-resident-checkbox {
    width: 14px;
    height: 14px;
    accent-color: #f59325;
    cursor: pointer;
    position: static;
    opacity: 1;
    pointer-events: auto;
}

/* Antd DatePicker sizing to match other form controls */
.create-resident-datepicker.ant-picker {
    height: 32px;
    border-radius: 4px;
    border-color: #d1d5db;
    font-size: 13px;
    padding: 0 8px;
}

.create-resident-datepicker.ant-picker:hover,
.create-resident-datepicker.ant-picker-focused {
    border-color: #f59325;
    box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
}

.create-resident-datepicker-invalid.ant-picker {
    border-color: #ef4444;
}

.create-resident-datepicker-invalid.ant-picker:hover,
.create-resident-datepicker-invalid.ant-picker-focused {
    border-color: #ef4444;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.15);
}

.create-resident-footer {
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    padding: 12px 0 16px;
    border-top: 1px solid #e5e7eb;
    margin-top: 6px;
    flex-shrink: 0;
}

.create-resident-btn {
    padding: 8px 22px;
    font-size: 13px;
    font-weight: 500;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.15s, opacity 0.15s;
}

.create-resident-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.create-resident-btn-submit {
    background-color: #f59325;
    color: #ffffff;
}

.create-resident-btn-submit:hover:not(:disabled) {
    background-color: #e07d10;
}

.create-resident-btn-cancel {
    background-color: #f3f4f6;
    color: #374151;
}

.create-resident-btn-cancel:hover:not(:disabled) {
    background-color: #e5e7eb;
}

.unmapped-summary-row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 20px;
    margin-bottom: 24px;
}

.unmapped-summary-box {
    flex: 0 0 auto;
    min-width: 160px;
    background: #ffffff;
    padding: 12px 20px;
    border-radius: 6px;
    height: 80px;
    box-shadow: 0 0 0 1px #e2e2e2 inset;
    cursor: pointer;
    transition: box-shadow 0.2s ease, transform 0.1s ease;
    outline: none;
    position: relative;
}

.unmapped-summary-box:hover,
.unmapped-summary-box:focus {
    box-shadow: 0 0 0 1px #ee931a inset;
}

.unmapped-summary-active,
.unmapped-summary-active:hover,
.unmapped-summary-active:focus {
    background: #f3d3a5;
    border-color: #f3d3a5;
    font-weight: 600;
}

.unmapped-summary-active .unmapped-summary-count,
.unmapped-summary-active .unmapped-summary-label {
    color: inherit;
}

.unmapped-summary-count {
    font-size: 18px;
    font-weight: 600;
    color: #333333;
    margin: 0;
    line-height: 1;
    text-align: left;
}

.unmapped-summary-label {
    font-size: 12px;
    color: #787878;
    display: block;
    text-align: left;
    padding-top: 15px;
}

.unmapped-summary-orange {
    background: #f59325;
    border-color: #f59325;
}

.unmapped-summary-orange .unmapped-summary-count {
    color: #ffffff;
}

.unmapped-summary-orange .unmapped-summary-label {
    color: #ffffff;
}

.unmapped-hazard-icon {
    width: 18px;
    height: 18px;
    position: absolute;
    top: 8px;
    right: 8px;
}

/* ── Table container ─────────────────────────────────────── */
.unmapped-table-container {
    background: #ffffff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 16px;
    margin-top: 8px;
    margin-bottom: 50px;
}

/* ── Table ───────────────────────────────────────────────── */
.unmapped-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.875rem;
}

.unmapped-th {
    padding: 10px 12px;
    text-align: left;
    border-bottom: 2px solid #e0e0e0;
    font-weight: 600;
    color: #444444;
    white-space: nowrap;
}

.unmapped-th-avatar {
    width: 44px;
}

.unmapped-th-sortable {
    cursor: pointer;
    user-select: none;
}

.unmapped-th-sortable:hover {
    background: #f9f9f9;
}

.unmapped-sort-icon {
    font-size: 11px;
    margin-left: 4px;
    color: #888888;
}

.unmapped-tr:nth-child(even) {
    background: #fafafa;
}

.unmapped-tr:hover {
    background: #fff8f0;
}

.unmapped-td {
    padding: 10px 12px;
    border-bottom: 1px solid #eeeeee;
    color: #333333;
    vertical-align: middle;
}

.unmapped-td-message {
    text-align: center;
    padding: 24px;
    color: #888888;
}

.unmapped-td-error {
    color: #c0392b;
}

.unmapped-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
}

.unmapped-avatar-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: #c4c4c4;
    color: #111111;
    font-size: 11px;
    font-weight: 700;
}

/* ── Action buttons ──────────────────────────────────────── */
.unmapped-action-btn {
    padding: 5px 10px;
    border: none;
    border-radius: 4px;
    font-size: 0.8rem;
    cursor: pointer;
    margin-right: 6px;
}

.unmapped-link-btn {
    background: #fff4e5;
    border: 1px solid #f0b46c;
    color: #333;
    border-radius: 14px;
}

.unmapped-link-btn:hover {
    background: #f9e2c5;
}

.unmapped-ignore-btn {
    background: #9e9e9e;
    color: #ffffff;
    border-radius: 14px;
}

.unmapped-ignore-btn:hover {
    background: #757575;
}

.unmapped-unignore-btn {
    background: #fff4e5;
    border: 1px solid #f0b46c;
    color: #333;
    border-radius: 14px;
}

.unmapped-unignore-btn:hover {
    background: #f9e2c5;
}

.unmapped-create-btn {
    background: #fff4e5;
    border: 1px solid #f0b46c;
    color: #333;
    border-radius: 14px;
}

.unmapped-create-btn:hover {
    background: #f9e2c5;
}

.unmapped-create-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.unmapped-create-btn:disabled:hover {
    background: #fff4e5;
}

.unmapped-unlink-btn {
    background: #fff4e5;
    border: 1px solid #f0b46c;
    color: #333;
    border-radius: 14px;
}

.unmapped-unlink-btn:hover {
    background: #f9e2c5;
}

/* ── Table header row: title label + search ──────────────── */
.unmapped-table-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 14px;
    flex-wrap: wrap;
    gap: 8px;
}

.unmapped-table-title {
    font-size: 15px;
    font-weight: 700;
    color: #555;
}

/* ── Pagination ──────────────────────────────────────────── */
.unmapped-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px;
    flex-wrap: wrap;
    gap: 8px;
}

.unmapped-pagination-info {
    font-size: 0.8rem;
    color: #888888;
}

.unmapped-pagination-nav {
    display: flex;
    gap: 4px;
}

.unmapped-page-btn {
    padding: 5px 10px;
    border: 1px solid #dddddd;
    border-radius: 4px;
    background: #ffffff;
    color: #555555;
    font-size: 0.8rem;
    cursor: pointer;
}

.unmapped-page-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

.unmapped-page-btn-active {
    background: #fff3e0;
    color: #f59325;
    font-weight: 700;
    border-color: #f59325;
}

/* Align panel content with the breadcrumb/search row above */
#system-installer-panel .panel-body {
    padding-left: 0;
    padding-right: 0;
}

/* Keep the Add System Installers button the same height as the sibling search input */
#add-system-installer-btn {
    display: inline-flex;
    align-items: center;
    height: 38px;
    padding-top: 0;
    padding-bottom: 0;
    white-space: nowrap;
}

#community-system-installer-form {
    .col-form-label {
        font-weight: 600;
        text-align: end;
    }
}

.adt-exe-modal-overlay {
    position: fixed;
    inset: 0;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 10vh 16px 24px;
    overflow-x: hidden;
    overflow-y: auto;
}

.adt-exe-modal-dialog {
    background: #fff;
    border-radius: 8px;
    box-sizing: border-box;
    width: 100%;
    max-width: 860px;
    max-height: 80vh;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

.adt-exe-modal-header {
    padding: 18px 24px;
    border-bottom: 1px solid #dee2e6;
    text-align: center;
    flex-shrink: 0;
}

.adt-exe-modal-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
}

.adt-exe-modal-body {
    padding: 24px 28px;
    font-size: 16px;
    line-height: 1.65;
    overflow-y: auto;
}

.adt-exe-main-message {
    margin-bottom: 22px;
}

.adt-exe-close-row {
    display: flex;
    justify-content: center;
    margin-bottom: 22px;
}

.adt-exe-italic-section {
    font-style: italic;
    font-size: 15.5px;
}

.adt-exe-steps-list {
    margin-top: 10px;
    padding-left: 0;
    display: grid;
    gap: 14px;
    list-style: none;
}

.adt-exe-steps-list li {
    list-style: disc;
    margin-left: 22px;
    line-height: 1.75;
}

.adt-exe-modal-footer {
    padding: 16px 24px;
    border-top: 1px solid #dee2e6;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-shrink: 0;
}

/* Align panel content with the breadcrumb/search row above */
#community-exe-admin .panel-body {
    padding-left: 0;
    padding-right: 0;
}

#community-exe-admin {
    .custom-table-responsive .custom-table {
        table-layout: fixed;
    }

    .cea-col-name {
        width: 16%;
    }

    .cea-col-community {
        width: 28%;
    }

    .cea-col-tempo {
        width: 24%;
    }

    .cea-col-action {
        width: 16%;
    }

    .cea-filter-bar {
        width: 100%;
    }

    .cea-total-pos {
        margin-left: 60%;
    }

    .cea-filter-select {
        width: 28%;
    }

    .total-tempo-serial {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 6px 10px 6px 14px;
        background-color: #fdf2e6;
        border: 1px solid #f6cfa0;
        border-radius: 20px;
        font-size: 14px;
        line-height: 1;
    }

    .total-tempo-serial-label {
        color: #8a5a1f;
        font-weight: 600;
        letter-spacing: 0.2px;
    }

    .total-tempo-serial-count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 26px;
        height: 24px;
        padding: 0 8px;
        background-color: #f59325;
        color: #ffffff;
        border-radius: 12px;
        font-weight: 700;
    }

    .badge {
        padding: 4px 6px !important;
    }

    .no-tempo {
        background: #b6b2b2
    }

    .na-badge {
        background: #ff5b57;
    }
}

.cea-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

#community-exe-admin .cea-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

#community-exe-admin .cea-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #E6E6E6 !important;
    box-shadow: inset 0 -1px 0 #e2e7eb;
}

/* Prevent Add Executive Admin button text from wrapping */
#cea-add-executive-admin-btn {
    white-space: nowrap;
    flex-shrink: 0;
}

/* Facility selector in roleId=6 header */
.cea-facility-select {
    flex-shrink: 1;
    font-size: 14px;
    background-image: none !important;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-left: 0.5rem;
    padding-right: 0.5rem;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 0;
    max-width: 260px;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

/* Search input with icon/clear button */
.cea-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 240px;
    flex: 1;
}

.cea-search-input {
    padding-right: 32px;
}

.cea-search-icon {
    position: absolute;
    right: 10px;
    color: #999;
    pointer-events: none;
    font-size: 14px;
}

.cea-search-clear {
    position: absolute;
    right: 8px;
    background: none;
    border: none;
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
    color: #666;
    padding: 0;
}

.cea-search-clear:hover {
    color: #000;
}

/* Table loading / error state cell */
.cea-table-state-cell {
    text-align: center;
    padding: 24px !important;
}

.cea-retry-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    font-size: 14px;
    color: #333;
}

.cea-retry-btn:hover {
    background-color: #f5f5f5;
    border-color: #999;
}

/* ADT EHR badge */
.cea-firstname-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.cea-firstname-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #D9D9D9;
    color: #555;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    flex-shrink: 0;
}

.cea-ehr-badge {
    background-color: #17a2b8;
    color: #fff;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 4px;
}

/* External executive admin info icon and dropdown */
.cea-external-admin-wrapper {
    position: relative;
    display: inline-block;
    margin-left: 6px;
    vertical-align: middle;
}

.cea-external-admin-icon {
    width: 16px;
    height: 16px;
    cursor: pointer;
    vertical-align: middle;
}

.cea-external-admin-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 1100;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    padding: 10px 14px;
    min-width: 220px;
    font-size: 13px;
    white-space: nowrap;
}

#community-exe-admin .custom-table-body tr:last-child .cea-external-admin-dropdown {
    top: auto;
    bottom: calc(100% + 4px);
}

.cea-ext-close-btn {
    position: absolute;
    top: 6px;
    right: 8px;
    background: none;
    border: none;
    font-size: 16px;
    cursor: pointer;
    line-height: 1;
    color: #666;
    padding: 0;
}

.cea-ext-close-btn:hover {
    color: #000;
}

.cea-ext-source-name {
    font-weight: 700;
    margin-bottom: 4px;
    padding-right: 18px;
}

.cea-ext-divider {
    margin: 4px 0;
    border-top: 1px solid #eee;
}

.cea-ext-field-row {
    margin: 3px 0;
}

/* PDF / Print layout */
.cea-pdf-root {
    width: 100%;
    display: block;
    margin: 0 auto;
}

.cea-pdf-header {
    font-size: 24px;
    text-align: center;
}

.cea-pdf-sub-header {
    font-size: 20px;
    margin-bottom: 15px;
    text-align: center;
}

.cea-pdf-root table {
    margin-left: auto !important;
    margin-right: auto !important;
    width: auto !important;
    max-width: 100%;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.cea-pdf-root th,
.cea-pdf-root td {
    border: 1px solid #dee2e6 !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    vertical-align: middle !important;
    line-height: 1.2 !important;
}

.cea-pdf-root .d-flex {
    gap: 4px !important;
}

.cea-pdf-root tr {
    page-break-inside: avoid;
}

/* Badge colors for the cloned table (scoped ancestor #community-exe-admin is lost in the PDF clone) */
.cea-pdf-root .badge {
    padding: 4px 6px !important;
}

.cea-pdf-root .no-tempo {
    background: #b6b2b2 !important;
    color: #fff !important;
}

.cea-pdf-root .na-badge {
    background: #ff5b57 !important;
    color: #fff !important;
}

.cea-pdf-root .cea-ehr-badge {
    background-color: #17a2b8 !important;
    color: #fff !important;
}

.cea-pdf-root .bg-info {
    background-color: #17a2b8 !important;
    color: #fff !important;
}
.cea-admin-details {
    min-width: 0;
    max-width: 100%;
}

/* Allow long unbroken values (names/serials) to wrap instead of overflowing fixed-width columns */
#community-exe-admin .custom-table-body td {
    overflow-wrap: anywhere;
    word-break: break-word;
}

/* First-line name row: let the name span shrink and wrap long words */
.cea-admin-details > div {
    min-width: 0;
}

.cea-admin-details > div > span {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.cea-admin-email {
    display: block;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-all;
}
#changeRoleModal {
    .change-role-modal {
        background-color: rgba(0, 0, 0, 0.5);
    }
    
    .current-role-option.current-role-bold {
        font-weight: bold;
    }

    .col-form-label {
        font-weight: 600;
        text-align: end;
        font-size: 1rem;
    }

    .form-select:disabled {
        pointer-events: auto;
        cursor: not-allowed !important;
    }
}
/* Horizontal form label alignment */
#community-executive-form .col-form-label {
    font-weight: 600;
    text-align: end;
}

/* Disabled input/select cursor */
#community-executive-form .executive-form-field-disabled {
    cursor: not-allowed;
}

/* Role label extra bottom spacing in edit mode */
#community-executive-form .executive-form-role-label-edit {
    margin-bottom: 25px;
}

/* Profile image preview thumbnail */
#community-executive-form .executive-form-profile-img {
    max-width: 150px;
    max-height: 150px;
    object-fit: cover;
}

/* Responsive: stack labels left-aligned on xs screens */
@media (max-width: 575.98px) {
    #community-executive-form .col-form-label {
        text-align: start;
        padding-bottom: 0.25rem;
    }
}

#community-executive-form .form-check-input.custom-checkbox {
    width: 20px;
    height: 20px;
    border: 1px solid #6c757d;
    accent-color: #0d6efd;
    cursor: pointer;
}

#community-executive-form .form-check-input.custom-checkbox:checked {
    border-color: #0d6efd;
    background-color: #0d6efd;
}

#community-executive-form .form-check-input.custom-checkbox:disabled {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.6;
}

#community-executive-form :has(> .form-check-input.custom-checkbox:disabled) {
    cursor: not-allowed;
}

#community-executive-form .form-check-input.custom-checkbox:disabled ~ .form-check-label {
    cursor: not-allowed;
}

#community-executive-form .executive-form-tempo-select {
    width: 100%;
}

#community-executive-form .executive-form-tempo-select .rs__control {
    border: 1px solid #ced4da !important;
    box-shadow: none !important;
    font-size: 1rem;
}

#community-executive-form .executive-form-tempo-select .rs__control:hover {
    border-color: #ced4da !important;
}

#community-executive-form .executive-form-tempo-select .rs__control--is-focused,
#community-executive-form .executive-form-tempo-select .rs__control--is-focused:hover {
    border-color: #f59325 !important;
    box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.25) !important;
}

#community-executive-form .executive-form-tempo-select .rs__control--is-disabled {
    background-color: #e9ecef !important;
    pointer-events: auto !important;
    cursor: not-allowed !important;
}

#community-executive-form .executive-form-tempo-select .rs__control--is-disabled * {
    cursor: not-allowed !important;
}

#community-executive-form .executive-form-tempo-select .rs__control--is-disabled .rs__single-value--is-disabled {
    color: #212529 !important;
    font-size: 1rem;
}

#community-executive-form .executive-form-tempo-select .rs__option--is-focused {
    background-color: rgba(245, 147, 37, 0.15) !important;
    color: #212529 !important;
}

#community-executive-form .executive-form-tempo-select .rs__option--is-selected,
#community-executive-form .executive-form-tempo-select .rs__option--is-selected.rs__option--is-focused {
    background-color: #f59325 !important;
    color: #fff !important;
}
.adt-ca-modal-overlay {
    position: fixed;
    inset: 0;
    box-sizing: border-box;
    background: rgba(0, 0, 0, 0.5);
    z-index: 1050;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 10vh 16px 24px;
    overflow-x: hidden;
    overflow-y: auto;
}

.adt-ca-modal-dialog {
    background: #fff;
    border-radius: 8px;
    box-sizing: border-box;
    width: 100%;
    max-width: 860px;
    max-height: 80vh;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

.adt-ca-modal-header {
    padding: 18px 24px;
    border-bottom: 1px solid #dee2e6;
    text-align: center;
    flex-shrink: 0;
}

.adt-ca-modal-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
}

.adt-ca-modal-body {
    padding: 24px 28px;
    font-size: 16px;
    line-height: 1.65;
    overflow-y: auto;
}

.adt-ca-main-message {
    margin-bottom: 22px;
}

.adt-ca-close-row {
    display: flex;
    justify-content: center;
    margin-bottom: 22px;
}

.adt-ca-italic-section {
    font-style: italic;
    font-size: 15.5px;
}

.adt-ca-steps-list {
    margin-top: 10px;
    padding-left: 0;
    display: grid;
    gap: 14px;
    list-style: none;
}

.adt-ca-steps-list li {
    list-style: disc;
    margin-left: 22px;
    line-height: 1.75;
}

.adt-ca-modal-footer {
    padding: 16px 24px;
    border-top: 1px solid #dee2e6;
    display: flex;
    justify-content: center;
    gap: 12px;
    flex-shrink: 0;
}

/* Align panel content with the breadcrumb/search row above */
#community-admin .panel-body {
    padding-left: 0;
    padding-right: 0;
}

#community-admin {
    .custom-table-responsive .custom-table {
        table-layout: fixed;
    }

    .ca-col-name {
        width: 16%;
    }

    .ca-col-community {
        width: 28%;
    }

    .ca-col-tempo {
        width: 24%;
    }

    .ca-col-action {
        width: 16%;
    }

    .ca-filter-bar {
        width: 100%;
    }

    .ca-total-pos {
        margin-left: 60%;
    }

    .ca-filter-select {
        width: 28%;
    }

    .total-tempo-serial {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        padding: 6px 10px 6px 14px;
        background-color: #fdf2e6;
        border: 1px solid #f6cfa0;
        border-radius: 20px;
        font-size: 14px;
        line-height: 1;
    }

    .total-tempo-serial-label {
        color: #8a5a1f;
        font-weight: 600;
        letter-spacing: 0.2px;
    }

    .total-tempo-serial-count {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 26px;
        height: 24px;
        padding: 0 8px;
        background-color: #f59325;
        color: #ffffff;
        border-radius: 12px;
        font-weight: 700;
    }

    .badge {
        padding: 4px 6px !important;
    }

    .no-tempo {
        background: #b6b2b2
    }

    .na-badge {
        background: #ff5b57;
    }
}

.ca-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

#community-admin .ca-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

#community-admin .ca-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #E6E6E6 !important;
    box-shadow: inset 0 -1px 0 #e2e7eb;
}

/* PDF / Print layout */
.ca-pdf-root {
    width: 100%;
    display: block;
    margin: 0 auto;
}

.ca-pdf-header {
    font-size: 24px;
    text-align: center;
}

.ca-pdf-sub-header {
    font-size: 20px;
    margin-bottom: 15px;
    text-align: center;
}

.ca-pdf-root table {
    margin-left: auto !important;
    margin-right: auto !important;
    width: auto !important;
    max-width: 100%;
    border-collapse: separate !important;
    border-spacing: 0 !important;
}

.ca-pdf-root th,
.ca-pdf-root td {
    border: 1px solid #dee2e6 !important;
    padding-top: 6px !important;
    padding-bottom: 6px !important;
    vertical-align: middle !important;
    line-height: 1.2 !important;
}

.ca-pdf-root .d-flex {
    gap: 4px !important;
}

.ca-pdf-root tr {
    page-break-inside: avoid;
}

/* Badge colors for the cloned table (scoped ancestor #community-admin is lost in the PDF clone) */
.ca-pdf-root .badge {
    padding: 4px 6px !important;
}

.ca-pdf-root .no-tempo {
    background: #b6b2b2 !important;
    color: #fff !important;
}

.ca-pdf-root .na-badge {
    background: #ff5b57 !important;
    color: #fff !important;
}

.ca-pdf-root .ca-ehr-badge {
    background-color: #17a2b8 !important;
    color: #fff !important;
}

.ca-pdf-root .bg-info {
    background-color: #17a2b8 !important;
    color: #fff !important;
}

/* Search input with icon/clear button */
.ca-toolbar-right {
    flex: 1;
    justify-content: flex-end;
}

.ca-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    flex: 0 0 auto;
    width: 240px;
}

.ca-search-input {
    padding-right: 32px;
    width: 100%;
}

.ca-search-icon {
    position: absolute;
    right: 10px;
    color: #aaa;
    pointer-events: none;
    font-size: 14px;
}

.ca-search-clear {
    position: absolute;
    right: 8px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    color: #888;
    padding: 0;
    line-height: 1;
}

.ca-search-clear:hover {
    color: #333;
}

/* Spinner / retry full-row cell */
.ca-table-state-cell {
    text-align: center;
    padding: 24px 0;
}

.ca-retry-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 6px 14px;
    cursor: pointer;
    color: #555;
    font-size: 14px;
}

.ca-retry-btn:hover {
    background-color: #f5f5f5;
    border-color: #999;
}

.ca-firstname-avatar {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.ca-firstname-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: #D9D9D9;
    color: #555;
    font-size: 14px;
    font-weight: bold;
    text-transform: uppercase;
    flex-shrink: 0;
}

.ca-ehr-badge {
    background-color: #17a2b8;
    color: #fff;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 4px;
}

.ca-external-admin-wrapper {
    position: relative;
    display: inline-block;
    margin-left: 6px;
    vertical-align: middle;
}

.ca-external-admin-icon {
    width: 16px;
    height: 16px;
    cursor: pointer;
    vertical-align: middle;
}

.ca-external-admin-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    left: 0;
    z-index: 1100;
    background: #fff;
    border: 1px solid #dee2e6;
    border-radius: 6px;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
    padding: 10px 14px;
    min-width: 220px;
    font-size: 13px;
    white-space: nowrap;
}

#community-admin .custom-table-body tr:last-child .ca-external-admin-dropdown {
    top: auto;
    bottom: calc(100% + 4px);
}

.ca-ext-close-btn {
    position: absolute;
    top: 6px;
    right: 8px;
    background: none;
    border: none;
    font-size: 16px;
    cursor: pointer;
    line-height: 1;
    color: #666;
    padding: 0;
}

.ca-ext-close-btn:hover {
    color: #000;
}

.ca-ext-source-name {
    font-weight: 700;
    margin-bottom: 4px;
    padding-right: 18px;
}

.ca-ext-divider {
    margin: 4px 0;
    border-top: 1px solid #eee;
}

.ca-ext-field-row {
    margin: 3px 0;
}
#community-admin-form {
    .col-form-label {
        font-weight: 600;
        text-align: end;
    }
}
#community-admin-form .community-admin-tempo-select {
    width: 100%;
}

#community-admin-form .community-admin-tempo-select .rs__control {
    border: 1px solid #ced4da !important;
    box-shadow: none !important;
    font-size: 1rem;
}

#community-admin-form .community-admin-tempo-select .rs__control:hover {
    border-color: #ced4da !important;
}

#community-admin-form .community-admin-tempo-select .rs__control--is-focused,
#community-admin-form .community-admin-tempo-select .rs__control--is-focused:hover {
    border-color: #f59325 !important;
    box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.25) !important;
}

#community-admin-form .community-admin-tempo-select .rs__control--is-disabled {
    background-color: #e9ecef !important;
    pointer-events: auto !important;
    cursor: not-allowed !important;
}

#community-admin-form .community-admin-tempo-select .rs__control--is-disabled * {
    cursor: not-allowed !important;
}

#community-admin-form .community-admin-tempo-select .rs__control--is-disabled .rs__single-value--is-disabled {
    color: #212529 !important;
    font-size: 1rem;
}

#community-admin-form .community-admin-tempo-select .rs__option--is-focused {
    background-color: rgba(245, 147, 37, 0.15) !important;
    color: #212529 !important;
}

#community-admin-form .community-admin-tempo-select .rs__option--is-selected,
#community-admin-form .community-admin-tempo-select .rs__option--is-selected.rs__option--is-focused {
    background-color: #f59325 !important;
    color: #fff !important;
}

#community-admin-form .form-check-input.custom-checkbox {
    width: 20px;
    height: 20px;
    border: 1px solid #6c757d;
    accent-color: #0d6efd;
    cursor: pointer;
}

#community-admin-form .form-check-input.custom-checkbox:checked {
    border-color: #0d6efd;
    background-color: #0d6efd;
}

#community-admin-form .form-check-input.custom-checkbox:disabled {
    cursor: not-allowed;
    pointer-events: none;
    opacity: 0.6;
}

#community-admin-form :has(> .form-check-input.custom-checkbox:disabled) {
    cursor: not-allowed;
}

#community-admin-form .form-check-input.custom-checkbox:disabled ~ .form-check-label {
    cursor: not-allowed;
}

#ars-report-panel {
    width: 100%;
    border-radius: 10px;
    margin: 0 auto;
    background-color: white !important;
    align-items: center;
}

.ars-filter-print,
.ars-filter-download img {
    cursor: pointer;
}

/* Spinner shown in place of the Print/PDF icon while a report is being generated */
.ars-filter-spinner {
    font-size: 24px;
    color: #6c757d;
}

.ars-filter-excel img {
    cursor: pointer;
    height: 30px;
    width: 30px;
}

.ars-interaction-container {
    width: 100%;
    background-color: white !important;
}

.ars-interaction-header-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.ars-interaction-header {
    font-size: 16px;
}

.ars-interaction-body {
    padding: 20px;
}

.ars-search-wrapper {
    position: relative;
}

.ars-interaction-search {
    width: 280px;
    padding: 0.5rem 0.75rem;
    font-size: 13px;
    border: 1px solid #ccc;
    border-radius: 6px;
    transition: all 0.2s ease-in-out;
    height: 30px;
}

.ars-interaction-search:focus {
  outline: none;
  border-color: #f59325;
  box-shadow: 0 0 0 0.15rem rgba(245, 147, 37, 0.2);
}

.ars-search-close {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    border: none;
    background: transparent;
    font-size: 20px;
}

.ars-empty-suite {
    font-weight: 500;
    font-size: 14px;
    padding: 5px 15px;
    display: inline-block;
}

.ars-badge {
    background-color: #FFF4E7 !important;
    color: #4e5760;
    font-weight: 500;
    font-size: 14px;
    padding: 5px 10px;
    border-radius: 5px;
    display: inline-block;
}

.ars-row-hover {
    transition: background-color 0.2s ease-in-out;
    cursor: pointer;
}

.ars-status-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    font-size: 14px !important;
    font-weight: 500;
    color: white;
    font-family: 'Segoe UI', sans-serif;
}

.ars-status-yes {
    background-color: #f59e0b;
}

.ars-status-no {
    background-color: #D9D9D9;
    color: #6D6A6A;
}

.ars-check,
.ars-x i {
    color: white !important;
}

#ars-table-body {
    margin-top: 20px;
    max-height: 500px;
    overflow-y: auto;
}

/* Keeps the table header pinned while the body scrolls */
#ars-table-body .custom-table > thead.header > tr > th {
    position: sticky;
    top: 0;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.ars-white-tooltip {
    background-color: white !important;
    color: black !important;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 8px 10px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    font-size: 13px !important;
}
.interaction-container {
    margin-top: 20px;
}

.resident-header {
    font-size: 16px;
    font-weight: 600;
    color: #333;
    margin-bottom: 10px;
}

.interaction-card {
    background: #fff;
    border-radius: 10px;
    padding: 20px;
    border: 1px solid #e0e0e0;
}

.on-demand-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
    flex-wrap: wrap;
    gap: 10px;
}

.resident-section-title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    display: flex;
    align-items: center;
    gap: 8px;
}

.resident-section-title.with-circle .circle-indicator {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background-color: #f59325;
    display: inline-block;
    flex-shrink: 0;
}

.custom-chart-legend {
    display: flex;
    align-items: center;
    gap: 16px;
}

/* Sort toolbar replacing the plain legend */
.chart-sort-toolbar {
    display: flex;
    align-items: center;
    gap: 20px;
    flex-wrap: wrap;
}

.sort-section {
    display: flex;
    align-items: center;
    gap: 8px;
}

.sort-title {
    font-size: 12px;
    color: #555;
    white-space: nowrap;
}

.segment-control {
    display: flex;
    border: 1px solid #ddd;
    border-radius: 6px;
    overflow: hidden;
}

.segment-btn {
    padding: 3px 10px;
    font-size: 11px;
    background: #fff;
    border: none;
    cursor: pointer;
    color: #666;
    transition: background 0.15s, color 0.15s;
    line-height: 1.6;
}

.segment-btn:not(:last-child) {
    border-right: 1px solid #ddd;
}

.segment-btn.active {
    background: #f59325;
    color: #fff;
    font-weight: 600;
}

.segment-btn:hover:not(.active) {
    background: #fdf0e0;
}

.legend-item {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 12px;
    color: #555;
}

.legend-color {
    width: 14px;
    height: 14px;
    border-radius: 3px;
    display: inline-block;
    flex-shrink: 0;
}

.legend-color.previous {
    background-color: rgba(246, 159, 60, 0.25);
    border: 1.5px dashed rgba(255, 165, 0, 1);
}

.legend-color.current {
    background-color: rgba(246, 159, 60, 1);
    border-radius: 3px;
}

.interaction-chart {
    position: relative;
    height: 500px;
    width: 100%;
    overflow: hidden;
}

.graph-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 200px;
    font-size: 14px;
    color: #888;
    text-align: center;
    border-radius: 8px;
    padding: 16px;
}

/* Custom tooltip positioned absolutely over the chart */
.chart-tooltip {
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 6px;
    padding: 8px 12px;
    font-size: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    pointer-events: none;
    white-space: nowrap;
    z-index: 100;
}

.chart-tooltip-title {
    font-size: 13px;
    margin-bottom: 6px;
    color: #333;
}

.chart-tooltip-line {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    color: #555;
    margin-bottom: 4px;
    line-height: 1.4;
}

.color-box {
    width: 12px;
    height: 12px;
    border-radius: 2px;
    display: inline-block;
    flex-shrink: 0;
    margin-top: 2px;
}

.color-box.previous-period {
    background-color: rgba(246, 159, 60, 0.25);
    border: 1.5px dashed rgba(255, 165, 0, 1);
}

.color-box.default-period {
    background-color: rgba(246, 159, 60, 1);
}

/* Chart scrollbar track */
.interaction-chart-scrollbar {
    width: 100%;
    height: 12px;
    overflow-x: scroll;
    box-sizing: border-box;
    margin-top: 6px;
    background: #f0f0f0;
    border-radius: 6px;
    cursor: pointer;
}

.interaction-chart-scrollbar::-webkit-scrollbar {
    height: 8px;
}

.interaction-chart-scrollbar::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 6px;
}

.interaction-chart-scrollbar::-webkit-scrollbar-thumb {
    background: #ccc;
    border-radius: 6px;
}

.interaction-chart-scrollbar::-webkit-scrollbar-thumb:hover {
    background: #f59325;
}

.interaction-chart-scrollbar-inner {
    height: 1px;
}

/* ── Responsive overrides ─────────────────────────────────────── */
@media (max-width: 768px) {
    .interaction-card {
        padding: 14px;
    }

    .interaction-chart {
        height: 340px;
    }

    .on-demand-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .custom-chart-legend {
        gap: 10px;
    }

    .chart-sort-toolbar {
        gap: 12px;
    }
}

@media (max-width: 480px) {
    .interaction-chart {
        height: 260px;
    }

    .interaction-card {
        padding: 10px;
    }

    .resident-header {
        font-size: 14px;
    }

    .custom-chart-legend {
        flex-wrap: wrap;
        gap: 8px;
    }

    .chart-sort-toolbar {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

#rct-report-panel {
    width: 100%;
    border-radius: 10px;
    margin: 0 auto;
    background-color: white !important;
    align-items: center;
}

/* Wrapper: position relative so the hidden picker popup is anchored here */
.rct-date-picker-wrapper {
    position: relative;
}

/* Custom trigger button that replaces the antd input */
.rct-date-input-container {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 7px 12px;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    background: #fff;
    cursor: pointer;
    user-select: none;
    min-width: 320px;
    max-width: 100%;
    transition: border-color 0.2s;
    position: relative;
}

.rct-date-input-container:hover {
    border-color: #f59325;
}

/* Tooltip shown on hover */
.rct-date-input-container[data-tooltip]::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: calc(100% + 8px);
    left: 50%;
    transform: translateX(-50%);
    background: #ffffff;
    color: #000000;
    font-size: 12px;
    font-weight: 400;
    white-space: nowrap;
    padding: 5px 10px;
    border-radius: 4px;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s ease;
    z-index: 9999;
}

/* Arrow below the tooltip */
.rct-date-input-container[data-tooltip]::before {
    content: "";
    position: absolute;
    bottom: calc(100% + 2px);
    left: 50%;
    transform: translateX(-50%);
    border: 5px solid transparent;
    border-top-color: #333;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.15s ease;
    z-index: 9999;
}

.rct-date-input-container[data-tooltip]:hover::after,
.rct-date-input-container[data-tooltip]:hover::before {
    opacity: 1;
}

/* Calendar icon inside the trigger */
.rct-calendar-icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

/* Text label / selected date range text */
.rct-date-label {
    flex: 1;
    font-size: 13px;
    color: #555;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* Chevron icon */
.rct-chevron {
    font-size: 11px;
    color: #888;
}

/* Completely hide the antd range picker input — only the popup is used */
/* (no longer needed — kept as placeholder) */

/* Inline calendar popup anchored below the trigger */
.rct-calendar-popup {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 1000;
    background: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(0, 0, 0, 0.12);
    overflow: visible;
    min-width: 320px;
    width: max-content;
}

/* antd mini calendar sizing inside the popup */
.rct-calendar-popup .ant-picker-calendar {
    width: 300px;
    padding: 4px 8px 8px;
    background: transparent;
}

.rct-calendar-popup .ant-picker-panel {
    border-top: none;
    background: transparent;
}

.rct-calendar-popup .ant-picker-content th {
    color: #aaa;
    font-size: 12px;
    font-weight: 500;
}

/* Remove border/shadow from the inner PrimeReact calendar since popup handles it */
.rct-calendar-popup .p-calendar,
.rct-calendar-popup .p-datepicker {
    border: none !important;
    box-shadow: none !important;
    font-family: inherit;
    width: 100% !important;
    min-width: 300px;
}

/* Header row (month/year nav) */
.rct-calendar-popup .p-datepicker-header {
    background: #fff !important;
    border-bottom: 1px solid #f0f0f0 !important;
    padding: 10px 12px !important;
}

.rct-calendar-popup .p-datepicker-title {
    font-size: 14px;
    font-weight: 600;
    color: #333;
}

/* Nav arrows */
.rct-calendar-popup .p-datepicker-prev,
.rct-calendar-popup .p-datepicker-next {
    color: #f59325 !important;
    border-radius: 50% !important;
    width: 28px !important;
    height: 28px !important;
    transition: background 0.15s;
}

.rct-calendar-popup .p-datepicker-prev:hover,
.rct-calendar-popup .p-datepicker-next:hover {
    background: #fff4e5 !important;
}

/* Day-of-week header */
.rct-calendar-popup .p-datepicker-calendar thead th {
    color: #aaa;
    font-size: 12px;
    font-weight: 500;
    text-align: center;
    padding: 4px 0;
}

/* Each day cell — extra horizontal spacing */
.rct-calendar-popup .p-datepicker-calendar td {
    padding: 2px 6px;
}

.rct-calendar-popup .p-datepicker-calendar td > span {
    width: 34px;
    height: 34px;
    border-radius: 3px;
    font-size: 13px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.15s, color 0.15s;
}

/* Hover on non-selected day */
.rct-calendar-popup .p-datepicker-calendar td:not(.p-highlight) > span:hover {
    background: #fff4e5 !important;
    color: #f59325 !important;
    border-radius: 3px !important;
}

/* Selected start / end day — target both td and its children for full coverage */
.rct-calendar-popup .p-datepicker-calendar td.p-highlight,
.rct-calendar-popup .p-datepicker-calendar td.p-highlight > span,
.rct-calendar-popup .p-datepicker-calendar td.p-highlight > a,
.rct-calendar-popup .p-datepicker-calendar .p-highlight > .p-ripple,
.rct-calendar-popup .p-datepicker-calendar td.p-datepicker-today.p-highlight > span,
.rct-calendar-popup .p-datepicker table td > span.p-highlight {
    background: #f59325 !important;
    background-color: #f59325 !important;
    color: #fff !important;
    border-radius: 3px !important;
    font-weight: 600;
    border-color: #f59325 !important;
}

/* In-range days */
.rct-calendar-popup .p-datepicker-calendar td.p-datepicker-today:not(.p-highlight) > span {
    border: 1.5px solid #f59325;
    color: #f59325;
    font-weight: 600;
    background: transparent;
}

/* Disabled / out-of-range days */
.rct-calendar-popup .p-datepicker-calendar td.p-disabled > span {
    opacity: 0.35;
    cursor: not-allowed;
}

/* Footer row inside the date range popup */
.rct-range-footer {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    padding: 8px 12px 6px;
    border-top: 1px solid #f0f0f0;
    margin-top: 4px;
}

/* Cancel button */
.rct-cancel-btn {
    padding: 6px 18px;
    border: 1.5px solid #bbb;
    border-radius: 5px;
    background: #fff;
    color: #444;
    cursor: pointer;
    font-size: 13px;
    font-weight: 500;
    line-height: 1.4;
    transition: border-color 0.2s, color 0.2s;
}

.rct-cancel-btn:hover {
    border-color: #f59325;
    color: #f59325;
}

/* Apply button */
.rct-apply-btn {
    padding: 6px 18px;
    border: none;
    border-radius: 5px;
    background: #f59325;
    color: #fff;
    cursor: pointer;
    font-size: 13px;
    font-weight: 600;
    line-height: 1.4;
    box-shadow: 0 2px 6px rgba(245, 147, 37, 0.35);
    transition: background 0.2s, box-shadow 0.2s;
}

.rct-apply-btn:hover {
    background: #d97d10;
    box-shadow: 0 2px 8px rgba(217, 125, 16, 0.45);
}

/* ── Responsive overrides ─────────────────────────────────────── */
@media (max-width: 768px) {
    .rct-date-input-container {
        min-width: 0;
        width: 100%;
    }

    .rct-calendar-popup {
        left: 0;
        right: 0;
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .rct-calendar-popup .p-calendar,
    .rct-calendar-popup .p-datepicker {
        min-width: 0 !important;
    }
}

@media (max-width: 480px) {
    .rct-date-label {
        font-size: 11px;
    }

    .rct-range-footer {
        flex-direction: column;
        align-items: stretch;
    }

    .rct-cancel-btn,
    .rct-apply-btn {
        width: 100%;
        text-align: center;
    }
}

/* ---- Print / Email / Schedule bar ---- */
.rct-pes-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.rct-pes-item {
    position: relative;
}

.rct-pes-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background-color: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    padding: 0;
}

.rct-pes-icon-btn:hover,
.rct-pes-icon-btn--active {
    border-color: #f59325;
    background-color: #fff7f0;
}

.rct-pes-icon-btn--disabled {
    cursor: not-allowed;
    opacity: 0.5;
    pointer-events: none;
}

.rct-pes-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.rct-pes-tooltip {
    position: absolute;
    bottom: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-bottom: 5px;
    padding: 2px 8px;
    background: #fff;
    color: #000;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 12px;
    white-space: nowrap;
    pointer-events: none;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    z-index: 100;
}

.rct-pes-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    min-width: 120px;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    z-index: 1050;
    overflow: hidden;
}

.rct-pes-dropdown-item {
    width: 100%;
    border: none;
    background: #fff;
    padding: 9px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
    color: #333;
    text-align: left;
}

.rct-pes-dropdown-item:hover {
    background: #fff7f0;
}

.rct-pes-dropdown-icon {
    width: 16px;
    height: 16px;
}

.rct-pes-message {
    position: absolute;
    top: 110%;
    right: 0;
    z-index: 1051;
    background: #fff3cd;
    border: 1px solid #ffc107;
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 12px;
    color: #856404;
    white-space: nowrap;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.rct-pes-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
}

.rct-pes-overlay-box {
    background: #fff;
    border-radius: 8px;
    padding: 24px 36px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.rct-pes-overlay-box p {
    margin: 12px 0 0;
    font-weight: 500;
}

.rct-pes-spinner {
    width: 36px;
    height: 36px;
    margin: 0 auto;
    border: 4px solid #f3f3f3;
    border-top-color: #f59325;
    border-radius: 50%;
    animation: rct-pes-spin 0.8s linear infinite;
}

@keyframes rct-pes-spin {
    to { transform: rotate(360deg); }
}

.rts-notes {
    color: #f59c1a;
}

.rts-custom-table {
    border-collapse: collapse;
}

.rts-custom-table th,
.rts-custom-table td {
    border: 1px solid #989898;
}

.rts-custom-table>thead>tr>th {
    background: #E6E6E6 !important;
    font-size: 14px !important;
    color: #565656 !important;
    font-weight: 600;
    overflow-wrap: break-word;
    hyphens: auto;
    padding: 8px 10px;
    line-height: 1.4;
    white-space: normal;
}

.rts-group-header {
    text-align: center;
    vertical-align: middle;
    font-weight: 600;
    border-bottom: 1px solid #989898 !important;
}

.rts-sub-header {
    text-align: center;
    font-size: 13px;
    border-top: 0;
}

.header th {
    background-color: #f8f9fa;
}

#rts-body .rts-custom-row td {
    font-size: 11px !important;
}

#rts-form input:disabled,
#rts-form select:disabled,
#rts-form textarea:disabled {
    cursor: not-allowed;
}

.rts-checkbox-wrapper {
    display: flex;
    align-items: center;
    gap: 6px;
}

.rts-checkbox-wrapper:has(.rts-checkbox:disabled) {
    cursor: not-allowed;
}

.rts-checkbox-wrapper input {
    margin: 0;
}

.rts-checkbox-wrapper label {
    margin: 0;
}

.rts-checkbox-wrapper input[type="checkbox"]:not(:disabled),
.rts-checkbox-wrapper input[type="checkbox"]:not(:disabled) + label,
.rts-custom-form-check-radio input[type="radio"]:not(:disabled),
.rts-custom-form-check-radio input[type="radio"]:not(:disabled) + label,
#rts-form .form-check > input[type="radio"]:not(:disabled),
#rts-form .form-check > input[type="radio"]:not(:disabled) + label {
    cursor: pointer;
}

.rts-checkbox-wrapper input[type="checkbox"]:disabled,
.rts-checkbox-wrapper input[type="checkbox"]:disabled + label,
.rts-custom-form-check-radio input[type="radio"]:disabled,
.rts-custom-form-check-radio input[type="radio"]:disabled + label,
#rts-form .form-check > input[type="radio"]:disabled,
#rts-form .form-check > input[type="radio"]:disabled + label {
    cursor: not-allowed;
}

.rts-checkbox-label-fall-detection-sensitivity {
    font-weight: 600;
    font-size: 11px;
    color: #707478;
}

.rts-custom-form-check {
    margin-bottom: 0 !important;
    min-height: 0 !important;
}

.rts-custom-form-select {
    width: 110px !important;
    min-width: 110px;
    height: 30px;
    font-size: 11px !important;
    padding: 2px 24px 2px 8px !important;
    background-position: right 6px center;
    line-height: 1.4;
    text-align: left;
    text-align-last: left;
}

.rts-time-select-invalid {
    border-color: #dc3545 !important;
    box-shadow: none !important;
}

.rts-no-movement-timeframes {
    width: 100%;
}

.rts-bathroom-timeframes {
    width: 100%;
}

.rts-bathroom-timeframe-error {
    width: 100%;
    text-align: center;
}

.rts-custom-form-check-radio {
    display: flex;
    align-items: center;
    gap: 6px;
}

.rts-custom-form-check-radio {
    margin: 0;
}
.rts-role-four-header {
    margin-top: 0;
}

.rts-back-button {
    min-width: 160px;
}

#rts-role-four-view > [class*="col-"] {
    display: flex;
}

#rts-role-four-view .card {
    width: 100%;
}

.rts-readonly-panel {
    display: flex;
    flex-direction: column;
    gap: 11px;
    padding: 12px 24px 18px;
}

.rts-readonly-row {
    display: grid;
    grid-template-columns: minmax(150px, 25%) minmax(0, 1fr);
    align-items: center;
    gap: 16px;
}

.rts-readonly-row > label {
    margin: 0;
    text-align: right;
}

.rts-readonly-row .form-control:disabled {
    color: #929292;
    background-color: #eceff1;
    cursor: not-allowed;
    opacity: 1;
}

.rts-readonly-options {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 18px;
}

.rts-readonly-options label,
.rts-readonly-options input:disabled {
    margin: 0;
    cursor: not-allowed;
}

.rts-resident-image-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 105px;
}

.rts-resident-image {
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
}

@media (max-width: 767px) {
    .rts-role-four-header .col-12 {
        align-items: stretch !important;
        flex-direction: column;
    }

    .rts-back-button {
        width: 100%;
    }

    .rts-readonly-row {
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .rts-readonly-row > label {
        text-align: left;
    }
}
.rts-settings-fieldset {
    min-width: 0;
    width: 100%;
    margin: 0;
    padding: 0;
    border: 0;
}

#rts-form.rts-role-four-settings {
    margin-top: 0 !important;
}

#rts-form.rts-role-four-settings .rts-main-details-card,
#rts-form.rts-role-four-settings .rts-form-actions {
    display: none !important;
}

#rts-form.rts-role-four-settings :disabled,
#rts-form.rts-role-four-settings label {
    cursor: not-allowed !important;
}

.rts-tempo-select {
    width: 100%;
}

.rts-tempo-select .rs__control {
    border: 1px solid #ced4da !important;
    box-shadow: none !important;
}

.rts-tempo-select .rs__control:hover {
    border-color: #ced4da !important;
}

.rts-tempo-select .rs__control--is-disabled {
    background-color: #e9ecef !important;
}

.rts-tempo-select .rs__single-value,
.rts-tempo-select .rs__single-value--is-disabled {
    color: #212529 !important;
}

.rts-tempo-select .rs__input-container,
.rts-tempo-select .rs__input {
    color: #212529 !important;
}

.rts-tempo-select .rs__control--is-focused,
.rts-tempo-select .rs__control--is-focused:hover {
    border-color: #f59325 !important;
    box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.25) !important;
}

.rts-tempo-select .rs__option--is-focused {
    background-color: rgba(245, 147, 37, 0.15) !important;
    color: #212529 !important;
}

.rts-tempo-select .rs__option--is-selected,
.rts-tempo-select .rs__option--is-selected.rs__option--is-focused {
    background-color: #f59325 !important;
    color: #fff !important;
}
#community-settings {
    .tab-component-container {
        min-height: calc(100vh - 300px);
    }
}

/* Hide escalation edit icons for read-only (role 5) users */
.escalation-readonly .escalation-edit-icon {
    display: none;
}

/* Alert Configuration Settings */
#alert-configuration-settings,
#tempo-light-tone {
    /* Optimize rendering performance */
    contain: layout style paint;

    /* Add instant visual feedback for interactions */
    input[type="radio"],
    input[type="checkbox"] {
        cursor: pointer;
        transition: none;
        /* Remove any transitions that cause lag */
    }

    input[type="radio"]:disabled,
    input[type="checkbox"]:disabled,
    input[type="radio"]:disabled ~ .form-check-label,
    input[type="checkbox"]:disabled ~ .form-check-label,
    input[type="radio"]:disabled ~ .form-check-label *,
    input[type="checkbox"]:disabled ~ .form-check-label * {
        cursor: not-allowed !important;
    }
    input[type="radio"]:checked,
    input[type="checkbox"]:checked {
        /* Instant visual feedback */
        transform: scale(1);
    }

    .main-section {
        margin-left: 25px;
    }

    .primary-header label {
        color: #242a30;
        font-size: 18px;
        text-decoration: underline;
    }

    .secondary-header label {
        color: #242a30;
        font-size: 16px;
        font-weight: bold;
    }

    .secondary-header p {
        font-weight: bold;
    }

    .not-out-of-bed-alert-title {
        color: #242a30;
        text-decoration: underline;
    }
    .alert-subtitle-underlined {
        color: #242a30;
        text-decoration: underline;
    }

    .button-press-alert-settings,
    .call-device-alert-settings,
    .fall-detection-alert-settings,
    .fall-detection-sensitivity,
    .door-window-sensor-alert,
    .fall-alert-settings,
    .geofence-alert,
    .no-movement-selection,
    .check-in-motion,
    .sleep-pattern-settings,
    .low-battery-alert-settings,
    .tempo-not-connected-alert-settings,
    .enabled-disable-alerts,
    .population-summary-risk-category,
    .button-press-selection,
    .tempo-button-press-tone,
    .button-press-alert-sent-tempo-lights {
        .form-check-label {
            font-weight: 400;
            color: #242a30;
            cursor: pointer;
        }

        .sub-section {
            margin-left: 25px;
        }

        .sub-sub-section {
            margin-left: 45px;
        }

        /* Larger checkbox styling */
        .largerCheckbox {
            width: 20px;
            height: 20px;
            cursor: pointer;
        }

        /* Custom select dropdown styling */
        select.form-control {
            appearance: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 24 24%27 fill=%27none%27 stroke=%27currentColor%27 stroke-width=%272%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpolyline points=%276 9 12 15 18 9%27%3e%3c/polyline%3e%3c/svg%3e");
            background-repeat: no-repeat;
            background-position: right 0.5rem center;
            background-size: 1.2em;
            padding-right: 2.5rem;
        }
    }
}

.call-device-alert-settings {
    .multi-select-wrapper {
        position: relative;
        width: 100%;
    }

    .multi-select-input {
        border: 1px solid #ced4da;
        min-height: 38px;
        padding: 4px 8px;
        background: #fff;
        display: flex;
        flex-wrap: wrap;
        gap: 4px;
        border-radius: 4px;
        align-items: center;
    }

    .multi-select-input:hover {
        border-color: #b3b3b3;
    }

    .multi-select-input.disabled {
        background: #e9ecef;
        cursor: not-allowed;
        color: #6c757d;
    }

    .multi-select-input.error-border {
        border-color: #dc3545 !important;
        border-width: 2px;
    }

    .multi-select-placeholder {
        color: #6c757d;
        user-select: none;
    }

    .multi-select-chip {
        background: #f0f4ff;
        border: 1px solid #d6dffe;
        padding: 2px 6px;
        border-radius: 12px;
        font-size: 13px;
        display: flex;
        align-items: center;
        gap: 6px;
    }

    .multi-select-chip-remove {
        font-size: 13px;
        line-height: 1;
        cursor: pointer;
        padding: 0 2px;
    }

    .multi-select-chip-remove:hover {
        color: #d9534f;
    }

    .multi-select-dropdown {
        position: absolute;
        top: 100%;
        left: 0;
        width: 100%;
        background: white;
        border: 1px solid #ced4da;
        border-radius: 4px;
        margin-top: 2px;
        max-height: 200px;
        overflow-y: auto;
        z-index: 1000;
    }

    .multi-select-option {
        padding: 8px 10px;
        cursor: pointer;
        font-size: 14px;
    }

    .multi-select-option:hover {
        background: #f7f9ff;
    }

    .multi-select-no-more {
        padding: 8px 10px;
        color: #6c757d;
        background: #fafafa;
        font-size: 13px;
    }
}

/* Admin-Staff-Visitor */
#admin-staff-visitor-container {

    .form-check-input {
        cursor: pointer;
    }

    .form-check-label {
        cursor: pointer;
    }

    .form-check-input:disabled {
        pointer-events: auto;
        cursor: not-allowed;
    }

    .form-check-input:disabled~.form-check-label {
        cursor: not-allowed;
    }

    .admin-tempo-settings-body,
    .staff-tempo-settings-body,
    .visitor-tempo-settings-body {
        .checkbox {
            margin-left: 30px;
        }

        .form-check-label {
            font-weight: 400;
            color: #242a30;
        }

        .sub-section {
            margin-left: 25px;
        }

        .sub-sub-section {
            margin-left: 45px;
        }
    }
}

/* Careguide Devices */
#careguide-devices {
    .careguide-card {
        border: none;
    }

    .careguide-section {
        margin-bottom: 28px;
    }

    .careguide-section:last-child {
        margin-bottom: 0;
    }

    .careguide-section-head {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 12px;
        padding-bottom: 10px;
        margin-bottom: 16px;
        border-bottom: 1px solid #e6e8eb;
    }

    .careguide-section-title {
        margin: 0;
        padding: 8px 16px;
        border-radius: 8px;
        border-left: 4px solid #f59325;
        font-size: 16px;
        font-weight: 700;
        color: #242a30;
        background: linear-gradient(90deg, rgba(245, 147, 37, 0.14), rgba(245, 147, 37, 0.04));
    }

    .careguide-add-btn {
        min-width: 200px;
        min-height: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        white-space: nowrap;
    }

    .careguide-integration {
        position: relative;
        height: 100%;
        padding: 20px 22px;
        border: 1px solid #e6e8eb;
        border-left: 4px solid #f59325;
        border-radius: 12px;
        background: #fff;
        box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06), 0 1px 2px rgba(16, 24, 40, 0.04);
    }

    .careguide-integration-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
        margin-bottom: 16px;
    }

    .careguide-integration-title {
        display: flex;
        align-items: center;
        gap: 8px;
        font-size: 14px;
        font-weight: 700;
        color: #242a30;
    }

    .careguide-new-badge {
        padding: 2px 8px;
        border-radius: 10px;
        font-size: 11px;
        font-weight: 600;
        color: #f59325;
        background: rgba(245, 147, 37, 0.12);
    }

    .careguide-delete-btn {
        height: 36px;
        width: 36px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: none;
        border-radius: 8px;
        background: transparent;
        color: #dc3545;
        font-size: 15px;
        line-height: 1;
        cursor: pointer;
        transition: background-color 0.15s ease;
    }

    .careguide-delete-btn:hover {
        background-color: rgba(220, 53, 69, 0.1);
    }

    .careguide-field {
        margin-bottom: 14px;
    }

    .careguide-field:last-child {
        margin-bottom: 0;
    }

    .careguide-label {
        display: inline-block;
        font-weight: 600;
        font-size: 13px;
        color: #495057;
        margin-bottom: 6px;
        letter-spacing: 0.2px;
    }

    .star-red {
        color: #dc3545;
        margin-left: 2px;
    }

    .careguide-integration .form-control,
    .careguide-integration .form-select {
        width: 100%;
        height: 40px;
        border: 1px solid #d0d5dd;
        border-radius: 8px;
        padding: 8px 12px;
        font-size: 14px;
        color: #242a30;
        background-color: #fff;
        box-shadow: none;
        transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

    .careguide-integration .form-select {
        padding-right: 34px;
        text-overflow: ellipsis;
    }

    .careguide-integration .form-control:hover,
    .careguide-integration .form-select:hover {
        border-color: #b0b6be;
    }

    .careguide-integration .form-control:focus,
    .careguide-integration .form-select:focus {
        border-color: #f59325;
        box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
        outline: none;
    }

    .careguide-integration .form-control:disabled,
    .careguide-integration .form-select:disabled {
        background: #e5e9ed;
        opacity: 0.7;
        cursor: not-allowed;
    }

    .careguide-integration .form-control.is-invalid,
    .careguide-integration .form-select.is-invalid {
        border-color: #dc3545;
    }

    .careguide-integration .form-control.is-invalid:focus,
    .careguide-integration .form-select.is-invalid:focus {
        box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15);
    }

    .careguide-integration .invalid-feedback {
        font-size: 12px;
        margin-top: 4px;
    }

    .careguide-note {
        margin: 12px 0 0 0;
        font-style: italic;
        color: #666;
        font-size: 12px;
    }

    .careguide-empty-type {
        padding: 16px;
        border: 1px dashed #d0d5dd;
        border-radius: 10px;
        color: #6c757d;
        font-size: 14px;
        text-align: center;
        background: #fafbfc;
    }

    .careguide-empty-all {
        margin-top: 20px;
        font-size: 18px;
        color: #6c757d;
    }
}


/* Pager Devices - Green Toggle Switch */
#tempo-waveware,
#alis_integration_panel,
#pcc_integration_panel {
    .switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
        vertical-align: middle;
    }

    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

    .slider-green {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ccc;
        transition: 0.4s;
    }

    .slider-green:before {
        position: absolute;
        content: "";
        height: 14px;
        width: 14px;
        left: 3px;
        bottom: 3px;
        background-color: white;
        transition: 0.4s;
    }

    input:checked+.slider-green {
        background-color: #28a745;
    }

    input:focus+.slider-green {
        box-shadow: 0 0 1px #28a745;
    }

    input:checked+.slider-green:before {
        transform: translateX(20px);
    }

    .slider-green.round {
        border-radius: 20px;
    }

    .slider-green.round:before {
        border-radius: 50%;
    }

    /* Pager Hub Layout */
    .waveware_integration {
        position: relative;
        padding: 22px 26px;
        border: 1px solid #e6e8eb;
        border-left: 4px solid #f59325;
        border-radius: 12px;
        margin: 0 0 20px 0;
        background: #fff;
        box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06), 0 1px 2px rgba(16, 24, 40, 0.04);
    }

    .wareWareContainer {
        display: flex;
        gap: 32px;
        width: 100%;
        align-items: flex-start;
        padding: 0;
    }

    .column {
        display: flex;
        flex-direction: column;
    }

    .column.left {
        flex: 0 0 25%;
    }

    .column.middle {
        flex: 1;
    }

    .column.right {
        flex: 0 0 15%;
        display: flex;
        align-items: flex-end;
        justify-content: flex-start;
    }

    .add_pager_id_btn {
        min-width: 120px;
        padding: 6px 12px;
        white-space: nowrap;
    }

    .waveware_integration label {
        display: inline-block;
        font-weight: 600;
        font-size: 13px;
        color: #495057;
        margin-bottom: 6px;
        letter-spacing: 0.2px;
    }

    .waveware_integration .form-control,
    .waveware_integration .form-select {
        height: 40px;
        border: 1px solid #d0d5dd;
        border-radius: 8px;
        padding: 8px 12px;
        font-size: 14px;
        color: #242a30;
        background-color: #fff;
        box-shadow: none;
        transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

    .waveware_integration .form-select {
        padding-right: 34px;
        text-overflow: ellipsis;
    }

    .waveware_integration .form-control:hover,
    .waveware_integration .form-select:hover {
        border-color: #b0b6be;
    }

    .waveware_integration .form-control:focus,
    .waveware_integration .form-select:focus {
        border-color: #f59325;
        box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
        outline: none;
    }

    .waveware_integration .form-control::placeholder {
        color: #9aa0a6;
    }

    .waveware_integration .form-control.is-invalid {
        border-color: #dc3545;
    }

    .waveware_integration .form-control.is-invalid:focus {
        box-shadow: 0 0 0 3px rgba(220, 53, 69, 0.15);
    }

    .port_informations .form-group {
        margin-bottom: 15px;
        width: 100%;
        max-width: 100%;
        padding-left: 0;
        padding-right: 0;
    }

    .dynamic_pager_informations .Pager_Informations {
        margin-bottom: 15px;
        padding-bottom: 0;
        align-items: flex-start;
    }

    .dynamic_pager_informations .Pager_Informations:last-child {
        margin-bottom: 0;
    }

    .pager-delete-col {
        display: flex;
        align-self: flex-start;
        align-items: flex-start;
        justify-content: flex-start;
        padding-left: 0;
        margin-left: -8px;
        margin-top: 25px;
    }

    .pager-delete-btn {
        height: 40px;
        width: 40px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        border: none;
        border-radius: 8px;
        background: transparent;
        color: #dc3545;
        font-size: 16px;
        line-height: 1;
        cursor: pointer;
        transition: background-color 0.15s ease;
    }

    .pager-delete-btn:hover {
        background-color: rgba(220, 53, 69, 0.1);
    }

    .pager-delete-note {
        display: inline-block;
        margin-top: 8px;
        color: #dc3545;
        font-size: 13px;
    }

    .star_red {
        color: red;
    }

    .row1 {
        margin-bottom: 15px;
    }

    .row2 {
        margin-top: 15px;
        display: flex;
        justify-content: space-between;
        align-items: center;
    }

    .update_pager_button {
        display: flex;
        gap: 10px;
    }

    .pagerNotes {
        font-style: italic;
        color: #666;
        font-size: 12px;
        margin-top: 10px;
        justify-content: flex-end;
        padding: 0;
    }

    .pager-note-text {
        text-align: right;
    }

    .btn_custom_background {
        background-color: #007bff;
        color: white;
    }

    .btn_custom_border {
        border-color: #007bff;
        color: #007bff;
    }

    .display_none {
        display: none;
    }
}

/* External Integration */
#external-integration-settings {
    .modal_msg {
        font-size: 200%;
    }

    h4 {
        font-size: 18px;
    }

    .external_integration,
    .waveware_integration {
        position: relative;
        padding: 22px 26px;
        border: 1px solid #e6e8eb;
        border-left: 4px solid #f59325;
        border-radius: 12px;
        margin: 10px 0;
        min-height: 200px;
        background: #fff;
        box-shadow: 0 1px 3px rgba(16, 24, 40, 0.06), 0 1px 2px rgba(16, 24, 40, 0.04);
    }

    .external_integration_title {
        color: #000;
        font-size: 15px;
        font-weight: 700;
    }

    .external_integration label {
        display: inline-block;
        font-weight: 600;
        font-size: 13px;
        color: #495057;
        margin-bottom: 6px;
        letter-spacing: 0.2px;
    }

    .external_integration .form-control,
    .external_integration .form-select {
        height: 40px;
        border: 1px solid #d0d5dd;
        border-radius: 8px;
        padding: 8px 12px;
        font-size: 14px;
        color: #242a30;
        background-color: #fff;
        box-shadow: none;
        transition: border-color 0.15s ease, box-shadow 0.15s ease;
    }

    .external_integration .form-select {
        padding-right: 34px;
        text-overflow: ellipsis;
    }

    .external_integration .form-control:hover,
    .external_integration .form-select:hover {
        border-color: #b0b6be;
    }

    .external_integration .form-control:focus,
    .external_integration .form-select:focus {
        border-color: #f59325;
        box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
        outline: none;
    }

    .external_integration .form-control::placeholder {
        color: #9aa0a6;
    }

    .marginleft_10 {
        margin-left: -10px;
    }

    .ehrToggle .switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
        vertical-align: middle;
        margin-top: 1px;
    }

    .ehrToggle .switch input {
        display: none;
    }

    .ehrToggle .slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #fe0000;
        transition: 0.4s;
    }

    .ehrToggle .slider:before {
        position: absolute;
        content: "";
        height: 14px;
        width: 14px;
        left: 3px;
        bottom: 3px;
        background-color: #fff;
        transition: 0.4s;
    }

    .ehrToggle input:checked + .slider {
        background-color: #92d14f;
    }

    .ehrToggle input:focus + .slider {
        box-shadow: 0 0 1px #92d14f;
    }

    .ehrToggle input:checked + .slider:before {
        transform: translateX(20px);
    }

    .ehrToggle .slider.round {
        border-radius: 34px;
    }

    .ehrToggle .slider.round:before {
        border-radius: 50%;
    }

    .external_integration hr,
    .waveware_integration hr {
        border: none;
        border-top: 2px dotted #cbcbcb;
        opacity: 1;
        margin: 16px 0;
    }

    .form-control[disabled],
    .form-control[readonly],
    fieldset[disabled] .form-control {
        background: #e5e9ed;
        opacity: 0.6;
        filter: alpha(opacity=60);
    }

    .is_edit_newalertsettings {
        position: fixed;
        bottom: 40px;
        width: 100%;
        background: #fff;
        margin-left: -30px;
        padding: 10px 0 !important;
        height: 62px;
        z-index: 90;
    }

    .mt_45 {
        margin-top: 45px;
    }

    .warning_banner {
        padding: 10px;
        background-color: #ff9800;
        color: #fff;
    }

    .m-15 {
        margin: 15px !important;
    }

    .ehrCredentialsBadge {
        background: #929292 !important;
        padding: 10px;
        color: #fff;
    }

    #ehrFeature .m-b-10 {
        display: flex;
        flex-wrap: wrap;
    }

    #ehrFeature .form-group {
        margin-bottom: 10px;
    }

    #ehrFeature .feature-toggle-row {
        display: flex;
        align-items: center;
        gap: 10px;
    }

    #ehrFeature .feature-toggle-row .col-md-6 {
        float: none;
        width: 50%;
        flex: 0 0 50%;
        padding-left: 0;
    }

    #ehrFeature .feature-toggle-controls {
        display: inline-flex;
        align-items: center;
        gap: 8px;
        margin-left: 8px;
        white-space: nowrap;
    }

    #scheduledCareTimeContainer {
        clear: both;
        display: flex;
        align-items: center;
        gap: 8px;
        flex-wrap: wrap;
    }

    #scheduledCareTimeContainer .col-md-7 {
        float: none;
        width: 50%;
        flex: 0 0 50%;
        padding-left: 0;
        margin-bottom: 0;
    }

    #scheduledCareTimeContainer .scheduled-care-actions {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-left: 8px;
    }

    #scheduledCareTimeContainer #minTimeInput {
        width: 64px;
        height: 34px;
        text-align: center;
        font-weight: 600;
        color: #344054;
        border: 1px solid #d0d5dd;
        border-radius: 8px;
        background: #fff;
        padding: 4px 6px;
    }

    #scheduledCareTimeContainer #minTimeInput:focus {
        outline: none;
        border-color: #f59325;
        box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
    }

    #scheduledCareTimeContainer .scheduled-care-actions label {
        margin-bottom: 0;
    }

    #scheduledCareTimeContainer .btn-link {
        line-height: 1;
        color: #337ab7;
        text-decoration: none;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    #scheduledCareTimeContainer .scheduled-care-pencil-icon {
        display: inline-block;
        font-size: 16px;
        font-style: normal;
        line-height: 1;
        color: #337ab7;
    }

    .scheduled-care-modal-content {
        border-radius: 6px;
    }

    .scheduled-care-modal-content .modal-header {
        padding: 10px 16px;
        border-bottom-color: #e2e7eb;
    }

    .scheduled-care-modal-content .modal-body {
        padding: 16px 20px 8px;
    }

    .scheduled-care-modal-content .modal_bottom {
        border-bottom: none;
        min-height: 12px;
        padding: 0;
    }

    .inegration-provider {
        border: 2px solid #f59325;
        padding: 15px;
        border-radius: 8px;
        margin: 10px;
    }

    .no-integration-selected-message {
        font-size: 16px;
        color: #6c757d;
        text-align: center;
    }

    .external-integration-loading {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 12px;
        min-height: 240px;
        color: #6c757d;
    }

    .external-integration-loading-text {
        font-size: 15px;
        font-weight: 600;
    }

    .case-b-wrapper {
        border: none;
        padding: 12px;
        border-radius: 6px;
        margin-top: 12px;
    }

    .alis-status-container {
        margin: 0 0 16px 0;
    }

    .alis-status-header {
        background: #929292;
        color: #fff;
        padding: 12px 16px;
        display: flex;
        align-items: center;
        justify-content: space-between;
        cursor: pointer;
        font-weight: 600;
        user-select: none;
        border-radius: 6px 6px 0 0;
        margin-bottom: 0;
    }

    .alis-status-header.feature-header {
        cursor: default;
    }

    .alis-status-header h6,
    .alis-status-header h4,
    .alis-status-header .ehrCredentialsBadge {
        color: #fff;
        margin: 0;
    }

    .alis-status-header:hover {
        background: #929292;
    }

    .alis-status-body {
        background: #f4f6f8;
        border: 1px solid #e6e8eb;
        border-top: none;
        border-radius: 0 0 6px 6px;
        padding: 12px 6px;
        margin-bottom: 12px;
    }

    .alis-status-body .row.m-15 {
        display: flex;
        flex-wrap: wrap;
        gap: 12px;
        margin: 10px 15px;
    }

    .alis-count-box {
        background: #f9fbfc;
        border: 1px solid #ddd;
        padding: 8px;
        border-radius: 10px;
        margin: 0;
        min-height: 65px;
        width: 195px;
        position: relative;
    }

    .hazard-warn-sign {
        position: absolute;
        top: 12px;
        right: 16px;
        width: 18px;
        height: 18px;
    }

    .status-card-button {
        cursor: pointer;
        transition: box-shadow 0.15s ease, border-color 0.15s ease, transform 0.15s ease;
    }

    .alis-count-box.warning {
        border: 1px solid #ddd;
        background: #f9fbfc;
        width: 180px !important;
    }

    .alis-count-box-selected {
        border: 2px solid #ee931a !important;
        background: linear-gradient(135deg, #fff8f0, #fff3e0) !important;
        box-shadow: 0 2px 8px rgba(238, 147, 26, 0.25);
    }

    .status-card-button:hover {
        border-color: #ee931a;
        box-shadow: 0 2px 8px rgba(238, 147, 26, 0.25);
        transform: translateY(-1px);
    }

    .status-card-button:focus-visible {
        outline: 2px solid #ee931a;
        outline-offset: 2px;
    }

    .alis-count-number {
        font-size: 18px;
        font-weight: 600;
        color: #000;
    }

    .alis-count-text {
        font-size: 12px;
        color: #787878;
        padding-top: 15px;
    }

    .integration-count-icon,
    .integration-credentials-icon {
        color: #fff;
        font-size: 14px;
        margin-left: 10px;
    }

    .credentials-header-plain {
        cursor: pointer;
        position: relative;
    }

    .credentials-header-plain .ehrCredentialsBadge {
        margin: 15px;
    }

    .credentials-header-icon {
        position: relative;
        top: -34px;
        left: -28px;
        color: #fff !important;
        margin-left: 0;
    }

    .integration-count-icon {
        display: block;
        margin-top: 0;
        margin-right: 4px;
        line-height: 1;
    }

    .status-collapsible-header,
    .credentials-collapsible-header {
        outline: none;
    }

    .status-collapsible-header:focus-visible,
    .credentials-collapsible-header:focus-visible {
        box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.35);
    }

    .display_none {
        display: none !important;
    }

    .status-details-modal {
        border-radius: 6px;
        overflow: hidden;
        border: 1px solid #d6d6d6;
        box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
    }

    .status-details-modal .table thead th {
        background: #f3f5f7;
    }

    .status-details-modal-header {
        background: #929292;
        color: #fff;
        border-bottom: none;
    }

    .status-details-modal-header .close {
        color: #fff;
        opacity: 1;
        cursor: pointer;
        transition: transform 0.12s ease, opacity 0.12s ease;
    }

    .status-details-modal-header .close:hover {
        opacity: 0.85;
    }

    .status-details-modal-header .close:active {
        transform: scale(0.92);
    }

    .status-details-modal-body {
        max-height: 65vh;
        overflow-y: auto;
    }

    .status-details-toolbar {
        gap: 12px;
        flex-wrap: wrap;
    }

    .status-details-search-wrap {
        width: 280px;
        max-width: 100%;
    }

    .status-details-search-wrap .form-control {
        height: 34px;
    }

    .status-details-count {
        font-size: 12px;
    }

    .status-details-pagination {
        gap: 10px;
    }

    .status-details-page-text {
        font-size: 12px;
        color: #555;
        min-width: 90px;
        text-align: center;
    }

    .status-details-sortable {
        cursor: pointer;
        user-select: none;
        transition: background-color 0.12s ease;
    }

    .status-details-sortable:hover {
        background: #e9edf2;
    }

    .status-details-sortable:active {
        background: #dde4ea;
    }

    .status-details-pagination .btn {
        min-width: 84px;
        transition: transform 0.12s ease, box-shadow 0.12s ease;
    }

    .status-details-pagination .btn:hover:not(:disabled) {
        transform: translateY(-1px);
        box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12);
    }

    .status-details-pagination .btn:active:not(:disabled) {
        transform: translateY(0);
        box-shadow: none;
    }

    .status-details-pagination .btn:disabled {
        cursor: not-allowed;
        opacity: 0.5;
    }

    .status-warning-icon {
        margin-left: 6px;
        color: #f39c12;
        font-size: 13px;
        vertical-align: text-top;
        cursor: pointer;
    }

}

/* ============================================================
   ADT Integration Modal — root level CSS
   Portal renders to document.body, outside #external-integration-settings,
   so all ADT modal styles must be at root level to apply.
   ============================================================ */

/* ─── Portal modal rules (rendered via createPortal to document.body) ─── */

/* scheduled-care-edit-modal */
.scheduled-care-edit-modal {
    position: fixed;
    inset: 0;
    z-index: 2060;
    background-color: rgba(0, 0, 0, 0.5);
    overflow-y: auto;
    padding: 20px 10px;
}

.scheduled-care-edit-modal .modal-dialog {
    margin: 50px auto;
    max-width: 640px;
}

.scheduled-care-edit-modal .modal-content {
    border-radius: 6px;
}

.scheduled-care-modal-content .modal_msg {
    font-size: 25px;
}

.scheduled-care-modal-content .modal-body {
    padding: 16px;
}

.scheduled-care-modal-content #alisStaffMinTimeInput {
    width: 72px;
    height: 40px;
    margin: 0 8px;
    text-align: center;
    font-size: 20px;
    font-weight: 600;
    color: #344054;
    border: 1px solid #d0d5dd;
    border-radius: 8px;
    background: #fff;
    padding: 4px 8px;
    vertical-align: middle;
}

.scheduled-care-modal-content #alisStaffMinTimeInput:focus {
    outline: none;
    border-color: #f59325;
    box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
}

.scheduled-care-modal-content .modal_msgs {
    font-size: 100%;
    margin: 0 6px;
}

.scheduled-care-modal-content #confirmUpdateALISMinTime,
.scheduled-care-modal-content #cancelUpdateALISMinTime {
    display: inline-block;
    cursor: pointer;
    min-width: 102px;
    text-align: center;
}

.scheduled-care-modal-content #confirmUpdateALISMinTime.is-loading,
.scheduled-care-modal-content #cancelUpdateALISMinTime.is-loading {
    pointer-events: none;
    opacity: 0.7;
}

.scheduled-care-modal-content .btn_custom_background {
    background: #f59325 !important;
    color: #ffffff !important;
    border-color: #f59325 !important;
}

.scheduled-care-modal-content .btn_custom_border {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

/* alis-feature-confirm-modal */
.alis-feature-confirm-modal {
    position: fixed;
    inset: 0;
    z-index: 2050;
    background-color: rgba(0, 0, 0, 0.5);
    overflow-y: auto;
    padding: 20px 10px;
}

.alis-feature-confirm-modal .modal-dialog {
    margin: 50px auto;
    max-width: 640px;
}

.alis-feature-confirm-modal .modal-content {
    border-radius: 6px;
}

.alis-feature-confirm-modal .modal-body {
    word-break: break-word;
    padding: 16px;
    text-align: center;
}

.alis-feature-confirm-modal .modal_msg {
    font-size: 25px;
    margin: 0;
}

.alis-feature-confirm-modal .btn_custom_background {
    background: #f59325 !important;
    color: #ffffff !important;
    border-color: #f59325 !important;
}

.alis-feature-confirm-modal .btn_custom_border {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
}

/* ─── End portal modal rules ─── */

.hazard-warn-sign {
    width: 18px;
    height: 18px;
    vertical-align: middle;
}

/* Bootstrap .modal provides position:fixed overlay; we override colors/layout */
.modal.adt-new-modal {
    background: rgba(0, 0, 0, 0.5);
    z-index: 20000;
    overflow-y: auto;
    padding: 20px;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
}

/* Bootstrap @media(min-width:768px) sets .modal-dialog { width:600px; margin:30px auto } — override */
.modal-dialog.adt-new-dialog {
    width: 100%;
    max-width: 1500px;
    margin: auto;
    position: relative;
    padding: 0;
    transform: none;
}

/* Bootstrap .modal-content adds border/box-shadow — override */
.modal-content.adt-new-content {
    width: 100%;
    background: #fff;
    border: none;
    border-radius: 8px;
    box-shadow: 0 4px 32px rgba(0, 0, 0, 0.2);
    outline: none;
    overflow: hidden;
    max-height: calc(100vh - 40px);
    display: flex;
    flex-direction: column;
    position: relative;
    transform: none;
    top: auto;
    left: auto;
}

#slideScreen {
    z-index: 10010 !important;
}

#adt-link-staff-slider {
    z-index: 10010 !important;
}

.adt-new-header {
    background: #9e9e9e;
    color: #fff;
    padding: 12px 20px;
    border-radius: 8px 8px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-shrink: 0;
}

.adt-new-header-title {
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.3px;
}

.adt-new-close-btn {
    font-size: 16px;
    cursor: pointer;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    flex-shrink: 0;
    transition: background-color 0.2s;
    border: none;
    padding: 0;
}

.adt-new-close-btn:hover {
    background-color: rgba(0, 0, 0, 0.35);
}

.adt-new-body {
    padding: 25px;
    overflow-y: auto;
    flex: 1;
}

#adt-residents-panel.adt-panel-hidden,
#adt-staff-panel.adt-panel-hidden {
    display: none !important;
}

#adt-tab-bar {
    position: sticky;
    top: -25px;
    z-index: 10;
    margin: 0px -25px 0;
    padding: 12px 4px 0 14px;
}

.adt-tab-btn {
    position: relative;
    padding: 11px 28px;
    border: none;
    border-bottom: 3px solid transparent;
    background: none;
    font-size: 14px;
    font-weight: 600;
    color: #888;
    margin-bottom: -2px;
    cursor: pointer;
    outline: none;
    border-radius: 6px 6px 0 0;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    letter-spacing: 0.3px;
    transition: color 0.2s, background 0.2s, border-color 0.2s;
}

.adt-tab-btn:hover {
    color: #ee931a;
    background: rgba(238, 147, 26, 0.08);
}

.adt-tab-btn.active {
    color: #ee931a;
    border-bottom: 3px solid #ee931a;
    background: rgba(238, 147, 26, 0.1);
}

.adt-tab-icon {
    font-size: 15px;
}

.adt-new-section-title {
    font-weight: 600;
    margin: 15px 0 15px 0;
    font-size: 15px;
    color: #333;
    text-align: left !important;
}

.adt-new-summary-row {
    display: flex;
    gap: 20px;
    margin-bottom: 20px;
}

.adt-new-summary-box {
    background: #f9fbfc;
    border: 1px solid #ddd;
    padding: 8px;
    border-radius: 10px;
    margin: 0;
    min-height: 65px;
    width: 195px;
    position: relative;
    cursor: pointer;
    transition: box-shadow 0.2s ease;
}

.adt-new-summary-box:hover {
    box-shadow: 0 0 0 1px #ee931a inset;
}

.adt-new-summary-box h3 {
    margin: 0;
    font-size: 18px;
    text-align: left;
}

.adt-new-summary-box small {
    color: #777;
    font-size: 12px;
    text-align: left;
    display: block;
}

.adt-new-summary-box.adt-new-orange {
    background: #f3d3a5;
    font-weight: 600;
}

.adt-new-summary-box .hazard-warn-sign {
    position: absolute;
    top: 12px;
    right: 16px;
    width: 18px;
    height: 18px;
}

.adt-new-table-container {
    background: #ffffff;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 35px;
    box-shadow: 0 0 0 1px #e6e6e6 inset;
    overflow-x: auto;
}

.adt-residents-search-wrap {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.adt-staff-search-wrap {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.adt-residents-search-wrap .input-group,
.adt-staff-search-wrap .input-group {
    flex-wrap: nowrap;
    align-items: stretch;
}

.adt-residents-search-wrap .input-group {
    width: 260px;
}

.adt-staff-search-wrap .input-group {
    width: 260px;
    max-width: 260px;
}

.adt-residents-search-wrap .form-control,
.adt-staff-search-wrap .form-control {
    height: 34px;
    font-size: 13px;
    border-color: #ddd;
    border-right: none;
    box-shadow: none;
    border-radius: 4px 0 0 4px;
}

.adt-residents-search-wrap .form-control:focus,
.adt-staff-search-wrap .form-control:focus {
    border-color: #ee931a;
    box-shadow: none;
    outline: none;
}

.adt-residents-search-wrap .form-control:focus + .input-group-addon,
.adt-staff-search-wrap .form-control:focus + .input-group-addon {
    border-color: #ee931a;
}

.adt-residents-search-wrap .input-group-addon,
.adt-staff-search-wrap .input-group-addon {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
    border: 1px solid #ddd;
    border-left: none;
    color: #999;
    width: 38px;
    height: 34px;
    padding: 0;
    border-radius: 0 4px 4px 0;
}

.adt-new-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.adt-new-table th {
    text-align: left;
    padding: 10px;
    color: #555;
    border-bottom: 1px solid #ddd;
    font-weight: 600;
    background: #fafafa;
}

.adt-new-table td {
    padding: 10px;
    border-bottom: 1px solid #eee;
    text-align: left;
    vertical-align: middle;
}

#adt-residents-table thead th {
    font-size: 13px;
    color: #000;
}

#adt-residents-table thead th span {
    font-size: 12px;
    color: #000;
}

#adt-residents-tbody tr {
    font-size: 14px;
    color: #000;
}

#adt-staff-table thead th {
    font-size: 13px;
    color: #000;
}

#adt-staff-table thead th span {
    font-size: 12px;
    color: #000;
}

#adt-staff-tbody tr {
    font-size: 14px;
    color: #000;
}

.adt-new-action-btn {
    background: #fff4e5;
    border: 1px solid #f0b46c;
    border-radius: 14px;
    padding: 5px 14px;
    font-size: 12px;
    cursor: pointer;
    transition: 0.2s ease;
    color: #333;
}

.adt-new-action-btn:hover {
    background: #f9e2c5;
}

.adt-tooltip-wrap {
    display: inline-block;
}

.adt-skip-close-overlay {
    position: fixed;
    inset: 0;
    z-index: 20020;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
}

.adt-skip-close-box {
    background: #fff;
    border-radius: 10px;
    padding: 28px 32px;
    max-width: 440px;
    width: 90%;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.2);
    text-align: center;
}

.adt-skip-close-text {
    font-size: 15px;
    color: #333;
    line-height: 1.6;
    margin-bottom: 22px;
}

.adt-skip-close-actions {
    display: flex;
    justify-content: center;
    gap: 12px;
}

.adt-link-btn {
    background: #fff4e5;
    border-color: #f0b46c;
}

.adt-ignore-btn {
    background: #fff4e5;
    border-color: #f0b46c;
}

.adt-new-status-badge {
    border-radius: 999px;
    padding: 2px 8px;
    background: #f1f1f1;
    color: #555;
    font-weight: 600;
}

#adt-status-pagination .btn {
    min-width: 72px;
}

.adt-status-pagination-wrap {
    margin-top: 10px;
    text-align: center;
}

.adt-status-pagination-text {
    margin: 0 8px;
}

.adt-status-count-text {
    margin-top: 8px;
    text-align: center;
}

/* Pagination bar — same design as the /view-fac-*-unmapped-* link sliders */
.link-slider-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 4px 2px;
    flex-wrap: wrap;
    gap: 8px;
}

.link-slider-pagination-info {
    font-size: 13px;
    color: #666;
}

.link-slider-pagination-nav {
    display: flex;
    gap: 4px;
    flex-wrap: wrap;
}

.link-slider-page-btn {
    padding: 4px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    background: #fff;
    cursor: pointer;
    font-size: 13px;
    color: #555;
}

.link-slider-page-btn:disabled {
    opacity: 0.4;
    cursor: not-allowed;
}

.link-slider-page-btn-active {
    background: #ee931a;
    border-color: #ee931a;
    color: #fff;
    font-weight: 600;
}

.link-slider-page-ellipsis {
    padding: 4px 6px;
    color: #888;
    font-size: 13px;
    user-select: none;
}

.adt-no-data-cell {
    text-align: center !important;
    padding: 20px;
    color: #888;
}

.adt-avatar {
    display: inline-block;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    object-fit: cover;
    vertical-align: middle;
    flex-shrink: 0;
}

.adt-avatar-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #c4c4c4;
    color: #333;
    font-size: 12px;
    font-weight: 700;
    flex-shrink: 0;
    vertical-align: middle;
    letter-spacing: 0.5px;
    user-select: none;
}

@media (max-width: 1024px) {
    .adt-new-summary-row {
        grid-template-columns: repeat(2, minmax(160px, 1fr));
    }
}

@media (max-width: 640px) {
    .adt-new-summary-row {
        grid-template-columns: 1fr;
    }

    .adt-tab-btn {
        padding: 10px 14px;
    }
}

.alis_credential-form-body {
    padding: 15px;
}

#resident-group-settings {
    .warning-banner {
        padding: 10px;
        background-color: #ff9800;
        color: white;
    }

    .custom-table-responsive {
        overflow: visible;
    }

    .dropdown-menu.show {
        display: block;
        right: 0;
        left: auto;
        z-index: 1050;
    }
}

.resident-create-group {
    .resident-group-name.is-invalid,
    .resident-group-description.is-invalid {
        background-image: none;
        padding-right: 0.75rem;
    }

    .data-category-access-header {
        display: flex;
        align-items: center;
        justify-content: space-between;
    }

    .data-category-toggle {
        padding: 0;
        border: 0;
        color: #f59325;
        background: transparent;
        font-weight: 600;
        cursor: pointer;
    }

    .data-category-toggle:hover {
        text-decoration: underline;
    }

    .rgt-container {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        min-height: auto;
        padding: 1.5rem;
    }

    .rgt-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        width: 100%;
        margin-bottom: 1.25rem;
        gap: 1rem;
        flex-wrap: wrap;
    }

    .rgt-tabs {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        margin: 0;
        padding: 0;
        list-style: none;
    }

    .rgt-tab {
        display: flex;
        align-items: center;
        padding: 10px 18px;
        border: 0;
        border-radius: 6px;
        color: #000;
        background-color: #e0e0e0;
        cursor: pointer;
        font-size: 14px;
        font-weight: 500;
        outline: none;
        white-space: nowrap;
        transition: background-color 0.2s ease, color 0.2s ease;
    }

    .rgt-tab.active {
        background-color: #f59325;
        color: #fff;
        font-weight: 600;
    }

    .rgt-tab:hover:not(.active) {
        background-color: #d5d5d5;
        color: #000;
    }

    .rgt-add-btn {
        padding: 0.5rem 1rem;
        background-color: #17a2b8;
        color: #fff;
        border: none;
        border-radius: 4px;
        cursor: pointer;
    }

    .rgt-add-btn:hover {
        background-color: #e0e2e4;
    }

    .rgt-content {
        width: 100%;
        text-align: left;
        padding: 0;
    }

    .members-tab {
        display: flex;
        flex-direction: column;
        width: 100%;
    }

    .members-tab-header {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 12px;
    }

    .members-tab-label {
        font-weight: 500;
    }

    .members-tab-search {
        width: 200px;
        padding: 0.4rem 0.6rem;
        border: 1px solid #ccc;
        border-radius: 4px;
    }

    .members-tab-table {
        width: 100%;
    }

    .members-tab-table .custom-table-responsive {
        overflow: visible;
    }

    .resident-actions-cell {
        position: relative;
        overflow: visible;
    }

    .resident-actions-cell.is-open {
        z-index: 1060;
    }

    .resident-actions-cell .dropdown {
        position: relative;
    }

    .resident-actions-cell .dropdown-menu.show {
        display: block;
        right: 0;
        left: auto;
        z-index: 1061;
    }
}

#group-access-tab {
    .card.box {
        background: #fff;
        border: 1px solid #e5e7eb;
        border-radius: 8px;
        height: 100px;
        width: 120px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        margin: 0 auto;
        box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
    }

    .group-stat-cards {
        display: flex;
        gap: 16px;
        justify-content: center;
        align-items: center;
    }

    .card.box .card-body {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
    }

    .card.box .card-body h5 {
        font-size: 26px;
        font-weight: 700;
        margin-bottom: 4px;
        color: #f59325;
    }

    .card.box .card-body label {
        font-size: 13px;
        color: #6c757d;
        margin: 0;
    }

    .collapsible-panel {
        border: none;
        border-radius: 6px;
        overflow: hidden;
    }

    .collapsible-panel .panel-header {
        cursor: pointer;
        padding: 10px 15px;
        background-color: #f1f1f1;
        font-weight: 500;
        border-bottom: 1px solid #ddd;
    }

    .collapsible-panel .panel-label {
        text-align: left;
    }

    .collapsible-panel .collapse-icon {
        font-size: 1.2rem;
    }

    .collapsible-panel .select-all-wrapper {
        display: flex;
        align-items: center;
    }

    .collapsible-panel .item-count {
        font-size: 0.9rem;
        color: #555;
    }

    .collapsible-panel .panel-body {
        padding: 10px 15px;
        background-color: #fff;
    }

    .collapsible-panel .panel-item {
        padding: 5px 0;
        border-bottom: 1px solid #eee;
    }

    .custom-panel-heading {
        margin: 0;
        padding: 12px 16px;
        background-color: #f59325;
        color: #fff;
        text-transform: uppercase;
        border-radius: 6px 6px 0 0;
        cursor: pointer;
    }

    .collapsible-panels {
        display: flex;
        flex-direction: column;
        gap: 12px;
    }

    .selectAllLable {
        color: white;
        font-weight: 600;
        font-size: 14px;
    }

    .select-all-check {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin: 0;
        color: #fff;
        font-size: 13px;
        font-weight: 600;
        white-space: nowrap;
        cursor: pointer;
    }

    .select-all-check input {
        appearance: none;
        -webkit-appearance: none;
        width: 16px;
        height: 16px;
        margin: 0;
        border: 1px solid #cbd2d9;
        border-radius: 3px;
        background: #fff;
        cursor: pointer;
        position: relative;
        vertical-align: middle;
    }

    .select-all-check input:checked {
        background: #f59325;
        border-color: #f59325;
    }

    .select-all-check input:checked::after {
        content: "";
        position: absolute;
        left: 5px;
        top: 2px;
        width: 4px;
        height: 8px;
        border: solid #fff;
        border-width: 0 2px 2px 0;
        transform: rotate(45deg);
    }

    .dataAccessCount {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 28px;
        height: 24px;
        padding: 0 8px;
        color: #f59325;
        background-color: #fff;
        border-radius: 12px;
        font-weight: 700;
        font-size: 13px;
    }

    .panel-body table thead.header th {
        background-color: #f5f6f7;
        color: #333;
        font-weight: 600;
        border-bottom: 1px solid #e5e7eb;
    }

    .switch {
        position: relative;
        display: inline-block;
        width: 40px;
        height: 20px;
        vertical-align: middle;
    }

    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
    }

    .custom-slider {
        position: absolute;
        cursor: pointer;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: #ff0000;
        transition: 0.4s;
    }

    .custom-slider:before {
        position: absolute;
        content: "";
        height: 14px;
        width: 14px;
        left: 3px;
        bottom: 3px;
        background-color: white;
        transition: 0.4s;
    }

    input:checked+.custom-slider {
        background-color: #28a745;
    }

    input:focus+.custom-slider {
        box-shadow: 0 0 1px #28a745;
    }

    input:checked+.custom-slider:before {
        transform: translateX(20px);
    }

    .custom-slider.round {
        border-radius: 20px;
    }

    .custom-slider.round:before {
        border-radius: 50%;
    }

}

/* Alert Escalations & Groupings Styles */
.add-remove-residents-modal .modal-header {
    padding: 10px 16px;
    align-items: center;
}

.add-remove-residents-modal .modal-title,
.add-remove-residents-modal .resident-selection-list,
.add-remove-residents-modal .resident-selection-list .form-label {
    text-align: left;
}

.add-remove-residents-modal .resident-selection-note-label {
    text-align: right;
    font-weight: 600;
    font-size: 12px;
}

.add-remove-residents-modal .resident-selection-note-text {
    text-align: left;
    font-size: 13px;
}

.add-remove-residents-modal .resident-selection-message {
    margin: -0.25rem 0 1rem;
    font-size: 13px;
    font-weight: 600;
}

.add-remove-residents-modal .resident-transfer-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 38px;
    margin: 0 auto;
    border-color: #f59325;
    border-radius: 6px;
    color: #f59325;
    background-color: #fff;
    font-size: 14px;
    transition: color 0.2s ease, background-color 0.2s ease, box-shadow 0.2s ease;
}

.add-remove-residents-modal .resident-transfer-btn:hover,
.add-remove-residents-modal .resident-transfer-btn:focus {
    border-color: #f59325;
    color: #fff;
    background-color: #f59325;
    box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.2);
}

.add-remove-residents-modal .form-control::placeholder {
    font-size: 12px;
}

@media (max-width: 767.98px) {
    .add-remove-residents-modal .resident-selection-note-label {
        text-align: left;
    }
}

.escalation-container {
    width: 100%;
}

.escalation-group-wrapper {
    margin-bottom: 20px;
}

.alert-group-setting-block {
    width: 100%;
    border-collapse: collapse;
}

.alert-group-setting-block td {
    padding: 10px;
    border: 1px solid #ddd;
}

.group-header-cell {
    width: 335px;
}

.group-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.add-group-section {
    flex: 1;
}

.group-title-section {
    flex: 1;
    text-align: center;
}

.group-actions-section {
    flex: 1;
    text-align: right;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
    cursor: pointer;
}

.level-delete-icon {
    cursor: pointer; 
}

.add-new-group {
    color: #1ec258 !important;
    cursor: pointer;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}

.add-new-group i {
    color: #1ec258 !important;
}

.add-new-group.disabled {
    opacity: 0.5;
    cursor: not-allowed;
    pointer-events: none;
}

.escalation-header-row {
    display: flex;
    align-items: center;
    gap: 10px;
    text-align: center;
}

.add-level-section {
    flex: 0 0 auto;
    cursor: pointer;
}

.escalation-title-section {
    flex: 1;
}

.add-new-level {
    color: #1ec258 !important;
    cursor: pointer;
    margin: 0;
    display: flex;
    align-items: center;
    gap: 5px;
}

.add-new-level i {
    color: #1ec258 !important;
}

/* ── EHR Slider: flash messages ── */
.flash-message {
    position: fixed;
    bottom: 42px;
    right: 20px;
    padding: 15px;
    border-radius: 5px;
    background-color: #28a745;
    color: #fff;
    font-size: 16px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    z-index: 20013;
}

.flash-message.error {
    background-color: #dc3545;
}

.flash-message.info {
    background-color: #17a2b8;
}

/* ── EHR Slider: Refreshing button spin ── */
@keyframes ehr-glyphicon-spin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

.ehr-btn-refreshing .glyphicon-refresh {
    display: inline-block;
    animation: ehr-glyphicon-spin 1s linear infinite;
}

/* ── EHR Slider: Close button ── */
.ehr-slider-screen-btn-text-center .btn_custom_border {
    color: rgb(245, 147, 37) !important;
    border-width: 1px !important;
    border-style: solid !important;
    border-color: rgb(245, 147, 37) !important;
    border-image: initial !important;
    background: rgb(255, 255, 255) !important;
}

.add-new-level:hover,
.add-new-group:hover {
    opacity: 0.8;
}

.action-icon {
    cursor: pointer;
    margin-left: 8px;
}

.action-icon:hover {
    opacity: 0.7;
}

.delete {
    color: #d9534f;
}

.table-header-row {
    text-align: center;
}

.table-header-row td {
    background-color: #f5f5f5;
}

.bloder-text {
    font-weight: 600;
    margin: 0;
}

.show-more-link {
    font-weight: normal;
    cursor: pointer;
    color: #007bff;
    text-decoration: underline;
}

.show-more-link:hover {
    color: #0056b3;
}

.form-control1 {
    width: 100%;
    padding: 6px 12px;
    font-size: 14px;
    line-height: 1.42857143;
    color: #555;
    background-color: #fff;
    background-image: none;
    border: 1px solid #ccc;
    border-radius: 4px;
}

.alert-not-taken {
    margin-bottom: 5px;
}

.escalation-details-wrapper {
    display: flex;
    align-items: flex-start;
    gap: 10px;
}

.escalation-details-content {
    flex: 1;
}

.escalation-edit-icon {
    flex: 0 0 auto;
    cursor: pointer;
}

.text-center {
    text-align: center;
}

/* .active {
    background-color: #f9f9f9;
} */

.time-note {
    margin-top: 10px;
    font-size: 14px;
    color: #666;
}

.escalation-tooltip {
    padding: 8px 13px;
    font-size: 13px;
    box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.15);
    border: 1px solid #ddd;
    width: 235px;
    max-width: 235px;
    color: #333;
    background-color: white;
}

#add-alert-group .col-form-label {
    font-weight: 600;
    text-align: end;
    font-size: 16px;
}

#edit-escalations .modal-content {
    min-height: 350px;
    height: auto;
}

.rs__control {
    min-height: 32px;
    height: auto;
    align-items: flex-start;
    font-size: 13px;
    border: 1px solid #f59325 !important;
    box-shadow: none !important;
}

.rs__control:hover {
    border-color: #f59325 !important;
}

.rs__control--is-focused {
    border-color: #f59325 !important;
    box-shadow: 0 0 0 1px #f59325 !important;
}

.rs__control--is-focused {
    border-color: #f59325;
    box-shadow: 0 0 0 1px #f59325;
}

.rs__value-container {
    padding: 0 6px;
}

.rs__multi-value {
    height: 20px;
    font-size: 11px;
}

.rs__multi-value__label {
    padding: 0 6px;
    font-size: 14px !important;
}

.rs__multi-value__remove {
    padding: 0 4px;
}

.rs__menu {
    font-size: 13px;
}

.rs__option {
    padding: 4px 8px;
    font-size: 13px;
}

.rs__option--is-focused {
    background-color: rgba(245, 147, 37, 0.15);
}

.rs__option--is-selected {
    background-color: #f59325;
    color: #fff;
}

.rs__dropdown-indicator,
.rs__clear-indicator {
    padding: 4px;
}

.rs__control {
    text-align: left;
}

.rs__value-container {
    justify-content: flex-start;
    text-align: left;
}

.rs__placeholder {
    text-align: left;
    margin-left: 0;
}

.rs__multi-value {
    height: 26px;
    font-size: 13px;
    align-items: center;
}

.rs__multi-value__label {
    padding: 0 8px;
    line-height: 26px;
}

.rs__multi-value__remove {
    padding: 0 6px;
}

.rs__menu {
    text-align: left;
}

.rs__option {
    text-align: left;
}

.rs__input {
    text-align: left;
}

.notify-popup {
    background: #fff;
    border: 1px solid #f59325;
    border-radius: 4px;
    padding: 10px;
    font-size: 13px;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.2);
}

.notify-title {
    font-weight: 600;
    margin-bottom: 8px;
}

.notify-actions {
    display: flex;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 10px;
}

.notify-popup .form-check-label,
.notify-popup .form-check-input {
    cursor: pointer;
}

/* Responsive adjustments */
@media (max-width: 768px) {

    .group-header-row,
    .escalation-header-row {
        flex-direction: column;
        align-items: flex-start;
    }

    .group-title-section,
    .escalation-title-section {
        text-align: left;
    }

    .group-actions-section {
        justify-content: flex-start;
    }

    .table-responsive {
        overflow-x: auto;
    }
}

/* ─── Link Resident / Staff Slider ────────────────────────────────────────── */
@keyframes slideInFromRight {
    from { transform: translateX(100%); }
    to   { transform: translateX(0); }
}

.adt-link-slider-panel {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 85vw !important;
    max-width: 85vw !important;
    min-width: 0 !important;
    height: 100% !important;
    background-color: #fff !important;
    z-index: 20011 !important;
    display: flex !important;
    flex-direction: column !important;
    box-shadow: -4px 0 24px rgba(0, 0, 0, 0.2) !important;
    animation: slideInFromRight 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94) both;
}

.slider-screen-outer-border {
    position: relative;
    border: 3px solid #f59325;
    border-radius: 40px;
    height: auto;
}

.slider-screen-inner-border {
    position: relative;
    border: 2px solid #f59325;
    border-radius: 20px;
    margin: 30px;
    min-height: 81vh;
}

.slider-screen-inner-border .vertical-line {
    border-left: 1px solid #ddd;
    min-height: 50vh;
    height: auto;
}

.ehr-slider-screen-btn-text-center {
    display: flex;
    justify-content: center;
    padding: 14px 15px 15px;
    border-top: 1px solid #e2e7eb;
    text-align: center;
}

.ehr-slider-screen-modal.left .modal-dialog,
.ehr-slider-screen-modal.right .modal-dialog {
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    margin: 0 !important;
    width: 85vw !important;
    max-width: none !important;
    height: 100% !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    -o-transform: none !important;
    transform: none !important;
}

.ehr-slider-screen-modal .modal-content {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.ehr-slider-screen-modal.left .modal-content,
.ehr-slider-screen-modal.right .modal-content {
    height: 100%;
    overflow-y: auto;
    border-radius: 0px;
}

.ehr-slider-screen-modal.right.fade .modal-dialog {
    right: -320px;
    -webkit-transition: opacity 0.3s linear, right 0.3s ease-out;
    -moz-transition: opacity 0.3s linear, right 0.3s ease-out;
    -o-transition: opacity 0.3s linear, right 0.3s ease-out;
    transition: opacity 0.3s linear, right 0.3s ease-out;
}

.ehr-slider-screen-modal.right.fade.in .modal-dialog {
    top: 0;
    right: 0;
}

.main-content .resident-group-sticky-footer {
    left: calc(220px + 1rem) !important;
    right: 1rem !important;
}

.main-content.collapsed .resident-group-sticky-footer {
    left: calc(70px + 1rem) !important;
}

.dashboard.no-sidebar .resident-group-sticky-footer {
    left: 1rem !important;
}

@media (max-width: 767px) {
    .main-content .resident-group-sticky-footer,
    .main-content.collapsed .resident-group-sticky-footer {
        left: 1rem !important;
        right: 1rem !important;
    }
}
#tempo-light-tone input[type="radio"]:disabled,
#tempo-light-tone input[type="checkbox"]:disabled,
#tempo-light-tone .form-check-input:disabled,
#tempo-light-tone .largerCheckbox:disabled {
    pointer-events: auto !important;
    cursor: not-allowed !important;
}
#admin-staff-visitor-container input[type="radio"]:disabled,
#admin-staff-visitor-container input[type="checkbox"]:disabled,
#admin-staff-visitor-container .form-check-input:disabled,
#alert-configuration-settings input[type="radio"]:disabled,
#alert-configuration-settings input[type="checkbox"]:disabled,
#alert-configuration-settings .form-check-input:disabled {
    pointer-events: auto !important;
    cursor: not-allowed !important;
}
#community-settings.community-settings-wrapper {
    background: #ffffff !important;
    padding: 15px;
    border-radius: 6px;
}

.community-settings-fieldset {
    border: 0;
    margin: 0;
    padding: 0;
    min-width: 0;
}

.community-settings-fieldset:disabled input:disabled,
.community-settings-fieldset:disabled select:disabled,
.community-settings-fieldset:disabled textarea:disabled,
.community-settings-fieldset:disabled button:disabled {
    cursor: not-allowed;
    opacity: 0.6;
}

#community-settings {
    .settings-tab-container {
        list-style: none;
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
        padding: 0;
        margin: 0 0 20px 0;
    }

    .settings-tab-item {
        background: #8b9397;
        color: #ffffff;
        padding: 10px 16px;
        border-radius: 4px;
        cursor: pointer;
        font-size: 14px;
        font-weight: 500;
        user-select: none;
        transition: background 0.2s ease;
        white-space: nowrap;
    }

    .settings-tab-item.active {
        background: #f59325;
        color: #ffffff;
        font-weight: 600;
    }

    .settings-tab-item:hover {
        background: #a3aaae;
    }

    input[type="checkbox"]:not(:disabled),
    input[type="radio"]:not(:disabled) {
        cursor: pointer;
        accent-color: #f59325;
    }
}

/* Align the sticky footer to the content section, excluding the side navigation width */
.main-content .sticky-footer-buttons {
    left: 220px;
}

.main-content.collapsed .sticky-footer-buttons {
    left: 70px;
}

.dashboard.no-sidebar .sticky-footer-buttons {
    left: 0;
}

@media (max-width: 767px) {
    .main-content .sticky-footer-buttons,
    .main-content.collapsed .sticky-footer-buttons {
        left: 0;
    }
}

.sticky-footer-buttons {
    position: fixed;
    bottom: 50px;
    left: 0;
    right: 0;
    background-color: #ffffff;
    border-top: 1px solid #dee2e6;
    padding: 5px;
    z-index: 1000;
    box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
}

@media (max-width: 768px) {
    .settings-tab-item {
        font-size: 13px;
        padding: 8px 12px;
    }
}

/* Small screens (mobile) */
@media (max-width: 480px) {
    .settings-tab-container {
        flex-direction: column;
        gap: 10px;
    }

    .settings-tab-item {
        width: 100%;
        text-align: center;
        padding: 12px;
        border-radius: 6px;
    }
}
.main-content .community-settings-panel-sticky-footer {
    left: calc(220px + 1rem) !important;
    right: 1rem !important;
}

.main-content.collapsed .community-settings-panel-sticky-footer {
    left: calc(70px + 1rem) !important;
}

.dashboard.no-sidebar .community-settings-panel-sticky-footer {
    left: 1rem !important;
}

@media (max-width: 767px) {
    .main-content .community-settings-panel-sticky-footer,
    .main-content.collapsed .community-settings-panel-sticky-footer {
        left: 1rem !important;
        right: 1rem !important;
    }
}
#integrated_devices_body {
    .label {
        display: inline;
        padding: .2em .6em .3em;
        font-size: 75%;
        font-weight: bold;
        line-height: 1;
        color: #ffffff;
        text-align: center;
        white-space: nowrap;
        vertical-align: baseline;
        border-radius: .25em;
    }

    .label-warning {
        background-color: #f0ad4e;
    }
}

.id-table-state-cell {
    text-align: center;
    padding: 40px 0;
}

/* Total / Without Serial pills – same look as the Beacons and Tempo pages */
.total-tempo-serial {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px 6px 14px;
    background-color: #fdf2e6;
    border: 1px solid #f6cfa0;
    border-radius: 20px;
    font-size: 14px;
    line-height: 1;
}

.total-tempo-serial-label {
    color: #8a5a1f;
    font-weight: 600;
    letter-spacing: 0.2px;
}

.total-tempo-serial-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 24px;
    padding: 0 8px;
    background-color: #f59325;
    color: #ffffff;
    border-radius: 12px;
    font-weight: 700;
}

/* Align panel content with the breadcrumb/search row above */
#integrated-devices-panel .panel-body {
    padding-left: 0;
    padding-right: 0;
}

.id-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.id-search-input {
    padding-right: 32px;
    width: 100%;
}

.id-search-icon {
    position: absolute;
    right: 10px;
    color: #888;
    font-size: 13px;
    pointer-events: none;
}

.id-search-clear {
    position: absolute;
    right: 6px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    color: #666;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.id-search-clear:hover {
    color: #222;
}
#shift-settings-modal {
    .custom-panel {
        border-radius: 12px;
        border: 1px solid #e6e6e6;
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.06);
        min-height: 400px;
    }

    .custom-panel .card-body {
        padding: 1.25rem;
    }

    .shift-tabs {
        border-bottom: none;
        gap: 0.5rem;
    }

    .shift-tabs .nav-link {
        border-radius: 8px 8px 0 0;
        border: 1px solid transparent;
        background-color: #f8f9fa;
        color: #495057;
        font-weight: 500;
        padding: 0.6rem 1.25rem;
        transition: background-color 0.2s ease, color 0.2s ease;
    }

    .shift-tabs .nav-link:hover {
        background-color: #ffe2c3;
        color: #212529;
    }

    .shift-tabs .nav-link.active {
        background-color: #f59325;
        color: #ffffff;
        border-color: #f59325;
    }

    .tab-content-wrapper {
        background-color: #ffffff;
        border-radius: 0 12px 12px 12px;
        padding: 1.25rem;
        margin-top: -1px;
    }

    .tab-pane-content table {
        margin-bottom: 0;
    }

    .input-group-text {
        background-color: #e2e7eb;
    }

    @media (max-width: 768px) {
        .shift-tabs {
            flex-wrap: wrap;
        }

        .shift-tabs .nav-link {
            width: 100%;
            text-align: center;
        }

        .custom-panel .card-body {
            padding: 1rem;
        }
    }
}
/* Community Staff multi-select: fixed width and capped height with internal scroll.
   Prevents the selection box from growing very tall when many staff are selected. */
.edit-staff-shift-select {
    width: 100%;
    max-width: 450px;
}

.edit-staff-shift-select .ant-select-selector {
    max-height: 120px;
    overflow-y: auto;
}

/* Align panel content with the breadcrumb/search row above */
#room-settings-panel .panel-body {
    padding-left: 0;
    padding-right: 0;
}

.rs-table-state-cell {
    text-align: center;
    padding: 40px 0;
}

.rs-table-responsive.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.rs-table-responsive .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #E6E6E6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.rs-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 220px;
}

.rs-search-input {
    padding-right: 42px;
    width: 100%;
}

.rs-search-icon {
    position: absolute;
    right: 10px;
    color: #888;
    font-size: 13px;
    pointer-events: none;
}

.rs-search-clear {
    position: absolute;
    right: 6px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
    color: #666;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.rs-search-clear:hover {
    color: #222;
}

#viewReportRoomModal .modal-dialog {
    max-width: 1400px;
    margin: 1.75rem auto;
}

#viewReportRoomModal .modal-content {
    width: 100%;
}

#viewReportRoomModal .modal-body {
    max-height: 75vh;
    overflow: auto;
}

/* Laptop */
@media (max-width: 1400px) {
    #viewReportRoomModal .modal-dialog {
        max-width: 1200px;
    }
}

/* Tablet */
@media (max-width: 1200px) {
    #viewReportRoomModal .modal-dialog {
        max-width: 95%;
    }
}

/* Mobile */
@media (max-width: 768px) {
    #viewReportRoomModal .modal-dialog {
        max-width: 100%;
        margin: 0.5rem;
    }
}

.rs-input-error {
    border-color: #dc3545 !important;
}

.rs-validation-msg {
    color: #dc3545;
    font-size: 12px;
    margin-top: 4px;
}
.invalid-feedback.branding-file-error {
    font-size: 15px;
}

#app-settings-container .survey-section {
    margin: 10px;
}

#app-settings-container .survey-options {
    margin-left: 1.25rem;
}

.community-wifi-state-cell {
    text-align: center;
    padding: 40px 0;
}

#community-wifi-panel > .panel-inverse > .panel-body {
    padding-left: 0;
    padding-right: 0;
}

.community-wifi-table-responsive.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.community-wifi-table-responsive .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #E6E6E6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.community-wifi-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 220px;
}

.community-wifi-search-input {
    padding-right: 42px;
    width: 100%;
}

.community-wifi-search-icon {
    position: absolute;
    right: 10px;
    color: #888;
    font-size: 13px;
    pointer-events: none;
}

.community-wifi-search-clear {
    position: absolute;
    right: 6px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
    color: #666;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.community-wifi-search-clear:hover {
    color: #222;
}

.addeditwifi-card {
    border: none;
}

.addeditwifi-header {
    font-weight: 600;
}

.addeditwifi-select:disabled {
    cursor: not-allowed;
    background-image: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    padding-right: 12px;
}

.addeditwifi-password-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.addeditwifi-password-wrapper .addeditwifi-input {
    padding-right: 40px;
}

.addeditwifi-password-toggle {
    position: absolute;
    right: 10px;
    border: none;
    background: transparent;
    color: #6c757d;
    cursor: pointer;
    padding: 0;
}

.addeditwifi-actions {
    margin-top: 10px;
}

.beaconselection-overlay {
    background-color: rgba(0, 0, 0, 0.5);
}

.modal .beaconselection-dialog {
    margin-top: 100px;
}

.beaconselection-title {
    font-size: 16px;
    font-weight: 600;
    color: #2a2f45;
    text-align: center;
    margin: 0 0 16px;
}

.beaconselection-row.form-check {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0 0 12px;
    border-radius: 10px;
    cursor: pointer;
}

.beaconselection-row.form-check:last-child {
    margin-bottom: 0;
}

.beaconselection-radio.form-check-input {
    width: 18px;
    height: 18px;
    min-width: 18px;
    margin: 2px 0 0;
    float: none;
    cursor: pointer;
}

.beaconselection-radio.form-check-input:checked {
    background-color: #2b7de9;
    border-color: #2b7de9;
}

.beaconselection-label {
    font-size: 15px !important;
    font-weight: 500;
    color: #3a3f51;
    text-align: left;
    line-height: 1.55;
    flex: 1;
    cursor: pointer;
}

.bl-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 220px;
}

/* Align panel content with the breadcrumb/search row above */
#beacon-list .panel-body {
    padding-left: 0;
    padding-right: 0;
}
.bl-search-input {
    padding-right: 32px;
}

.bl-search-icon {
    position: absolute;
    right: 10px;
    color: #aaa;
    pointer-events: none;
    font-size: 13px;
}

.bl-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: #e9ecef;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #555;
    font-size: 14px;
    line-height: 1;
    width: 20px;
    height: 20px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.bl-search-clear:hover {
    background: #ced4da;
    color: #000;
}

.bl-floor-link {
    cursor: pointer;
    color: #2b7de9;
    text-decoration: none;
}

.bl-floor-link:hover {
    text-decoration: underline;
}

.bl-table-state-cell {
    text-align: center;
    padding: 24px 0;
}

.bl-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

#beacon-list .bl-sticky-scroll .custom-table {
    border-collapse: separate;
    border-spacing: 0;
    table-layout: fixed;
    width: 100%;
}

#beacon-list .bl-sticky-scroll .custom-table > thead > tr > th,
#beacon-list .bl-sticky-scroll .custom-table > tbody > tr > td {
    word-break: break-word;
    overflow-wrap: anywhere;
    white-space: normal;
    vertical-align: top;
}

#beacon-list .bl-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #E6E6E6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

/* Summary chips – same look as the Institution beacons "total-tempo-serial" pills */
.bl-summary {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.bl-summary-item {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px 6px 14px;
    background-color: #fdf2e6;
    border: 1px solid #f6cfa0;
    border-radius: 20px;
    font-size: 14px;
    line-height: 1;
}

.bl-summary-label {
    color: #8a5a1f;
    font-weight: 600;
    letter-spacing: 0.2px;
}

.bl-summary-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 24px;
    padding: 0 8px;
    background-color: #f59325;
    color: #ffffff;
    border-radius: 12px;
    font-weight: 700;
    font-size: 14px;
}

.bl-action-cell {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
}

/* PDF / Print layout */
.bl-pdf-root {
    width: 100%;
    display: block;
    margin: 0;
}

.bl-pdf-header {
    font-size: 24px;
    text-align: center;
}

.bl-pdf-sub-header {
    font-size: 20px;
    margin-bottom: 15px;
    text-align: center;
}

.bl-pdf-divider {
    border: 0;
    height: 1px;
    background-color: #b8bcc4;
    margin: 0 0 14px;
}

.bl-pdf-summary {
    display: flex;
    justify-content: flex-start;
    gap: 28px;
    margin-bottom: 14px;
    font-size: 18px;
    font-weight: 600;
}

.bl-pdf-summary-chip {
    color: #3a3f51;
}

.blrp-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
    font-size: 17px;
}

.blrp-th {
    background: #e6e6e6;
    color: #565656;
    font-weight: 600;
    font-size: 17px;
    padding: 10px 12px;
    text-align: left;
    border: 1px solid #dee2e6;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

.blrp-td {
    color: #707478;
    padding: 10px 12px;
    font-size: 17px;
    border: 1px solid #dee2e6;
    vertical-align: middle;
    line-height: 1.45;
    word-break: break-word;
    overflow-wrap: anywhere;
    white-space: normal;
}

.blrp-row-even .blrp-td {
    background-color: #ffffff;
}

.blrp-row-odd .blrp-td {
    background-color: #f8f8f8;
}

.blrp-badge {
    display: inline-block;
    background: #f0ad4e;
    color: #ffffff;
    font-size: 14px;
    padding: 3px 8px;
    border-radius: 4px;
    white-space: normal;
}

.blrp-table tr {
    page-break-inside: avoid;
}

.bl-report .pdf-header {
    align-items: flex-start;
}

.bl-report .pdf-header-info {
    display: flex;
    flex-direction: column;
    line-height: 1.5;
}

.bl-report .pdf-header-title {
    font-size: 22px;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 10px;
}

.bl-report .pdf-header-subtitle {
    font-size: 20px;
    line-height: 1.5;
    margin-bottom: 10px;
}
#historyModal .modal-dialog {
    max-width: 1000px;
    margin: 1.75rem auto;
    max-height: 70vh;
}

#historyModal .modal-content {
    padding: 0%;
    width: 100%;
    max-height: 70vh;
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

#historyModal .modal-body {
    overflow-y: auto;
    max-height: 60vh;
}

#add-edit-tempo-form {
    .col-form-label {
        font-weight: 600;
        text-align: end;
    }
}
#tempo-devices-panel .tempo-edit-note {
    color: #094b9f;
}

/* Align panel content with the breadcrumb/search row above */
#tempo-devices-panel .panel-body {
    padding-left: 0;
    padding-right: 0;
}

#tempoDevicesTableBody label.tempo-serial-link,
#tempoDevicesTableBody label.tempo-wearer-link {
    color: #23527c;
    cursor: pointer;
    margin: 0;
}

#tempoDevicesTableBody label.tempo-serial-link:hover,
#tempoDevicesTableBody label.tempo-wearer-link:hover {
    text-decoration: underline;
}

#tempoDevicesTableBody .tempo-edit-icon,
#tempoDevicesTableBody .tempo-delete-icon {
    cursor: pointer;
}

.td-table-state-cell {
    text-align: center;
    padding: 40px 0;
}

/* Total pill – same look as the Beacons and Tempo pages */
.total-tempo-serial {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 10px 6px 14px;
    background-color: #fdf2e6;
    border: 1px solid #f6cfa0;
    border-radius: 20px;
    font-size: 14px;
    line-height: 1;
    margin-bottom: 0;
}

.total-tempo-serial-label {
    color: #8a5a1f;
    font-weight: 600;
    letter-spacing: 0.2px;
}

.total-tempo-serial-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 26px;
    height: 24px;
    padding: 0 8px;
    background-color: #f59325;
    color: #ffffff;
    border-radius: 12px;
    font-weight: 700;
}

.td-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 220px;
}

.td-search-input {
    padding-right: 32px;
    width: 100%;
}

.td-search-icon {
    position: absolute;
    right: 10px;
    color: #888;
    font-size: 13px;
    pointer-events: none;
}

.td-search-clear {
    position: absolute;
    right: 6px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    color: #666;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.td-search-clear:hover {
    color: #222;
}

#tempoDevicesTableBody .tempo-edit-icon:hover {
    color: #23527c;
}

#tempoDevicesTableBody .tempo-delete-icon:hover {
    color: #c9302c;
}

#tempoDevicesTableBody .label-shared {
    background-color: #f39f09;
    padding: 0px 8px 2px 8px;
    border-radius: 3px;
    color: #fff;
    font-size: 13px;
}

#tempoDevicesTableBody .label-unsuable {
    background-color: #348fe2;
    padding: 0px 8px 2px 8px;
    border-radius: 3px;
    color: #fff;
    font-size: 13px;
}

#tempoDevicesTableBody .label_shared_visitor {
    background-color: #7030a0;
    padding: 0px 8px 2px 8px;
    border-radius: 3px;
    color: #fff;
    font-size: 13px;
}

#tempoDevicesTableBody .label-spare {
    background-color: #b6b2b2;
    padding: 0px 8px 2px 8px;
    border-radius: 3px;
    color: #fff;
    font-size: 13px;
}

#tempoDevicesTableBody .last_assigned_text {
    font-size: 12px;
    margin-top: 4px;
}

/* Alternating row colors */
#tempoDevicesTableBody tr.even-row > td {
    background-color: #ffffff !important;
}

#tempoDevicesTableBody tr.alt-row > td {
    background-color: #ffffff94 !important;
}

/* Table column widths - Desktop */
#tempo-devices-table th:nth-child(1) { width: auto; min-width: 120px; } /* Serial */
#tempo-devices-table th:nth-child(2) { width: 13%; min-width: 130px; } /* Nickname */
#tempo-devices-table th:nth-child(3) { width: 15%; min-width: 150px; } /* Wearer */
#tempo-devices-table th:nth-child(4) { width: 8%; min-width: 100px; } /* Type */
#tempo-devices-table th:nth-child(5) { width: auto; min-width: 140px; } /* Company */
#tempo-devices-table th:nth-child(6) { width: auto; min-width: 140px; } /* Visiting */
#tempo-devices-table th:nth-child(7) { width: auto; min-width: 120px; } /* Notes */
#tempo-devices-table th:nth-child(8) { width: auto; min-width: 80px; text-align: center; } /* Battery */
#tempo-devices-table th:nth-child(9) { width: 6%; min-width: 80px; text-align: center; } /* Action */

#tempo-devices-table td:nth-child(8),
#tempo-devices-table td:nth-child(9) {
    text-align: center;
}

/* Visiting resident cell for multi-line display */
#tempo-devices-table .visiting-resident-cell {
    white-space: pre-line;
}

/* Tablet - Medium screens (768px to 1024px) */
@media (max-width: 1024px) and (min-width: 768px) {
    #tempo-devices-table th:nth-child(2) { width: 12%; min-width: 110px; }
    #tempo-devices-table th:nth-child(3) { width: 14%; min-width: 130px; }
    #tempo-devices-table th:nth-child(4) { width: 10%; min-width: 90px; }
    #tempo-devices-table th:nth-child(5) { min-width: 120px; }
    #tempo-devices-table th:nth-child(6) { min-width: 120px; }
    #tempo-devices-table th:nth-child(7) { min-width: 100px; }
}

/* Mobile - Small screens (below 768px) */
@media (max-width: 767px) {
    #tempo-devices-table th,
    #tempo-devices-table td {
        font-size: 13px;
        padding: 8px 5px;
    }
    
    #tempo-devices-table th:nth-child(1) { min-width: 100px; }
    #tempo-devices-table th:nth-child(2) { min-width: 110px; }
    #tempo-devices-table th:nth-child(3) { min-width: 130px; }
    #tempo-devices-table th:nth-child(4) { min-width: 90px; }
    #tempo-devices-table th:nth-child(5) { min-width: 120px; }
    #tempo-devices-table th:nth-child(6) { min-width: 120px; }
    #tempo-devices-table th:nth-child(7) { min-width: 100px; }
    #tempo-devices-table th:nth-child(8) { min-width: 70px; }
    #tempo-devices-table th:nth-child(9) { min-width: 70px; }
    
    #tempoDevicesTableBody .label-shared,
    #tempoDevicesTableBody .label-unsuable,
    #tempoDevicesTableBody .label_shared_visitor,
    #tempoDevicesTableBody .label-spare {
        font-size: 11px;
        padding: 0px 6px 2px 6px;
    }
}

/* Extra small screens (below 576px) */
@media (max-width: 575px) {
    #tempo-devices-table {
        font-size: 12px;
    }
    
    .table-responsive {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
}

#find-tempo-body .col-form-label {
    font-weight: 600;
    text-align: end;
    color: #000000;
    font-size: 15px;
}

/* Align panel content with the breadcrumb/search row above */
#find-tempo-body .panel-body {
    padding-left: 0;
    padding-right: 0;
}

.ft-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 280px;
    max-width: 100%;
}

.ft-search-input {
    padding-right: 32px;
    width: 100%;
    /* Force left alignment so pasted text isn't centered by the parent .text-center */
    text-align: left;
}

/* Action column buttons — keep Found / Abandon compact and tidy */
.ft-action-buttons {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
}

/* Scoped + higher specificity so these win over global .btn / .custom-button */
#find-tempo-body .btn.ft-action-btn {
    min-height: 0;
    padding: 3px 10px;
    font-size: 14px;
    line-height: 1.3;
    white-space: nowrap;
}

/* Search Again spans a single, appropriately sized line */
#find-tempo-body .btn.ft-action-btn--wide {
    width: auto;
    min-width: 96px;
}

/* Align header font with the table content for a consistent look */
#find-tempo-body .custom-table .table_header,
#find-tempo-body .custom-table .table_header span,
#find-tempo-body .custom-table > thead > tr > th {
    font-family: 'Open Sans', "Helvetica Neue", Helvetica, Arial, sans-serif;
}

/* Section title shown above each table while searching */
.ft-table-title {
    font-size: 15px;
    font-weight: 600;
    color: #000000;
    margin-bottom: 8px;
}

/* Alert status filter dropdown — give it a comfortable, readable width */
.ft-alert-filter {
    min-width: 160px;
    height: 38px;
}

.ft-search-icon {
    position: absolute;
    right: 10px;
    color: #888;
    font-size: 13px;
    pointer-events: none;
}

.ft-search-clear {
    position: absolute;
    right: 6px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    color: #888;
    line-height: 1;
    padding: 0 2px;
    display: flex;
    align-items: center;
}

.ft-search-clear:hover {
    color: #333;
}

.ft-table-state-cell {
    text-align: center;
    padding: 40px 0;
}

.ft-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

#find-tempo-body .ft-sticky-scroll .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

#find-tempo-body .ft-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #E6E6E6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}
.show-history-enabled {
    color: #337ab7 !important;
    text-decoration: none;
    font-weight: 400;
}

.show-history-enabled:hover {
    text-decoration: underline;
    cursor: pointer;
}

.show-history-disabled {
    color: grey !important;
    text-decoration: none;
    font-weight: 400;
    cursor: not-allowed;
}

.llr-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 100%;
}

.llr-search-input {
    padding-right: 32px;
}

.llr-search-icon {
    position: absolute;
    right: 10px;
    color: #aaa;
    pointer-events: none;
    font-size: 13px;
}

.llr-search-clear {
    position: absolute;
    right: 6px;
    background: none;
    border: none;
    cursor: pointer;
    color: #aaa;
    font-size: 16px;
    line-height: 1;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.llr-search-clear:hover {
    color: #555;
}

.llr-table-state-cell {
    text-align: center;
    padding: 24px 0;
}

/* Let the page (window) be the scroll container instead of the table wrapper,
   so the header can stick relative to the viewport while scrolling the page */
.llr-table-responsive.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

/* border-collapse: collapse (Bootstrap default) breaks sticky headers, so separate it */
.llr-table-responsive .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

/* Keep the main table header pinned just below the fixed 60px top nav while scrolling */
.llr-table-responsive .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #E6E6E6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.llr-table-state-cell select.form-select:disabled,
.llr-table-state-cell select.form-select:disabled,
.llr-table-state-cell select:disabled {
    cursor: not-allowed;
}
.contact-tracing-priorities {
    width: 100%;
}

/* Priority Legend */
.contact-tracing-priorities .priority-legend {
    display: flex;
    justify-content: center;
    margin-bottom: 20px;
    gap: 16px;
}

.contact-tracing-priorities .priority-legend-left,
.contact-tracing-priorities .priority-legend-right {
    /* Removed flex: 1 and text alignment for centering */
}

.contact-tracing-priorities .priority-badge {
    display: inline-block;
    padding: 8px 20px;
    border-radius: 4px;
    font-weight: 500;
    font-size: 14px;
    color: #333333;
}

.contact-tracing-priorities .priority-badge.priority-1 {
    background-color: #8a8989;
}

.contact-tracing-priorities .priority-badge.priority-2 {
    background-color: #bfb9b9;
}

/* Priority Matrix Panel */
.contact-tracing-priorities .priority-matrix-panel {
    background: #ffffff;
    border-radius: 4px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.contact-tracing-priorities .priority-table-wrapper {
    overflow-x: auto;
}

/* Priority Matrix Table */
.contact-tracing-priorities .priority-matrix-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ddd;
}

.contact-tracing-priorities .priority-matrix-table th,
.contact-tracing-priorities .priority-matrix-table td {
    padding: 12px;
    text-align: center;
    border: 1px solid #ddd;
}

/* Header Cells */
.contact-tracing-priorities .hidden-cell {
    visibility: hidden;
    border: none;
}

.contact-tracing-priorities .header-row {
    background-color: #f5f5f5;
}

.contact-tracing-priorities .header-cell {
    background-color: #f5f5f5;
    font-weight: 600;
    color: #333;
}

.contact-tracing-priorities .header-text {
    font-size: 13px;
    color: #333;
}

/* Location Row */
.contact-tracing-priorities .location-row {
    background-color: #fafafa;
}

.contact-tracing-priorities .collapsed-cell {
    visibility: collapse;
}

.contact-tracing-priorities .location-label {
    text-align: left;
}

.contact-tracing-priorities .location-detail {
    font-size: 12px;
    color: #555;
}

/* Duration Rows */
.contact-tracing-priorities .duration-row td {
    vertical-align: middle;
}

.contact-tracing-priorities .duration-label {
    text-align: right;
    font-weight: 500;
    padding-right: 16px;
    width: 130px;
}

.contact-tracing-priorities .time-selector {
    text-align: right;
    padding-right: 16px;
    white-space: nowrap;
}

.contact-tracing-priorities .greater-equal {
    margin-right: 8px;
    font-weight: 600;
    display: inline;
}

.contact-tracing-priorities .time-dropdown {
    width: 90px;
    padding: 4px 8px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 13px;
    margin-right: 8px;
    display: inline-block;
    vertical-align: middle;
}

.contact-tracing-priorities .time-dropdown:disabled {
    cursor: not-allowed;
}

.contact-tracing-priorities .time-unit {
    font-size: 13px;
    color: #666;
    display: inline;
}

/* Priority Cells */
.contact-tracing-priorities .cell-priority-1 {
    background-color: #8a8989;
}

.contact-tracing-priorities .cell-priority-2 {
    background-color: #bfb9b9;
}

/* Update Section */
.contact-tracing-priorities .update-section {
    background: #ffffff;
    border-radius: 4px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.contact-tracing-priorities .btn-update {
    padding: 8px 24px;
    font-size: 14px;
    font-weight: 500;
    border-radius: 4px;
    border: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.contact-tracing-priorities .btn-update:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}

.contact-tracing-priorities .btn-update:active {
    transform: translateY(0);
}

/* Responsive */
@media (max-width: 768px) {
    .contact-tracing-priorities .priority-legend {
        flex-direction: column;
    }

    .contact-tracing-priorities .priority-legend-right {
        text-align: left;
    }

    .contact-tracing-priorities .priority-matrix-table {
        font-size: 12px;
    }

    .contact-tracing-priorities .priority-matrix-table th,
    .contact-tracing-priorities .priority-matrix-table td {
        padding: 8px 4px;
    }
}

.map-gradient-location {
    width: 100%;
}

/* Gradient Table Panel */
.map-gradient-location .gradient-table-panel {
    background: #ffffff;
    border-radius: 4px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.map-gradient-location .table-responsive {
    overflow-x: auto;
}

/* Gradient Table */
.map-gradient-location .gradient-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ddd;
}

.map-gradient-location .gradient-table th,
.map-gradient-location .gradient-table td {
    padding: 12px;
    text-align: center;
    border: 1px solid #ddd;
}

/* Table Header */
.map-gradient-location .table-header {
    background-color: #f5f5f5;
    font-weight: 600;
    color: #333;
    font-size: 14px;
}

/* Table Cells */
.map-gradient-location .category-cell {
    font-weight: 500;
    color: #333;
}

.map-gradient-location .criteria-cell {
    text-align: left;
    font-size: 13px;
    color: #555;
}

.map-gradient-location .criteria-cell div {
    margin-bottom: 4px;
}

.map-gradient-location .criteria-cell div:last-child {
    margin-bottom: 0;
}

.map-gradient-location .duration-cell {
    vertical-align: middle;
}

/* Duration Controls */
.map-gradient-location .duration-controls {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.map-gradient-location .duration-dropdown {
    width: 100px;
    padding: 6px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 13px;
}

.map-gradient-location .duration-dropdown:disabled {
    cursor: not-allowed;
}

/* Update Section */
.map-gradient-location .update-section {
    background: #ffffff;
    border-radius: 4px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Responsive */
@media (max-width: 768px) {
    .map-gradient-location .gradient-table {
        font-size: 12px;
    }

    .map-gradient-location .gradient-table th,
    .map-gradient-location .gradient-table td {
        padding: 8px 4px;
    }

    .map-gradient-location .duration-controls {
        flex-direction: column;
        gap: 5px;
    }

    .map-gradient-location .duration-dropdown {
        width: 80px;
    }
}

.map-gradient-decontamination {
    width: 100%;
}

/* Gradient Table Panel */
.map-gradient-decontamination .gradient-table-panel {
    background: #ffffff;
    border-radius: 4px;
    padding: 20px;
    margin-bottom: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.map-gradient-decontamination .table-responsive {
    overflow-x: auto;
}

/* Gradient Table */
.map-gradient-decontamination .gradient-table {
    width: 100%;
    border-collapse: collapse;
    border: 1px solid #ddd;
}

.map-gradient-decontamination .gradient-table th,
.map-gradient-decontamination .gradient-table td {
    padding: 12px;
    text-align: center;
    border: 1px solid #ddd;
}

/* Table Header */
.map-gradient-decontamination .table-header {
    background-color: #f5f5f5;
    font-weight: 600;
    color: #333;
    font-size: 14px;
}

/* Table Cells */
.map-gradient-decontamination .category-cell {
    font-weight: 500;
    color: #333;
}

.map-gradient-decontamination .criteria-cell {
    text-align: left;
    font-size: 13px;
    color: #555;
}

.map-gradient-decontamination .criteria-cell div {
    margin-bottom: 4px;
}

.map-gradient-decontamination .criteria-cell div:last-child {
    margin-bottom: 0;
}

.map-gradient-decontamination .duration-cell {
    vertical-align: middle;
}

/* Duration Controls */
.map-gradient-decontamination .duration-controls {
    display: flex;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.map-gradient-decontamination .control-label {
    text-align: center;
    font-size: 13px;
}

.map-gradient-decontamination .duration-dropdown {
    width: 100px;
    padding: 6px 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 13px;
}

.map-gradient-decontamination .duration-dropdown:disabled {
    cursor: not-allowed;
}

/* Update Section */
.map-gradient-decontamination .update-section {
    background: #ffffff;
    border-radius: 4px;
    padding: 20px;
    text-align: center;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

/* Responsive */
@media (max-width: 768px) {
    .map-gradient-decontamination .gradient-table {
        font-size: 12px;
    }

    .map-gradient-decontamination .gradient-table th,
    .map-gradient-decontamination .gradient-table td {
        padding: 8px 4px;
    }

    .map-gradient-decontamination .duration-controls {
        flex-direction: column;
        gap: 5px;
    }

    .map-gradient-decontamination .duration-dropdown {
        width: 80px;
    }
}

#pin-point-settings .settings-tab-container {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    padding: 0;
    margin: 0 0 20px 0;
}

#pin-point-settings .settings-tab-item {
    background: #8b9397;
    color: #ffffff;
    padding: 10px 16px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    user-select: none;
    transition: background 0.2s ease;
    white-space: nowrap;
}

#pin-point-settings .settings-tab-item.active {
    background: #f59325;
    color: #ffffff;
    font-weight: 600;
}

#pin-point-settings .settings-tab-item:hover {
    background: #a3aaae;
}

#pin-point-settings .settings-tab-item.active:hover {
    background: #f59325;
}

#pin-point-settings .settings-tab-content {
    margin-top: 24px;
}
.decontamination-plan-page {
    padding: 5px;
}

.decontamination-plan-page .custom-button {
    height: 38px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding-top: 0;
    padding-bottom: 0;
}

.dp-field-label {
    display: block;
    margin-bottom: 4px;
    font-size: 13px;
}

.dp-date-field {
    display: flex;
    flex-direction: column;
    width: 100%;
}

.dp-date-field .p-calendar {
    width: 100%;
}

.dp-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 100%;
}

.dp-search-input {
    padding-right: 32px;
}

.dp-search-icon {
    position: absolute;
    right: 10px;
    color: #aaa;
    pointer-events: none;
    font-size: 13px;
}

.dp-search-clear {
    position: absolute;
    right: 8px;
    top: 50%;
    transform: translateY(-50%);
    background: #e9ecef;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    color: #555;
    font-size: 14px;
    line-height: 1;
    width: 20px;
    height: 20px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.dp-search-clear:hover {
    background: #ced4da;
    color: #000;
}

.dp-table-state-cell {
    text-align: center;
    padding: 24px 0;
}

#decontamination-plan-panel .custom-table-responsive {
    min-height: 500px;
    max-height: 500px;
    overflow-y: auto;
}

#decontamination-plan-panel .custom-table thead th {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: #f5f5f5;
}

/* Floor Map Styles */
.cpLocator-facilityMap {
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    min-height: 800px;
    max-height: 800px;
    background-color: #fff;
    border-radius: 4px;
    perspective: 2000px;
    padding: 40px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}


.cpLocator-facilityMap .cpLocator-floor {
    position: absolute;
    border: none;
    border-radius: 8px;
    padding: 0;
    background: transparent;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.6s ease;
    transform-style: preserve-3d;
    backface-visibility: visible;
}

.cpLocator-facilityMap .cpLocator-floor:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    border-color: #007bff;
}

.cpLocator-facilityMap .cpLocator-floor-selected {
    border-color: #007bff;
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
    left: 25% !important;
    right: 0 !important;
    margin: 0 auto;
}

.dotMap {
    display: block;
    margin: 0 auto;
}

.dotMap-marker {
    fill-opacity: 0.7;
    stroke: #fff;
    stroke-width: 2px;
    transition: all 0.2s ease;
}

.dotMap-marker:hover {
    fill-opacity: 1;
    stroke-width: 3px;
    r: 18;
}

.location_tracing_red {
    fill: #ff0000;
}

.location_tracing_yellow {
    fill: #ffff00;
}

.location_tracing_red_trans {
    fill: #ff0000;
    fill-opacity: 0.3;
}

.dotMap-marker-selected {
    stroke: #000;
    stroke-width: 3px;
}

/* Mobile Portrait */
@media (max-width: 480px) {
    .cpLocator-facilityMap {
        overflow: auto;
    }
}
.dp-end-time-note {
    display: block;
    margin-top: 4px;
    color: #dc3545;
    font-size: 12px;
    line-height: 1.2;
}
.dp-action-column {
    flex-direction: column;
    align-items: flex-start;
}

.dp-action-spacer {
    visibility: hidden;
}

@media (max-width: 767.98px) {
    .dp-action-spacer {
        display: none;
    }
}

.contact-tracing-workspace {
    margin-left: 10px !important;
}

#contact-tracing-body .custom-table-expanded {
    height: 500px !important;
}

.contact-tracing-workspace .option_captital {
    font-weight: 600;
}

.contact-tracing-workspace .form-label {
    font-size: 12px;
    white-space: normal;
    word-break: break-word;
    min-width: 120px;
    
}

.contact-tracing-workspace .form-label-enddate {
    font-size: 12px;
    white-space: nowrap;
}

.contact-tracing-workspace .warning-note {
    font-size: 10px;
    color: #dc3545;
    font-weight: 600;
    white-space: normal;
}

/* Keep all filter inputs (selects, text fields, date pickers) at a uniform 38px height */
.contact-tracing-workspace .form-select:not(.form-select-sm),
.contact-tracing-workspace .form-control,
.contact-tracing-workspace .ant-picker {
    height: 38px;
}

#contact-tracing-body .custom-table-responsive {
    height: 250px;
    overflow: auto;
}

#contact-tracing-table thead.header th {
    position: sticky;
    top: 0;
    z-index: 2;
    background-color: #f5f5f5;
    box-shadow: inset 0 -1px 0 #dee2e6, inset 0 1px 0 #dee2e6;
}

.cursor-pointer {
    cursor: pointer;
}

.contact-tracing-workspace .acti {
    color: #007bff;
    text-decoration: none;
}

.contact-tracing-workspace .acti:hover {
    text-decoration: underline;
}

.contact-tracing-workspace .edit_select {
    width: auto;
    display: inline-block;
}

.contact-details-row {
    background-color: #f8f9fa;
}

.contact-details-row td {
    font-size: 0.9em;
    padding: 0.5rem !important;
}

#graph-section .expanded-card {
  position: fixed;
  inset: 0;
  z-index: 1050;
  transform: translateY(20px);
  border-radius: 0;
  /* Moved up and shortened (top+bottom offsets define the height) so the page footer stays visible */
  margin: 160px 20px 80px 20px;
  height: auto;
  overflow: auto;
}

/* Tablet: tighten the surrounding gap */
@media (max-width: 991.98px) {
  #graph-section .expanded-card {
    margin: 140px 14px 70px 14px;
  }
}

/* Mobile: use most of the screen while keeping the footer in view */
@media (max-width: 575.98px) {
  #graph-section .expanded-card {
    margin: 120px 10px 60px 10px;
  }
}

#graph-section .card-header {
    padding: 5px;
}

#graph-section .expanded-card .card-body {
  height: 100%;
}

#graph-section .card-body {
    padding: 0px !important;
}

#graph-section .form-label {
    font-size: 12px;
}

#graph-section .custom-button {
    font-size: 9px;
    min-height: 18px;
    padding: 2px 8px;
}

/* Every graph column stretches so the cards inside share the same height */
#graph-section > [class*="col-"] {
    display: flex;
}

/* The four collapsed graph cards share one height and fill their column width on every screen size */
#graph-section .resident-assist-contact:not(.expanded-card),
#graph-section .direct-contact:not(.expanded-card),
#graph-section .environment-contact:not(.expanded-card),
#graph-section .location-tracing:not(.expanded-card) {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 350px;
}

/* Keep every card header the same height so the graph areas line up across cards */
#graph-section .card-header {
    flex: 0 0 auto;
    height: 48px;
    display: flex;
    align-items: center;
    overflow: hidden;
}

#graph-section .card-header > .d-flex {
    width: 100%;
    flex-wrap: nowrap;
}

#graph-section .card-header .custom-button,
#graph-section .card-header .form-label,
#graph-section .card-header .ct-direct-toggle {
    white-space: nowrap;
}

/* The body takes the remaining space so all graphs render at the same size */
#graph-section .card-body {
    flex: 1 1 auto;
    min-height: 0;
}

/* Graph containers fill the card body -> identical width & height on all screens */
#graph-section #contact-assist-graph,
#graph-section #direct-contact-graph,
#graph-section #direct-indirect-contact-graph,
#graph-section #environment-contact-graph,
#graph-section #location_tracing_map,
#graph-section #path_tracing_map {
    width: 100%;
    height: 100%;
}

/* Keep either floor-map view centered and contained inside the fourth card. */
#graph-section .location-tracing:not(.expanded-card) .card-body {
    overflow: hidden;
}
/* Multiple floor plans are shown one after another inside the collapsed card. */
#graph-section .location-tracing:not(.expanded-card) #location_tracing_map,
#graph-section .location-tracing:not(.expanded-card) #path_tracing_map {
    box-sizing: border-box;
    flex-direction: column;
    justify-content: center !important;
    align-items: center !important;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 16px !important;
    gap: 16px;
}

/* Center a single contained floor plan; multiple floor plans remain vertically stacked. */
#graph-section .location-tracing:not(.expanded-card) #location_tracing_map.ct-single-floor-map,
#graph-section .location-tracing:not(.expanded-card) #path_tracing_map.ct-single-floor-map {
    justify-content: center !important;
}

#graph-section .location-tracing:not(.expanded-card) .cpLocator-floor {
    position: relative !important;
    top: auto !important;
    flex: 0 0 auto;
    flex-direction: column;
    transform: none !important;
    width: 100% !important;
    margin: 0 !important;
}

#graph-section .location-tracing:not(.expanded-card) .cpLocator-floor-selected {
    left: auto !important;
    right: auto !important;
    margin: 0 !important;
}

#graph-section .location-tracing:not(.expanded-card) #location_tracing_map > p,
#graph-section .location-tracing:not(.expanded-card) #path_tracing_map > p {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    margin: 0;
}

#graph-section .location-tracing:not(.expanded-card) #location_tracing_map svg,
#graph-section .location-tracing:not(.expanded-card) #path_tracing_map svg {
    display: block;
    max-width: 100%;
    max-height: 100%;
    margin: 0 auto;
}

/* Network graphs fill the entire expanded card body */
#graph-section #contact-assist-graph-expanded-view,
#graph-section #direct-contact-graph-expanded-view,
#graph-section #environment-contact-graph-expanded-view {
    width: 100%;
    height: 100%;
}

/* The expanded floor deck is absolutely positioned, so its container fills the body from the top */
#graph-section .location-tracing.expanded-card .card-body {
    display: block;
    overflow: hidden;
}

#graph-section #location_tracing_map-expanded,
#graph-section #path_tracing_map-expanded {
    position: relative;
    width: 100%;
    min-height: 800px;
    max-height: 800px;
    overflow-x: hidden;
    overflow-y: auto;
    perspective: 2000px;
    padding: 40px;
    background-color: #fff;
    border-radius: 4px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
}

#graph-section .expanded-card .cpLocator-floor {
    position: absolute;
    border: none;
    border-radius: 8px;
    background: transparent;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
    transition: all 0.6s ease;
    transform-style: preserve-3d;
    backface-visibility: visible;
    cursor: pointer;
}

#graph-section .expanded-card .cpLocator-floor-selected {
    box-shadow: 0 4px 12px rgba(0, 123, 255, 0.3);
    left: 0 !important;
    right: auto !important;
    margin: 0;
}

#graph-section .cpLocator-floor:hover {
    border: none;
    box-shadow: none;
}

#graph-section .direct-contact small {
    font-size: 8px;
}

#graph-section .ct-direct-toggle {
    cursor: pointer;
    font-size: 9px;
    min-height: 18px;
    padding: 2px 8px;
    line-height: 1.4;
    background-color: #fff !important;
    color: #333 !important;
    border: 1px solid #f59325 !important;
    border-radius: 4px;
}

#graph-section .ct-toggle-active,
#graph-section .ct-toggle-active:hover {
    background-color: #f59325 !important;
    color: #fff !important;
    border-color: #f59325 !important;
}

#location_tracing_map .location_tracing_red {
    fill: #ff0000a8;
    stroke: white;
}

#location_tracing_map .location_tracing_yellow {
    fill: #ffff007a;
    stroke: white;
}

#location_tracing_map .location_tracing_red_trans {
    fill: #e87b2ebf;
    stroke: white;
}

/* Path tracing connecting lines between consecutive points */
#path_tracing_map .path_crossHair,
#path_tracing_map-expanded .path_crossHair {
    fill: none;
    stroke: #b82688;
    stroke-width: 2px;
}

/* Path tracing timestamp label text */
#path_tracing_map .svg_background,
#path_tracing_map-expanded .svg_background {
    fill: #ffffff;
}

.ct-table-state-cell {
    text-align: center;
    padding: 24px 0;
}
/* Align panel content with the breadcrumb/search row above */
#visitor-log .panel-body {
    padding-left: 0;
    padding-right: 0;
}

/* Total badge — same pill look as BeaconList, positioned via an inline margin-left
   (JS-measured against the real Tempo™ Serial <th>, see tempoColRect in VisitorLog.jsx)
   so it stays pinned to that column. */
#visitor-log .bl-summary {
    display: inline-flex;
    align-items: center;
    gap: 18px;
    padding: 6px 16px;
    border-radius: 20px;
    background: #f0f1f5;
    color: #3a3f51;
    border: 1px solid #d8dbe3;
    flex-wrap: wrap;
}

#visitor-log .bl-summary-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 20px;
}

#visitor-log .bl-summary-label {
    font-weight: 500;
}

#visitor-log .bl-summary-count {
    font-weight: 700;
    font-size: 20px;
}

#visitor-log-body .badge {
    padding: 4px 6px !important;
}

#visitor-log-body .no-tempo {
    background: #b6b2b2;
}

#visitor-log-body .force-tempo-checkout-btn {
    font-size: 14px;
    cursor: pointer;
    color: #337ab7;
    text-decoration: none;
}

.vl-table-state-cell {
    text-align: center;
    padding: 40px 0;
}

.vl-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.vl-search-input {
    padding-right: 32px;
    width: 100%;
}

.vl-search-icon {
    position: absolute;
    right: 10px;
    color: #888;
    font-size: 13px;
    pointer-events: none;
}

.vl-search-clear {
    position: absolute;
    right: 6px;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    color: #666;
    padding: 0 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.vl-search-clear:hover {
    color: #222;
}
#on-alert-management .panel-body {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

.oam-filter {
    min-width: 260px;
}

.oam-header {
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 0;
    padding: 0;
}

.oam-toolbar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

#on-alert-management {
    width: 100%;
    margin-left: 0;
    margin-right: 0;
}

.oam-search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
    min-width: 220px;
}

.oam-search-input {
    padding-right: 34px;
}

.oam-search-icon,
.oam-search-clear {
    position: absolute;
    right: 9px;
    color: #777;
}

.oam-search-icon {
    pointer-events: none;
    font-size: 13px;
}

.oam-search-clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    border: 0;
    background: transparent;
    font-size: 18px;
    line-height: 1;
}

.oam-date-navigation {
    display: grid;
    grid-template-columns: minmax(150px, 190px) minmax(160px, 200px) minmax(150px, 190px);
    justify-content: center;
    align-items: center;
    gap: 12px;
}

.oam-date-input {
    width: 100%;
}

.oam-date-input .ant-picker-input > input {
    text-align: center;
}

.oam-datetime-input {
    width: 100%;
}

.oam-sortable {
    cursor: pointer;
    user-select: none;
}

.oam-table-state {
    height: 110px;
    text-align: center;
    vertical-align: middle;
}

.oam-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

#on-alert-management .oam-sticky-scroll .custom-table {
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 0;
}

#on-alert-management .oam-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.oam-sticky-scroll .custom-table th:nth-child(n + 3):nth-child(-n + 6),
.oam-sticky-scroll .custom-table td:nth-child(n + 3):nth-child(-n + 6) {
    text-align: center;
    vertical-align: middle;
}

.oam-sticky-scroll .custom-table tbody td {
    overflow: visible;
    vertical-align: middle;
}

.oam-sticky-scroll .custom-table tbody td:nth-child(2) {
    padding-top: 12px;
    padding-bottom: 12px;
}

.oam-name-button,
.oam-action-button {
    padding: 0;
    border: 0;
    background: transparent;
}

.oam-name-button {
    color: #337ab7;
    text-decoration: none;
}

.oam-name-button:hover {
    text-decoration: underline;
}

.oam-action-button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.oam-status-dot {
    display: inline-block;
    width: 15px;
    height: 15px;
    border: 1px solid #000;
    border-radius: 50%;
}

.oam-status-0 {
    background: #ff0;
}

.oam-status-1 {
    background: green;
}

.oam-status-2 {
    background: #fff;
}

.oam-staff-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 2px 0;
    overflow: visible;
}

.oam-staff-image {
    display: block;
    flex: 0 0 25px;
    width: 25px;
    height: 28px;
    border-radius: 50%;
    object-fit: contain;
    object-position: center;
}

.oam-name-button:disabled {
    color: inherit;
    cursor: default;
    opacity: 1;
}

.oam-cycle-positive,
.oam-cycle-negative {
    display: flex;
    gap: 20px;
}

.oam-cycle-positive {
    color: green;
}

.oam-cycle-negative {
    color: red;
}

.oam-clock-button {
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 18px;
}

.oam-clock-0 {
    color: red !important;
}

.oam-clock-1 {
    color: green !important;
}

#on-alert-management .oam-clock-button.oam-clock-0 i {
    color: red !important;
}

#on-alert-management .oam-clock-button.oam-clock-1 i {
    color: green !important;
}

.oam-clock-button:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.oam-load-more {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 12px 0;
}

.oam-modal-backdrop {
    position: fixed;
    inset: 0;
    z-index: 1060;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    overflow-y: auto;
    background: rgba(0, 0, 0, 0.5);
}

.oam-modal-dialog {
    width: min(100%, 560px);
    overflow: hidden;
    border-radius: 6px;
    background: #fff;
    box-shadow: 0 10px 35px rgba(0, 0, 0, 0.25);
}

.oam-history-modal {
    position: fixed;
    inset: 0;
    display: block !important;
    width: 100vw;
    height: 100vh;
    padding: 0 !important;
}

.oam-history-dialog {
    position: absolute;
    top: 0;
    left: 50%;
    width: calc(100% - 32px) !important;
    max-width: 900px !important;
    margin: 2rem 0 !important;
    padding: 0 !important;
    transform: translateX(-50%) !important;
    box-sizing: border-box;
}

.oam-history-dialog .modal-content {
    overflow: hidden;
    border: 0;
    border-radius: 6px;
}

.oam-history-dialog .custom-table th,
.oam-history-dialog .custom-table td {
    text-align: center;
    vertical-align: middle;
}

.oam-history-dialog .oam-cycle-positive,
.oam-history-dialog .oam-cycle-negative {
    justify-content: center;
}

.oam-confirm-dialog {
    width: min(100%, 480px);
}

.oam-modal-header {
    position: relative;
    padding: 18px 52px;
    border-bottom: 1px solid #e5e5e5;
    text-align: center;
}

.oam-modal-header h4 {
    margin: 0;
}

.oam-modal-close {
    position: absolute;
    top: 9px;
    right: 15px;
    border: 0;
    background: transparent;
    color: #555;
    font-size: 28px;
}

.oam-modal-body {
    padding: 24px;
}

.oam-edit-form {
    display: grid;
    gap: 10px;
    max-width: 360px;
    margin: 0 auto;
}

.oam-edit-form label:not(:first-child) {
    margin-top: 10px;
}

.oam-field-error {
    margin: -4px 0 0;
    color: #dc3545;
    font-size: 13px;
    text-align: center;
}

.oam-modal-footer {
    display: flex;
    justify-content: center;
    gap: 10px;
    padding: 15px 24px;
    border-top: 1px solid #e5e5e5;
}

@media (max-width: 767px) {
    .oam-toolbar,
    .oam-control,
    .oam-filter,
    .oam-search-wrapper {
        width: 100%;
        min-width: 0;
    }

    .oam-date-navigation {
        grid-template-columns: 1fr;
    }

    .oam-date-navigation .btn,
    .oam-date-input {
        width: 100%;
    }
}

#visitor-log-report-body .vlr-no-data-message {
    padding: 40px 20px;
    text-align: center;
    font-size: 14px;
    color: #888;
}

.vlr-state-cell {
    text-align: center;
    padding: 40px 0;
}

/* ------------------------------------------------------------------ *
 * Standalone Visitor Log Report PDF route (rendered by Puppeteer)
 * ------------------------------------------------------------------ */
.fvlrp-page {
    padding: 0;
    background: #ffffff;
    page: visitorLogReportLandscape;
}

/* Wrapper that hosts the generated .pdf-root layout */
.fvlrp-preview {
    overflow: visible;
}

.fvlrp-page .pdf-root {
    padding-bottom: 0;
}

.fvlrp-page .pdf-root > *:last-child,
.fvlrp-page .pdf-root > *:last-child table {
    margin-bottom: 0 !important;
}

@page visitorLogReportLandscape {
    size: A4 landscape;
    margin: 0;
}

.fvlrp-preview .pdf-root table {
    table-layout: auto;
}

.fvlrp-preview .pdf-root td,
.fvlrp-preview .pdf-root th {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.fvlrp-preview .pdf-root .custom-table-responsive {
    page-break-inside: auto;
}



.questionnaire-no-data {
    text-align: center;
    font-size: 18px;
}

.fsc-table-state-cell {
    text-align: center;
    padding: 40px 0;
}
#fac-questionnaire-body.panel.custom-panel {
    background: #fff !important;
}
/* Action buttons container — centered layout */
.fac-question-answer-actions {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 8px;
    margin-top: 16px;
}

.fac-question-answer-submit-wrapper {
    display: inline-block;
    cursor: not-allowed;
}

.fac-question-answer-submit-wrapper .btn:not(:disabled) {
    cursor: pointer;
}

/* ── Module-scoped panel — matches project .panel.custom-panel theme ────────── */

.check-in-panel {
  border: none;
  border-radius: 3px;
  background: #fff;
  /* box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.2) !important; */
  margin-bottom: 16px;
  overflow: visible;
}

.check-in-panel .panel-heading {
  border-radius: 3px 3px 0 0;
}

/* ── Welcome screen ──────────────────────────────────────────────────────── */

.check-in-welcome {
  font-weight: 800;
  color: #242a30;
  font-size: 50px;     /* matches PHP .welcome_text { font-size: 50px } */
  margin-bottom: 10px;
  margin-top: 10px;
}

.check-in-version-text {
  cursor: pointer;
  font-size: 20px;
  font-weight: 500;
  color: #337ab7;
  text-decoration: none;
}

.check-in-version-text:hover {
  text-decoration: underline;
}

.check-in-links {
  margin-bottom: 65px;
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
}

/* ── Disable hover color change on buttons in this module ───────────────────── */

.check-in-panel .custom-button:hover:not(:disabled):not(.disabled) {
  background-color: #f59325 !important;
  border-color: #f59325 !important;
  color: #ffffff !important;
  transition: none;
}

.check-in-panel .custom-cancel-btn:hover {
  opacity: 1 !important;
  transition: none;
}

/* Kiosk Check-In / Check-Out — size only; colors from custom-button / custom-cancel-btn */
.check-in-btn-checkin,
.check-in-btn-checkout {
  min-width: 140px;
}

/* ── Screening survey ────────────────────────────────────────────────────── */

.check-in-question {
  color: #242a30;    /* project label color */
  font-size: 14px;
  font-weight: 600;
  line-height: 135%;
}

.check-in-answer-block  { margin-top: 5px; }
.check-in-question-block { margin-bottom: 35px; }

/* ── Manager Approval ────────────────────────────────────────────────────── */

.manager-approval-header {
  position: relative;
  margin-top: -50px;
  text-align: center;
  z-index: 2;
  margin-bottom: 12px;
}

.manager-approval-header h4 {
  margin-top: 6px;
  margin-bottom: 6px;
}

/* ── Manager approval form rows ─────────────────────────────────────────── */

.ma-row {
  display: flex;
  flex-direction: row;
  margin-bottom: 10px;
}

.ma-label {
  width: 45%;
  text-align: right;
  padding-right: 10px;
  font-weight: 600;
  font-size: 14px;       /* matches project .panel-body label */
  color: #242a30;        /* matches project .panel-body label */
  line-height: 1.4;
  flex-shrink: 0;
}

.ma-ctrl { flex: 1; }

.ma-label--cb    { padding-top: 2px; }
.ma-label--input { padding-top: 7px; }

/* ── Bootstrap 3 form-horizontal layout ─────────────────────────────────── */

.check-in-form-horizontal .form-group {
  margin-right: -15px;
  margin-left: -15px;
  margin-bottom: 15px;
}
.check-in-form-horizontal .form-group::before,
.check-in-form-horizontal .form-group::after { display: table; content: " "; }
.check-in-form-horizontal .form-group::after { clear: both; }
.check-in-form-horizontal .form-group > [class*="col-"] {
  padding-right: 15px;
  padding-left: 15px;
  float: left;
}
.check-in-form-horizontal .control-label {
  padding-top: 7px;
  margin-bottom: 0;
  text-align: right;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */

@media (max-width: 767px) {

  .check-in-panel    { margin-bottom: 12px; }
  .panel-body        { padding: 12px; }
  .panel-body.p-t-2  { min-height: auto !important; }

  /* col-md columns stack */
  .col-md-4,
  .col-md-6,
  .col-md-8,
  .col-md-12 { width: 100%; }

  .col-md-4.text-center { margin-bottom: 16px; }

  /* Welcome screen */
  .check-in-welcome      { font-size: 30px; }
  .check-in-version-text { font-size: 16px; }
  .check-in-links        { margin-bottom: 30px; gap: 10px; }
  .check-in-btn-checkin,
  .check-in-btn-checkout { width: 100%; min-width: unset; }

  /* Form inputs */
  .form-control { width: 100%; }
  .check-in-form-horizontal .form-group { margin-right: 0; margin-left: 0; }
  .check-in-form-horizontal .form-group > [class*="col-"] { padding-right: 0; padding-left: 0; }

  /* Manager approval — stack columns */
  #addtempoform .col-md-6                     { width: 100%; margin-bottom: 16px; }
  #addtempoform > .row > [class*="col-"]      { margin-bottom: 0; }
  #addtempoform [style*="display"]            { flex-wrap: wrap; }
  #addtempoform label                         { width: 100% !important; min-width: unset !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 4px !important; }
  #addtempoform input[type="text"],
  #addtempoform input[type="password"],
  #addtempoform input[type="checkbox"]        { flex: unset; width: 100%; }

  /* Screening */
  .options_block_preview { min-width: unset; width: 100%; }

  /* Logo on mobile */
  .manager-approval-header { margin-top: -30px; }
}

.ahtm-backdrop {
    display: flex !important;
    align-items: center;
    justify-content: center;
    background-color: rgba(0, 0, 0, 0.5);
    position: fixed;
    inset: 0;
    z-index: 1050;
    padding: 20px;
    animation: ahtm-fadein 0.15s linear;
}

/* Cap the dialog to the viewport so a long timeline never pushes the top
   of the popup off-screen; the body scrolls instead. */
.ahtm-backdrop .modal-dialog {
    max-height: calc(100vh - 40px);
    display: flex;
    flex-direction: column;
    margin: 0;
}

.ahtm-backdrop .modal-content {
    max-height: calc(100vh - 40px);
    display: flex;
    flex-direction: column;
    overflow: hidden;
}

/* Header and footer stay fixed; only the body scrolls */
.ahtm-backdrop .modal-header,
.ahtm-backdrop .modal-footer {
    flex: 0 0 auto;
}

.ahtm-backdrop .modal-body {
    flex: 1 1 auto;
    overflow-y: auto;
}

@keyframes ahtm-fadein {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.ahtm-title {
    width: 100%;
    margin: 0;
}

.ahtm-loader {
    display: flex;
    justify-content: center;
    padding: 24px 0;
}

.ahtm-timeline {
    list-style: none;
    padding: 0 0 0 20px;
    margin: 0;
}

.ahtm-timeline-item {
    position: relative;
    padding-bottom: 1.5rem;
    padding-left: 6px;
    padding-right: 10px;
    padding-top: 0;
    margin-left: 0;
    margin-bottom: 0;
    font-size: 13px;
}

/* Vertical connector line */
.ahtm-timeline-item::after {
    content: '';
    position: absolute;
    left: -2px;
    top: 16px;
    bottom: 0;
    width: 3px;
    background: #c1c1c1;
}

.ahtm-timeline-item:last-child::after {
    display: none;
}

.ahtm-timeline-item .ahtm-time {
    font-size: 15px;
    color: #888;
    margin-bottom: 2px;
}

.ahtm-timeline-item .ahtm-message {
    margin: 0;
    font-size: 15px;
}

/* Dot marker */
.ahtm-timeline-item::before {
    content: '';
    width: 15px;
    height: 15px;
    background: #c1c1c1;
    border-radius: 50%;
    position: absolute;
    left: -9px;
    top: 0;
    z-index: 1;
}

.ahtm-timeline-item.alert-start::before { background: red; }
.ahtm-timeline-item.alert-process::before { background: orange; }
.ahtm-timeline-item.alert-completed::before { background: green; }
#frah-filter-panel {
    background-color: white;
}

.frah-pdf-page {
    padding: 0;
    background: #ffffff;
    page: frahAlertHistoryLandscape;
}

.frah-pdf-preview {
    overflow: visible;
}

.frah-pdf-error {
    text-align: center;
    padding: 40px 16px;
    font-size: 14px;
    color: #707478;
}

@page frahAlertHistoryLandscape {
    size: A4 landscape;
    margin: 0;
}

.frah-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-width: 220px;
}

.frah-search-input {
    padding-right: 32px;
}

.frah-search-icon {
    position: absolute;
    right: 10px;
    color: #aaa;
    pointer-events: none;
    font-size: 13px;
}

.frah-search-clear {
    position: absolute;
    right: 6px;
    background: none;
    border: none;
    cursor: pointer;
    color: #aaa;
    font-size: 16px;
    line-height: 1;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.frah-search-clear:hover {
    color: #555;
}

.frah-back-btn {
    background-color: #f59325;
    color: #fff;
    border: none;
    height: 34px;
    padding: 0 14px;
    white-space: nowrap;
}

.frah-back-btn:hover,
.frah-back-btn:focus,
.frah-back-btn:active {
    background-color: #d97e1a;
    color: #fff;
}

.frah-date-picker {
    max-width: 200px;
    min-width: 160px;
}

.frah-button-group {
    display: flex;
    flex-direction: column;
}

.frah-button-spacer {
    display: none;
}

@media (min-width: 768px) {
    .frah-button-spacer {
        display: block;
    }
}

.frah-range-btn {
    cursor: pointer;
    color: #337ab7;
}

.frah-range-btn:hover {
    text-decoration: underline;
}

.frah-table {
    width: auto !important;
}

/* Sticky header: the page is the scroll container (no fixed-height/min-height
   wrapper), so the header stays pinned below the top nav while rows scroll. */
.frah-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.frah-sticky-scroll .frah-table {
    border-collapse: separate;
    border-spacing: 0;
}

.frah-sticky-scroll .frah-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #e6e6e6;
    box-shadow: 0 1px 0 #e2e7eb;
}

.frah-table th,
.frah-table td {
    white-space: nowrap;
}

.frah-table th:first-child,
.frah-table td:first-child,
.frah-table th:nth-child(4),
.frah-table td:nth-child(4) {
    white-space: normal;
    min-width: 120px;
    max-width: 200px;
    word-break: break-word;
}

.frah-cell-action {
    text-align: center !important;
    vertical-align: middle !important;
}

.frah-empty-cell {
    text-align: center;
    color: #707478;
    padding: 24px 0;
}

.btn.frah-action-btn {
    background-color: #f59325;
    color: #fff;
    border: none;
}

.btn.frah-action-btn i {
    color: #fff;
    margin-right: 4px;
}

.btn.frah-action-btn:hover,
.btn.frah-action-btn:focus,
.btn.frah-action-btn:active {
    background-color: #d97e1a;
    color: #fff;
}

.btn.frah-action-btn:hover i,
.btn.frah-action-btn:focus i,
.btn.frah-action-btn:active i {
    color: #fff;
}

.frah-subtitle {
    font-size: 14px;
    font-weight: 400;
    color: #707478;
}

.frah-load-more {
    display: flex;
    justify-content: center;
    padding: 16px 0 8px;
}

#frah-filter-panel button:disabled {
    cursor: not-allowed;
}

/* Dedicated styles for the Resident Alert History PDF and print output. Kept
   separate from the on-screen FacResidentAlertHistory table so the paged-media
   report is self-contained and never inherits the on-screen responsive rules. */

/* The global .pdf-root sets overflow:hidden, which blocks paged media (Puppeteer
   and browser print) from fragmenting the table across pages and leaves large
   empty gaps from the second page onward. Restore visible overflow so the table
   flows naturally onto every page. */
.frah-pdf-root.pdf-root {
    overflow: visible !important;
}

/* Table wrapper must never clip or scroll so every row reaches the output */
.frah-pdf-table-wrap {
    overflow: visible;
    width: 100%;
}

/* Fixed grid so the four columns fill the full width (widths are also set inline
   on the <col> elements for html2canvas, which ignores this stylesheet) */
.frah-pdf-table {
    width: 100%;
    table-layout: fixed;
    border-collapse: collapse;
}

/* Repeat the header on every page of a multi-page report */
.frah-pdf-table thead {
    display: table-header-group;
}

/* Keep a data row intact so it is never split across a page boundary */
.frah-pdf-table .frah-pdf-row {
    page-break-inside: avoid;
    break-inside: avoid;
}

.frah-pdf-table .frah-pdf-th,
.frah-pdf-table .frah-pdf-td {
    border: 1px solid #e2e7eb;
    padding: 8px 10px;
    font-size: 12px;
    line-height: 1.4;
    text-align: left;
    vertical-align: top;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.frah-pdf-table .frah-pdf-th {
    background: #e6e6e6;
    color: #565656;
    font-weight: 600;
}

#staff-feedback-report-graph.custom-table-body tr.even-row td {
    padding: 30px 10px;
}

/* Center-align all header and body cells in the Staff Feedback Report tables */
#sfr-report-body .custom-table > thead > tr > th,
#sfr-report-body .custom-table-body tr td {
    text-align: center;
    vertical-align: middle;
}

/* Graph rows keep their legend and charts anchored to the top (overrides the center rule) */
#sfr-report-body .custom-table-body tr td.sftr-legend-cell,
#sfr-report-body .custom-table-body tr td.sftr-chart-cell {
    vertical-align: top;
    text-align: left;
}

/* Staff Suggestions table keeps all columns left-aligned (overrides the center rule) */
#sfr-report-body .sftr-suggestion-table > thead > tr > th,
#sfr-report-body .sftr-suggestion-table .custom-table-body tr td {
    text-align: left;
}

/* Staff name and numeric score columns align their headers and values consistently. */
#sfr-report-body .sfr-staff-detail-table > thead > tr > th:nth-child(1),
#sfr-report-body .sfr-staff-detail-table > thead > tr > th:nth-child(3),
#sfr-report-body .sfr-staff-detail-table > thead > tr > th:nth-child(5),
#sfr-report-body .sfr-staff-detail-table .custom-table-body tr td:nth-child(1),
#sfr-report-body .sfr-staff-detail-table .custom-table-body tr td:nth-child(3),
#sfr-report-body .sfr-staff-detail-table .custom-table-body tr td:nth-child(5) {
    text-align: left;
}

.sfr-no-data {
    text-align: center;
    font-size: 23px;
    color: #666;
}

/* Constrain the Start/End date inputs so they don't stretch too wide */
#staff-feedback-report .sfr-date-field {
    max-width: 200px;
}

/* Invisible label keeps the buttons aligned with the date inputs */
#staff-feedback-report .sfr-action-spacer {
    display: block;
}

/* Action buttons: 3 per row, compact width, aligned with the date inputs */
#staff-feedback-report .sfr-action-buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 150px));
    gap: 0.5rem;
    align-items: start;
}

#staff-feedback-report .sfr-action-buttons .btn {
    width: 100%;
    height: 35px;
    padding: 0 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.sftr-legend-cell {
    vertical-align: top;
    width: 220px;
    min-width: 220px;
}

.sftr-legend-container {
    padding: 10px;
}

.sftr-legend-item {
    display: flex;
    align-items: flex-start;
    margin-bottom: 12px;
    cursor: pointer;
    padding: 4px 8px;
    border-radius: 4px;
    transition: background-color 0.2s ease;
}

.sftr-legend-item.hovered {
    background-color: #f0f0f0;
}

.sftr-legend-item.dimmed {
    opacity: 0.5;
}

.sftr-legend-color-square {
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
    margin-right: 8px;
    margin-top: 2px;
    flex-shrink: 0;
    transition: opacity 0.2s ease;
}

.sftr-legend-color-square.dimmed {
    opacity: 0.3;
}

.sftr-legend-label {
    font-size: 12px;
    line-height: 1.4;
    word-break: break-word;
    flex: 1;
    transition: all 0.2s ease;
}

.sftr-legend-label.hovered {
    font-weight: 600;
}

.sftr-legend-label.dimmed {
    opacity: 0.5;
}

.sftr-chart-cell {
    vertical-align: top;
    width: 50%;
}

.sftr-chart-wrapper {
    height: 470px;
}

/* Material Line places the top tick close to the SVG boundary. Keep the legacy
   plot dimensions and allow the complete glyph to render outside that boundary. */
.sftr-chart-wrapper svg,
.isg-chart-wrapper-work svg,
.isg-chart-wrapper-energy svg {
    overflow: visible !important;
}

.sftr-chart-wrapper-work {
    width: 440px;
}

.sftr-chart-wrapper-energy {
    width: 440px;
}

.sftr-chart-wrapper-work,
.sftr-chart-wrapper-energy {
    max-width: 100%;
}

.sftr-chart-cell-inner {
    position: relative;
    width: 100%;
    height: 470px;
}

.sftr-chart-loader {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: rgba(255, 255, 255, 0.65);
    z-index: 2;
}

/* Fixed layout guarantees both trend chart cells get exactly equal width */
.sftr-graph-table {
    table-layout: fixed;
    width: 100%;
}

.sftr-graph-table .sftr-chart-cell {
    width: 44%;
}

.sftr-graph-table .sftr-legend-cell {
    width: 12%;
    min-width: 0;
}

/* Smiley/battery score meter: one visible icon whose slot reflects the score */
.sfr-meter {
    display: inline-flex;
    align-items: center;
    justify-content: flex-start;
}

.sfr-meter-icon {
    width: 24px;
    height: 24px;
    margin-right: 10px;
}

.sfr-meter-icon-battery {
    width: 12px;
    height: 24px;
}

.sfr-meter-icon:last-child {
    margin-right: 0;
}

/* Staff Suggestion Tooltip Styles */
.staff-suggestion-tooltip {
    max-width: 400px;
    z-index: 9999;
}

/* Tighter padding and no top accent border for this page's tooltips */
.staff-suggestion-tooltip.custom-tempo-tooltip {
    padding: 6px 10px !important;
    border-top: none !important;
}

.staff-suggestion-tooltip > div {
    scrollbar-width: thin;
    scrollbar-color: #888 #f1f1f1;
}

.staff-suggestion-tooltip > div::-webkit-scrollbar {
    width: 8px;
}

.staff-suggestion-tooltip > div::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

.staff-suggestion-tooltip > div::-webkit-scrollbar-thumb {
    background: #888;
    border-radius: 4px;
}

.staff-suggestion-tooltip > div::-webkit-scrollbar-thumb:hover {
    background: #555;
}

/* Individual Staff Graph Styles */
.isg-cell {
    padding: 0;
}

.isg-content {
    position: relative;
    min-height: 470px;
}

.isg-loading-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255, 255, 255, 0.7);
    z-index: 2;
}

.isg-table {
    width: 100%;
    border-collapse: collapse;
}

.isg-chart-cell-work {
    width: 670px;
    vertical-align: top;
    padding: 10px;
}

.isg-chart-cell-energy {
    width: 470px;
    vertical-align: top;
    padding: 10px;
}

.isg-chart-wrapper-work {
    width: 670px;
    height: 470px;
}

.isg-chart-wrapper-energy {
    width: 470px;
    height: 470px;
}

.sfr-table-state {
    text-align: center;
    padding: 32px 0;
}

/* ------------------------------------------------------------------ *
 * Standalone Staff Feedback PDF route (rendered by Puppeteer)
 * ------------------------------------------------------------------ */
.fsfr-pdf-page {
    padding: 0;
    background: #ffffff;
    page: staffFeedbackLandscape;
}

/* Wrapper that hosts the generated .pdf-root layout */
.fsfr-pdf-preview {
    overflow: visible;
}

.fsfr-pdf-page .pdf-root {
    padding-bottom: 0;
}

.fsfr-pdf-page .pdf-root > *:last-child,
.fsfr-pdf-page .pdf-root > *:last-child table {
    margin-bottom: 0 !important;
}

@page staffFeedbackLandscape {
    size: A4 landscape;
    margin: 0;
}

.fsfr-pdf-preview .pdf-root td,
.fsfr-pdf-preview .pdf-root th {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.fsfr-pdf-preview .pdf-root .custom-table-responsive {
    page-break-inside: auto;
}

.fsfr-pdf-page .sftr-graph-table .sftr-legend-cell {
    width: 12%;
    min-width: 0;
}

.fsfr-pdf-page .sftr-graph-table .sftr-chart-cell {
    width: 44%;
}

.fsfr-pdf-page .sftr-chart-wrapper,
.fsfr-pdf-page .sftr-chart-cell-inner {
    height: 320px;
}

.fsfr-pdf-page .sftr-chart-wrapper-work,
.fsfr-pdf-page .sftr-chart-wrapper-energy {
    width: 440px;
    max-width: 100%;
}


#staff-login-filter-panel.custom-panel {
    margin-bottom: 0px;
}

#staff-login-body .panel-body {
    background-color: #fff;
}

#staff-login-report.card {
    padding: 10px;
}

#staff-login-report .sl-notes {
    font-size: 12px;
    font-weight: 600;
}

#staff-login-report .small-table {
    width: 30%;
    text-align: center;
}

.sl-staff-logout-type {
    color: red;
}

#facility-staff-login-body .sl-totalLoginDurationWithTempoAssigned {
    color: green;
    font-weight: 600;
}

#staff-login-body {
    .panel-body {
        background-color: #fff;
    }

    .btn-group-custom {
        display: inline-flex;
        align-items: center;
        height: 35px;
    }

    .range-btn {
        padding: 0 14px;
        display: inline-flex;
        align-items: center;
        background-color: #e0e0e0;
        border: 1px solid #d0d0d0;
        cursor: pointer;
        font-size: 14px;
        transition: all 0.2s ease;
        height: 35px;
    }

    .range-btn:not(:last-child) {
        border-right: none;
    }

    .range-btn:first-child {
        border-radius: 6px 0 0 6px;
    }

    .range-btn:last-child {
        border-radius: 0 6px 6px 0;
    }

    .range-btn:hover:not(.active) {
        background-color: #d5d5d5;
    }

    .range-btn.active {
        background-color: #f59325;
        color: #fff;
        border-color: #f59325;
    }

    .range-btn.active:hover {
        background-color: #e58210;
    }
}

.sfr-table-state {
    text-align: center;
    padding: 32px 0;
}
#event-intervention-panel.panel.custom-panel {
    margin-bottom: 0px;
}

#event-intervention-filter .panel-body {
    background-color: #fff;
}

/* Unique report hook: keep dates at the top as multi-select values grow. */
#event-intervention-filter .eir-filter-date-controls {
    align-self: flex-start;
}

/* Unique report hook: keep the report action aligned with the filter labels. */
#event-intervention-filter .eir-filter-get-report-control {
    align-self: flex-start;
    padding-top: 25px;
}

/* Keep both multi-value inputs constrained and internally scrollable. */
#event-intervention-filter .eir-resident-select .select__control,
#event-intervention-filter .eir-event-intervention-select .select__control {
    min-height: 35px;
    max-height: 150px;
    overflow: hidden;
}

#event-intervention-filter .eir-resident-select .select__value-container,
#event-intervention-filter .eir-event-intervention-select .select__value-container {
    min-height: 33px;
    max-height: 146px !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    align-content: flex-start;
    box-sizing: border-box;
    /* padding-bottom: 8px !important; */
    scroll-padding-bottom: 8px;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: #a8a8a8 #f1f1f1;
}

#event-intervention-filter .eir-resident-select .select__value-container::-webkit-scrollbar,
#event-intervention-filter .eir-event-intervention-select .select__value-container::-webkit-scrollbar {
    width: 8px;
}

#event-intervention-filter .eir-resident-select .select__value-container::-webkit-scrollbar-track,
#event-intervention-filter .eir-event-intervention-select .select__value-container::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

#event-intervention-filter .eir-resident-select .select__value-container::-webkit-scrollbar-thumb,
#event-intervention-filter .eir-event-intervention-select .select__value-container::-webkit-scrollbar-thumb {
    background: #a8a8a8;
    border: 2px solid #f1f1f1;
    border-radius: 4px;
}

#event-intervention-filter .eir-resident-select .select__input-container,
#event-intervention-filter .eir-event-intervention-select .select__input-container {
    flex: 0 0 auto;
}

#event-intervention-body .eir-no-data-message {
    padding: 40px 20px;
    text-align: center;
    font-size: 14px;
    color: #888;
}

#event-intervention-body .eve-int-table {
    padding: 20px;
}

/* Center align all header and data cells in this report's table only */
#event-intervention-body .eve-int-table .custom-table th,
#event-intervention-body .eve-int-table .custom-table td {
    text-align: center;
    vertical-align: middle;
}

/* Reduce width of First Name, Last Name, Start Date/Time and End Date/Time columns */
#event-intervention-body .eve-int-table .custom-table th:nth-child(1),
#event-intervention-body .eve-int-table .custom-table td:nth-child(1),
#event-intervention-body .eve-int-table .custom-table th:nth-child(2),
#event-intervention-body .eve-int-table .custom-table td:nth-child(2) {
    width: 120px;
}

#event-intervention-body .eve-int-table .custom-table th:nth-child(4),
#event-intervention-body .eve-int-table .custom-table td:nth-child(4),
#event-intervention-body .eve-int-table .custom-table th:nth-child(5),
#event-intervention-body .eve-int-table .custom-table td:nth-child(5) {
    width: 150px;
}

/* Keep the risk-flag chips centered within their cell (on-screen + PDF markup) */
#event-intervention-body .eve-int-table .custom-table td.risk_flag,
.pdf-root td.risk_flag {
    justify-content: center;
}

#event-intervention-body .eve-int-table .eve-int-count {
    color: #337ab7;
}

#event-intervention-body .eve-int-table .eve-int-count:hover {
    text-decoration: underline;
}

/* Risk-flag chips: shared by the on-screen report and every PDF path (.pdf-root) */
#event-intervention-body .risk_flag,
.pdf-root .risk_flag {
    display: flex;
    flex-wrap: wrap;
}

#event-intervention-body .uti-risk-arrow-box,
#event-intervention-body .fall-risk-arrow-box,
#event-intervention-body .depression-risk-arrow-box,
#event-intervention-body .nutrition-risk-arrow-box,
.pdf-root .uti-risk-arrow-box,
.pdf-root .fall-risk-arrow-box,
.pdf-root .depression-risk-arrow-box,
.pdf-root .nutrition-risk-arrow-box {
    display: inline-block;
    position: relative;
    width: auto;
    height: 28px;
    top: 0;
    left: 0;
    margin: 0 10px 5px 10px;
    padding: 0 10px;
    line-height: 27px;
    color: #ffffff;
    font-size: 17px;
    flex: 1 0 50%;
    text-align: center;
}

#event-intervention-body .uti-risk-arrow-box:after,
#event-intervention-body .fall-risk-arrow-box:after,
#event-intervention-body .depression-risk-arrow-box:after,
#event-intervention-body .nutrition-risk-arrow-box:after,
.pdf-root .uti-risk-arrow-box:after,
.pdf-root .fall-risk-arrow-box:after,
.pdf-root .depression-risk-arrow-box:after,
.pdf-root .nutrition-risk-arrow-box:after {
    left: 100%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
    border-color: rgba(66, 170, 225, 0);
    border-width: 15px;
    top: 106%;
    margin-top: -30px;
}

#event-intervention-body .uti-risk-arrow-box,
.pdf-root .uti-risk-arrow-box {
    background: #c55a11;
}

#event-intervention-body .uti-risk-arrow-box:after,
.pdf-root .uti-risk-arrow-box:after {
    border-left-color: #c55a11;
}

#event-intervention-body .fall-risk-arrow-box,
.pdf-root .fall-risk-arrow-box {
    background: #c00001;
}

#event-intervention-body .fall-risk-arrow-box:after,
.pdf-root .fall-risk-arrow-box:after {
    border-left-color: #c00001;
}

#event-intervention-body .depression-risk-arrow-box,
.pdf-root .depression-risk-arrow-box {
    background: #7030a0;
}

#event-intervention-body .depression-risk-arrow-box:after,
.pdf-root .depression-risk-arrow-box:after {
    border-left-color: #7030a0;
}

#event-intervention-body .nutrition-risk-arrow-box,
.pdf-root .nutrition-risk-arrow-box {
    background: #01b0f0;
}

#event-intervention-body .nutrition-risk-arrow-box:after,
.pdf-root .nutrition-risk-arrow-box:after {
    border-left-color: #01b0f0;
}

@media print {
    .risk_flag {
        display: block !important;
    }

    .risk_flag span {
        display: inline-block;
        margin: 2px;
    }
}
.eir-state-cell {
    text-align: center;
    padding: 32px 0;
}

/* ------------------------------------------------------------------ *
 * Standalone Events & Interventions PDF route (rendered by Puppeteer)
 * ------------------------------------------------------------------ */
.feip-page {
    padding: 0;
    background: #ffffff;
    page: eventInterventionLandscape;
}

/* Wrapper that hosts the generated .pdf-root layout */
.feip-preview {
    overflow: visible;
}

.feip-page .pdf-root {
    padding-bottom: 0;
}

.feip-page .pdf-root > *:last-child,
.feip-page .pdf-root > *:last-child table {
    margin-bottom: 0 !important;
}

@page eventInterventionLandscape {
    size: A4 landscape;
    margin: 0;
}

/* Remove trailing margin on the last PDF element so html2pdf/Puppeteer don't emit a blank page */
.pdf-root > *:last-child,
.pdf-root table:last-child {
    margin-bottom: 0 !important;
}

.feip-preview .pdf-root table {
    table-layout: auto;
}

.feip-preview .pdf-root td,
.feip-preview .pdf-root th {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.feip-preview .pdf-root .custom-table-responsive {
    page-break-inside: auto;
}

.feip-preview .pdf-root > *:last-child {
    margin-bottom: 0;
}

.feip-preview .pdf-root table:last-child {
    margin-bottom: 0;
}

.resident-list {
    max-height: 320px;
    overflow-y: auto;
}

.resident-list .checkbox-space {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.25rem 0;
}

.resident-list .form-check-label {
    margin-bottom: 0;
    cursor: pointer;
}

/* Dim and block interaction while the filter is loading (legacy disabledAll) */
.disabledAll {
    pointer-events: none;
    opacity: 0.6;
}

.adl-filter-card {
    border: 1px solid #e5e7eb;
    margin-bottom: 1rem;
}

.adl-filter-card .card-header {
    font-weight: 600;
    background-color: #f8f9fa;
}

.adl-filter-card .days h2 {
    font-size: 1.1rem;
    margin-top: 0.75rem;
}

/* Category header styled like a smaller, tinted card header (UTI / FALL / Physical Activity) */
.menuItem-category {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.75rem;
    background-color: #eee;
    border: 1px solid #e5e7eb;
    border-radius: 0.25rem;
    margin-bottom: 0.5rem;
}

.menuItem-categoryIcon {
    color: #4b6584;
    font-size: 1.1rem;
}

.menuItem-categoryName {
    font-weight: 600;
    font-size: 0.9rem;
    color: #4b6584;
}

.item-top-space {
    padding-top: 0.25rem;
}

.purple {
    color: #7b2ff7;
    font-weight: 600;
}

.blue {
    color: #2f80ff;
    font-weight: 600;
}

.resident-detail {
    margin-bottom: 1rem;
    border: 1px solid #e5e7eb;
}

.resident-detail.selected-item {
    border-color: #7b2ff7;
    box-shadow: 0 0 0 2px rgba(123, 47, 247, 0.15);
}

.resident-detail .card-subtitle {
    font-size: 0.85rem;
}

.resident-chart-item {
    margin-bottom: 1.5rem;
}

.resident-chart-item-title {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.resident-chart {
    margin-bottom: 1.5rem;
    padding: 0.75rem;
}

.resident-chart h3 {
    font-size: 1rem;
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.resident-chart-canvas,
.resident-chart-item-canvas {
    position: relative;
    height: 220px;
}

.resident-chart-name {
    font-size: 1.25rem;
    font-weight: 600;
    margin-bottom: 0.75rem;
}

.chart-area {
    margin-top: 0.5rem;
}

.wi-pes-wrapper {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.wi-pes-item {
    position: relative;
}

.wi-pes-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background-color: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
    padding: 0;
}

.wi-pes-icon-btn:hover {
    border-color: #f59325;
    background-color: #fff7f0;
}

.wi-pes-icon-btn--active {
    border-color: #f59325;
    background-color: #fff7f0;
}

.wi-pes-icon-btn--disabled {
    cursor: not-allowed;
    opacity: 0.5;
    pointer-events: none;
}

.wi-pes-icon {
    width: 20px;
    height: 20px;
    object-fit: contain;
}

.wi-pes-dropdown {
    position: absolute;
    top: calc(100% + 4px);
    right: 0;
    min-width: 120px;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    z-index: 1050;
    overflow: hidden;
}

.wi-pes-dropdown-item {
    width: 100%;
    border: none;
    background: #fff;
    padding: 9px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    font-size: 13px;
    color: #333;
    text-align: left;
}

.wi-pes-dropdown-item:hover {
    background: #fff7f0;
}

.wi-pes-dropdown-icon {
    width: 16px;
    height: 16px;
}

.wi-pes-overlay {
    position: fixed;
    inset: 0;
    z-index: 9999;
    background: rgba(0, 0, 0, 0.35);
    display: flex;
    align-items: center;
    justify-content: center;
}

.wi-pes-overlay-card {
    background: #fff;
    border-radius: 8px;
    padding: 24px 36px;
    text-align: center;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.2);
}

.wi-pes-overlay-card p {
    margin: 12px 0 0;
    font-weight: 500;
}

/* Spacing between the print/email scheduler and the ADL filter */
.wellness-insights-print {
    margin-bottom: 1rem;
}

/* Wellness insight details card */
.wellness-insights-card {
    border: 1px solid #e5e7eb;
}

.wellness-insights-card .card-header {
    font-weight: 600;
    background-color: #f8f9fa;
}

/* Dimmed backdrop behind the resident chart off-canvas panel */
.wellness-insights-sidebar-backdrop {
    position: fixed;
    inset: 0;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 1045;
}

/* Right-hand resident chart off-canvas panel (legacy PrimeReact Sidebar) */
.wellness-insights-sidebar {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    width: 480px;
    max-width: 100%;
    background-color: #fff;
    box-shadow: -2px 0 12px rgba(0, 0, 0, 0.15);
    z-index: 1046;
    display: flex;
    flex-direction: column;
}

.wellness-insights-sidebar-header {
    display: flex;
    justify-content: flex-end;
    padding: 0.75rem 1rem;
    border-bottom: 1px solid #f0f0f0;
}

.wellness-insights-sidebar-close {
    border: none;
    background: transparent;
    font-size: 1.5rem;
    line-height: 1;
    cursor: pointer;
    color: #6b7280;
}

.wellness-insights-sidebar-body {
    flex: 1;
    overflow-y: auto;
    padding: 1rem;
}


.facStaffChatReport-filter-label {
    font-size: 14px;
}

.facStaffChatReport-date-picker {
    width: 210px;
}

.facStaffChatReport-date-picker .ant-picker {
    height: 38px;
}

.facStaffChatReport-staff-selector {
    display: flex;
    flex-direction: column;
    width: 200px;
    max-width: 200px;
}

.facStaffChatReport-select.form-select {
    width: 100%;
    min-width: 0;
    height: 38px;
    padding: 4px 28px 4px 11px;
    font-size: 14px;
    color: rgba(0, 0, 0, 0.88);
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    background-position: right 8px center;
    text-overflow: ellipsis;
}

.facStaffChatReport-select.form-select:focus {
    border-color: #f59325;
    box-shadow: none;
}

.facStaffChatReport-buttons-spacer {
    visibility: hidden;
}

.facStaffChatReport-buttons-grid {
    display: grid;
    grid-template-columns: repeat(3, auto);
    gap: 8px;
    justify-content: start;
}

.facStaffChatReport-buttons-grid .btn {
    white-space: nowrap;
    min-width: 150px;
    text-align: center;
}

.facStaffChatReport-table {
    width: 100%;
    table-layout: fixed;
}

.facStaffChatReport-col-datetime {
    width: 240px;
}

.facStaffChatReport-col-name {
    width: 260px;
}

.facStaffChatReport-col-recipient {
    width: 180px;
}

.facStaffChatReport-col-message {
    overflow-wrap: break-word;
    word-break: break-word;
}

.facStaffChatReport-row {
    cursor: pointer;
}

.facStaffChatReport-find-wrapper {
    display: flex;
    align-items: center;
    gap: 4px;
    width: 260px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    background: #fff;
    padding: 0 8px;
}

.facStaffChatReport-find-wrapper:focus-within {
    border-color: #f59325;
}

.facStaffChatReport-find-input.form-control {
    flex: 1 1 auto;
    min-width: 0;
    border: none;
    border-radius: 0;
    padding: 6px 4px;
    box-shadow: none;
    background: transparent;
}

.facStaffChatReport-find-input.form-control:focus {
    border: none;
    box-shadow: none;
    outline: none;
}

.facStaffChatReport-find-controls {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    gap: 4px;
    user-select: none;
    white-space: nowrap;
}

.facStaffChatReport-find-count {
    font-size: 11px;
    color: #666;
}

.facStaffChatReport-find-icon {
    cursor: pointer;
}

.facStaffChatReport-back-btn {
    border: 1px solid #d9d9d9;
    background: #fff;
    color: #444;
    padding: 4px 10px;
    border-radius: 6px;
    line-height: 1;
}

.facStaffChatReport-back-btn:hover {
    background: #f2f2f2;
    color: #000;
}

/* Scroll the report data within a bounded area so the header can stay pinned */
.facStaffChatReport-table-wrap {
    position: relative;
    max-height: calc(100vh - 300px);
    overflow: auto !important;
}

/* Keep the report table header fixed while scrolling the rows */
.facStaffChatReport-table > thead > tr > th {
    position: sticky !important;
    top: 0;
    z-index: 3;
    background-color: #f2f2f2;
}

/* Find/search highlight styles */
.facStaffChatReport-table mark.find-highlight {
    background: #ffe58f;
    color: inherit;
    padding: 0;
}

.facStaffChatReport-table mark.find-highlight-active {
    background: #fa8c16;
    color: #fff;
}

/* ------------------------------------------------------------------ *
 * Standalone Messages (Staff Chat) Report PDF route (rendered by Puppeteer).
 * Uses a named @page (like other landscape Puppeteer PDF routes) so Chrome
 * paginates correctly instead of leaving the header alone on a mostly-blank
 * first page.
 * ------------------------------------------------------------------ */
.fsmp-pdf-page {
    padding: 0;
    background: #ffffff;
    page: fsmpLandscape;
}

.fsmp-pdf-preview {
    overflow: visible;
}

@page fsmpLandscape {
    size: A4 landscape;
    margin: 0;
}

#fall-alert-report {
    background: white;
}

.fall-report-body {
    background: white;
    padding: 20px;
}

#fall-alert-report .range-selection {
    cursor: pointer;
    color: #337ab7;
}

#fall-alert-report .range-selection:hover {
    text-decoration: underline;
}

/* Constrain the Start/End date inputs so they don't stretch too wide */
#fall-alert-report .fall-date-field {
    max-width: 200px;
}

/* Action buttons: 3 per row, compact width, aligned with the date inputs */
#fall-alert-report .fall-action-spacer {
    display: block;
}

#fall-alert-report .fall-action-buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 150px));
    gap: 0.5rem;
    align-items: start;
}

#fall-alert-report .fall-action-buttons .btn {
    width: 100%;
    height: 35px;
    padding: 0 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fall-no-data {
    text-align: center;
    font-size: 14px;
    color: #888;
}

.fall-no-data-message {
    padding: 40px 20px;
    font-size: 16px;
    color: #555;
}

/* Force every stacked report table onto a shared fixed grid so columns line up vertically */
.fall-report-body .custom-table-responsive .custom-table {
    table-layout: fixed;
    width: 100%;
}

/* Allow long values to wrap inside the fixed-width cells instead of overflowing */
.fall-report-body .custom-table-responsive .custom-table td,
.fall-report-body .custom-table-responsive .custom-table th {
    word-break: break-word;
    overflow-wrap: break-word;
}

/* Shared column widths — boundaries fall on 20% gridlines across all tables */
.fall-report-body .fall-col-20 {
    width: 20%;
}

.fall-report-body .fall-col-40 {
    width: 40%;
}

.fall-report-body .fall-col-60 {
    width: 60%;
}

/* Yes/No required-medical-attention rows aligned to the shared 20/20/60 grid */
.fall-yesno-label {
    width: 20%;
}

.fall-yesno-count {
    width: 20%;
}

.fall-yesno-time {
    width: 60%;
}

/* Drill-down spans the full width so Date and Time lines up under # of Events */
.fall-yesno-drilldown-row {
    width: 100%;
    margin: 0 -5px;
}

/* Force the fall-severity drill-down onto the shared 20% grid */
.fall-severity-dd {
    table-layout: fixed;
    width: 100%;
}

/* Section header row */
.fall-header {
    background-color: #fff !important;
    color: #000 !important;
}

/* Override the global grey thead background for table 1's white header */
.fall-report-body .custom-table-responsive .custom-table > thead > tr > th.fall-header {
    background: #fff !important;
    color: #000 !important;
    text-decoration: underline;
}

/* Sortable column header in body tables */
.headerfall {
    background-color: #dce6f1;
    font-weight: bold;
    cursor: pointer;
}

/* Performance metric labels centered as a group while colons/values align internally */
.fall-performance-group {
    display: inline-block;
    text-align: left;
}

.fall-performance-label {
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.fall-performance-name {
    flex: 0 0 200px;
    text-align: right;
    text-decoration: underline;
}

.fall-performance-value {
    flex: 0 0 auto;
    margin-left: 6px;
    white-space: nowrap;
}

/* Clickable drill-down link */
.fall-drilldown-link {
    color: #337ab7;
    cursor: pointer;
    text-decoration: underline;
}

.fall-drilldown-link:hover {
    color: #23527c;
}

/* Cell that wraps the inline drill-down nested table */
.fall-drilldown-cell {
    padding: 0 !important;
}

/* Staff drill-down spans the full row width with no indent */
.fall-staff-drilldown-cell {
    padding-left: 0 !important;
}

/* Nested drill-down table */
.fall-drilldown-table {
    margin-bottom: 0;
    font-size: 0.9em;
}

/* Drill-down tables use the resident-row amber as their border color */
.fall-drilldown-table,
.fall-drilldown-table th,
.fall-drilldown-table td {
    border-color: #FFE699 !important;
}

.fall-drilldown-table .fall-drilldown-header th {
    background-color: #dce6f1;
    font-weight: bold;
    cursor: pointer;
}

/* Fall-type descriptions that are confirmed falls are shown in green */
.fall-description-green {
    color: green !important;
}

.custom-color th {
    background-color: white !important;
}

.custom-color tr {
    background-color: white !important;
}

.fall-grey-color td {
    background-color: #e7e6e6 !important;
}

.residents-data-assist-color td,
.button-press-color td {
    background-color: #e2f0d9 !important;
}

.staff-data-assist-color td {
    background-color: #deebf7 !important;
}

.required-medical-attention-section {
    background-color: #deebf7 !important;
    padding: 5px;
}

.required-medical-attention-subtable td,
.button-press-by-resident-fall td,
.button-press-by-staff-fall td,
.fall-drilldown-body td,
.fall-drilldown-header td {
    background-color: #FFE699 !important;
}

.fall-drilldown-header th {
    background-color: #FFE699 !important;
}

.staff-data-assist-color-header th {
    background-color: #FFE699 !important;
}

.required-medical-attention-section .row {
  margin-left: 0;
  margin-right: 0;
}
.fall-state-cell {
    text-align: center;
    padding: 32px 0;
}

/* ------------------------------------------------------------------ *
 * Standalone Fall Alert Report PDF route (rendered by Puppeteer)
 * ------------------------------------------------------------------ */
.ffarp-page {
    padding: 0;
    background: #ffffff;
    page: fallAlertLandscape;
}

.ffarp-preview {
    overflow: visible;
}

.ffarp-page .pdf-root {
    padding-bottom: 0;
}

.ffarp-page .fall-report-body > *:last-child,
.ffarp-page .fall-report-body > *:last-child table {
    margin-bottom: 0 !important;
}

@page fallAlertLandscape {
    size: A4 landscape;
    margin: 0;
}

/* Remove trailing margin on the last PDF element so html2pdf/Puppeteer don't emit a blank page */
.pdf-root > *:last-child,
.pdf-root .fall-report-body > *:last-child,
.pdf-root table:last-child {
    margin-bottom: 0 !important;
}

.ffarp-preview .pdf-root table {
    table-layout: auto;
}

.ffarp-preview .pdf-root td,
.ffarp-preview .pdf-root th {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.ffarp-preview .pdf-root .custom-table-responsive {
    page-break-inside: auto;
}

.ffarp-preview .pdf-root > *:last-child {
    margin-bottom: 0;
}

.ffarp-preview .pdf-root table:last-child {
    margin-bottom: 0;
}

/* ================================================================
   FacTempoNotConnectedReport — scoped styles (prefix: tnca-)
   ================================================================ */

/* White card container for the filter bar */
.tnca-filter-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
    padding: 14px 20px;
}

/* Flex row holding all filter controls */
.tnca-filter-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: space-between;
}

/* ---- Date-range trigger button ---- */
.tnca-date-filter-wrapper {
    position: relative;
}

.tnca-date-range-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background-color: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease;
    white-space: nowrap;
}

.tnca-date-range-trigger:hover {
    border-color: #f59325;
    color: #f59325;
}

.tnca-chevron {
    font-size: 11px;
    color: #999;
    transition: color 0.2s ease;
}

.tnca-date-range-trigger:hover .tnca-chevron {
    color: #f59325;
}

/* ---- Dropdown panel ---- */
.tnca-date-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 1001;
    width: 340px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.13);
    padding: 16px;
    border: 1px solid #f0f0f0;
}

/* Section labels inside the dropdown */
.tnca-dropdown-section-label {
    margin: 0 0 8px 0;
    font-size: 11px;
    font-weight: 700;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.tnca-section-label--range {
    margin-top: 14px;
}

/* Quick-select button grid — wraps naturally into rows */
.tnca-quick-select-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.tnca-quick-btn {
    padding: 5px 11px;
    font-size: 12px;
    background-color: #f7f7f7;
    border: 1px solid #e4e4e4;
    border-radius: 4px;
    color: #555;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    line-height: 1.5;
}

.tnca-quick-btn:hover {
    background-color: #fff0e0;
    border-color: #f59325;
    color: #c97a1a;
}

.tnca-quick-btn--active {
    background-color: #ffe4c6 !important;
    border-color: #f59325 !important;
    color: #c97a1a !important;
    font-weight: 600;
}

/* Footer buttons row */
.tnca-dropdown-footer {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    border-top: 1px solid #f0f0f0;
    padding-top: 14px;
}

.tnca-footer-btn {
    flex: 1;
    height: 38px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.tnca-footer-btn--cancel {
    background-color: #fff;
    border: 1px solid #f59325;
    color: #f59325;
}

.tnca-footer-btn--cancel:hover {
    background-color: #fff7f0;
}

.tnca-footer-btn--apply {
    background-color: #f59325;
    border: 1px solid #f59325;
    color: #fff;
}

.tnca-footer-btn--apply:hover {
    background-color: #d6831d;
}

.tnca-footer-btn--apply:disabled {
    background-color: #e0a74a;
    border-color: #e0a74a;
    cursor: not-allowed;
    opacity: 0.7;
}

/* ---- Range section: DateRangeTimePicker overrides (scoped) ---- */

/* Remove global left margin from the container rows */
.tnca-date-dropdown .date-inputs-container {
    margin-left: 0;
    gap: 10px;
}

/* "From" / "To" labels — match quick-btn text size */
.tnca-date-dropdown .date-label {
    font-size: 12px;
    color: #555;
    min-width: 28px;
    line-height: 1.5;
    margin: 0;
    align-self: center;
}

/* Ant Design DatePicker — visible border, content fully shown */
.tnca-date-dropdown .ant-picker {
    display: inline-flex !important;
    align-items: center !important;
    height: 28px !important;
    min-height: unset !important;
    width: 130px !important;
    font-size: 12px !important;
    border-radius: 4px !important;
    background-color: #fff !important;
    border: 1px solid #e4e4e4 !important;
    box-shadow: none !important;
    padding: 0 6px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
}

/* Make the input wrapper fill available space without clipping */
.tnca-date-dropdown .ant-picker .ant-picker-input {
    display: inline-flex !important;
    align-items: center !important;
    width: 100% !important;
    overflow: visible !important;
}

/* Inner text input — full width, no clipping */
.tnca-date-dropdown .ant-picker .ant-picker-input > input {
    width: 100% !important;
    min-width: 0 !important;
    font-size: 12px !important;
    color: #555 !important;
    background-color: transparent !important;
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    line-height: 1.5 !important;
}

.tnca-date-dropdown .ant-picker:hover {
    border-color: #f59325 !important;
    box-shadow: none !important;
}

.tnca-date-dropdown .ant-picker-focused,
.tnca-date-dropdown .ant-picker-outlined:focus,
.tnca-date-dropdown .ant-picker-outlined:focus-within {
    border-color: #f59325 !important;
    box-shadow: 0 0 0 2px rgba(245, 147, 37, 0.15) !important;
}

/* Time inputs — white, same size as quick-btns */
.tnca-date-dropdown .from-date-input,
.tnca-date-dropdown .to-date-input {
    border: 1px solid #e4e4e4;
    width: 108px;
    padding: 3px 8px;
    border-radius: 4px;
    height: 28px;
    line-height: 1;
    color: #555;
    font-size: 12px;
    background-color: #fff;
    flex-shrink: 0;
    transition: border-color 0.2s ease;
}

.tnca-date-dropdown .from-date-input:hover,
.tnca-date-dropdown .to-date-input:hover {
    border-color: #f59325;
}

.tnca-date-dropdown .from-date-input:focus,
.tnca-date-dropdown .to-date-input:focus {
    border-color: #f59325;
    box-shadow: none;
    outline: none;
}

/* ---- Report action buttons ---- */
.tnca-action-group {
    display: flex;
    align-items: center;
    gap: 4px;
    margin-left: auto;
}

.tnca-action-btn {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 6px 10px;
    background-color: transparent;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.15s ease;
    min-width: 48px;
}

.tnca-action-icon {
    width: 32px;
    height: 32px;
    object-fit: contain;
}

/* ---- Export (Excel/PDF) dropdown menu ---- */
.tnca-download-menu {
    position: absolute;
    top: 45px;
    right: 0;
    min-width: 140px;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    z-index: 1000;
    overflow: hidden;
}

.tnca-download-option {
    width: 100%;
    border: none;
    background: #fff;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    text-align: left;
}

.tnca-download-option:hover {
    background: #fff7f0;
}

.tnca-download-icon {
    width: 18px;
    height: 18px;
}

/* ---- Selected date range badge ---- */
.tnca-date-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    border-radius: 20px;
    background: linear-gradient(135deg, #f59325 0%, #ee7b0a 100%);
    color: #fff;
    letter-spacing: 0.02em;
    white-space: nowrap;
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 1px 4px rgba(245, 147, 37, 0.35);
    flex-shrink: 0;
}

/* White background tooltip for action buttons */
.tnca-white-tooltip {
    background-color: #fff !important;
    color: #333 !important;
    border: 1px solid #e4e4e4 !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12) !important;
    font-size: 12px !important;
    padding: 5px;
    border-radius: 4px !important;
}

/* ================================================================
   Report Body Card
   ================================================================ */

/* White card container for the report body */
.tnca-report-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
    padding: 20px 24px;
    margin-bottom: 24px;
}

/* Individual report section */
.tnca-report-section {
    padding: 8px 0;
}

/* Divider between sections */
.tnca-section-divider {
    border: none;
    border-top: 3px solid #f0f0f0;
    margin: 16px 0;
}

/* Subtitle label (e.g. "Reason for Leaving:", "Manager Notified:") */
.tnca-section-subtitle {
    font-size: 13px;
    font-weight: 600;
    color: #333;
    margin: 10px 0 6px 0;
}

/* ---- Table layout (header + data rows) ---- */
.tnca-table-header-row,
.tnca-table-data-row {
    display: flex;
    align-items: stretch;
    width: 100%;
}

/* Data row text size */
.tnca-table-data-row {
    font-size: 14px;
    align-items: center;
}

/* Column widths — mirrors PHP col-md-3 / col-md-3 / col-md-6 */
.tnca-col-alert-type {
    flex: 0 0 25%;
    max-width: 25%;
    padding: 8px 10px;
    text-align: left;
}

.tnca-col-events {
    flex: 0 0 25%;
    max-width: 25%;
    padding: 8px 10px;
    text-align: left !important;
}

.tnca-col-performance {
    flex: 0 0 50%;
    max-width: 50%;
    padding: 8px 10px;
    display: flex;
    align-items: center;
}

/* Header cell styles */
.tnca-th {
    font-size: 12px;
    font-weight: 700;
    color: #555;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding-bottom: 8px;
}

/* Striped data row — Section 1 Summary */
.tnca-row-striped {
    background-color: #e7e6e6;
    border-radius: 4px;
}

/* Green row — Section 2 "Reason for Leaving" group */
.tnca-row-green {
    background-color: #e2f0d9;
    border-radius: 4px;
}

/* Blue row — Section 2 "Manager Notified" group + Resident details */
.tnca-row-blue {
    background-color: #deebf7;
    border-radius: 4px;
}

/* Orange row — Section 3 Auto-Resolved + Section 4 Cancelled */
.tnca-row-orange {
    background-color: #fbe5d6;
    border-radius: 4px;
}

/* Data label / value inside a cell */
.tnca-data-label {
    font-size: 14px;
    color: #333;
    font-weight: 500;
}

.tnca-data-value {
    font-size: 14px;
    color: #555;
    margin-top: 2px;
}

/* Performance label-value pairs (Avg Take / Resolve / Total) */
/* Grid lines up all colons in a straight column with values left-aligned beside them */
.tnca-perf-labels {
    display: grid;
    grid-template-columns: auto auto 1fr;
    column-gap: 0;
    align-items: baseline;
    width: fit-content;
}

/* Row spans the three grid columns via its children */
.tnca-perf-row {
    display: contents;
    font-size: 14px;
    color: #555;
    line-height: 1.6;
}

/* Label cell — right-aligned so colons line up vertically */
.tnca-perf-label {
    text-align: right;
    color: #555;
}

/* Colon separator placed immediately after the label */
.tnca-perf-colon {
    color: #555;
}

.tnca-perf-value {
    font-weight: 600;
    color: #333;
    margin-left: 12px;
    white-space: nowrap;
}

/* No data placeholder — inline within a section */
.tnca-no-data {
    font-size: 13px;
    color: #aaa;
    padding: 12px 10px;
    text-align: center;
}

/* Full-card no-data message — shown when API returns zero events */
.tnca-no-data-message {
    padding: 40px 20px;
    text-align: center;
    font-size: 14px;
    color: #888;
}

/* Full-card no-data message — shown when API returns zero events */
.tnca-no-data-message-pdf {
    padding: 40px 20px;
    text-align: center;
    font-size: 20px;
    color: #888;
}

/* Resident block groups a data row + its drill-down */
.tnca-resident-block {
    margin-bottom: 4px;
}

/* Drill-down container — rendered conditionally; always visible when present */
.tnca-drill-down {
    background-color: #deebf7;
    border: 1px solid #c5dcf0;
    border-top: none;
    border-radius: 0 0 4px 4px;
    margin-bottom: 4px;
}

/* Drill-down header row */
.tnca-drill-header-row {
    display: flex;
    align-items: center;
    padding: 5px 8px;
    background-color: #ffffff;
    border-bottom: 1px solid #ffffff;
    font-size: 12px;
    font-weight: 600;
    color: #444;
    text-align: center;
}

/* Drill-down data rows */
.tnca-drill-data-row {
    display: flex;
    align-items: center;
    padding: 5px 8px;
    font-size: 14px;
    color: #333;
    text-align: center;
}

.tnca-drill-row-even {
    background-color: #deebf7;
}

.tnca-drill-row-odd {
    background-color: #deebf7;
}

/* Drill-down column widths — 6 columns */
.tnca-drill-col-resname   { flex: 0 0 18%; }
.tnca-drill-col-count     { flex: 0 0 12%; text-align: center; }
.tnca-drill-col-datetime  { flex: 0 0 20%; }
.tnca-drill-col-time      { flex: 0 0 13%; text-align: center; }
.tnca-drill-col-reason    { flex: 1 1 auto; }
.tnca-drill-col-reconnect { flex: 0 0 14%; text-align: center; }

/* Drill-down body — name/count cells span vertically beside the stacked alert rows */
.tnca-drill-body {
    display: flex;
    align-items: stretch;
}

/* Name & count cells centered both horizontally and vertically across all rows */
.tnca-drill-span-cell {
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 5px 8px;
    font-size: 14px;
    color: #333;
}

/* Stacked per-alert rows occupying the remaining 70% width */
.tnca-drill-rows {
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}

/* Re-scope inner column widths relative to the 70% rows container to stay aligned with the header */
.tnca-drill-rows .tnca-drill-col-datetime  { flex: 0 0 28.571%; }
.tnca-drill-rows .tnca-drill-col-time      { flex: 0 0 18.571%; }
.tnca-drill-rows .tnca-drill-col-reconnect { flex: 0 0 20%; }
.tnca-drill-rows .tnca-drill-col-reason    { flex: 1 1 auto; }

/* Resident name as clickable link-style button */
.tnca-resident-name-btn {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #23527c;
    font-weight: 600;
    font-size: 14px;
    text-align: center;
    text-decoration: underline;
}

.tnca-resident-name-btn:hover {
    color: #0a58ca;
}

.tnca-state-cell {
    text-align: center;
    padding: 32px 0;
}

.ffrp-page {
    padding: 0;
    background: #ffffff;
    page: facFloorLandscape;
}

.ffrp-preview {
    overflow: visible;
}

@page facFloorLandscape {
    size: A4 landscape;
    margin: 0;
}

.ffrp-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.ffrp-th {
    background: #e6e6e6;
    color: #565656;
    font-weight: 600;
    font-size: 13px;
    padding: 8px 10px;
    text-align: left;
    border: none;
}

.ffrp-td {
    color: #707478;
    padding: 8px 10px;
    font-size: 13px;
    border: none;
    word-wrap: break-word;
}

.ffrp-row-even .ffrp-td {
    background-color: #ffffff;
}

.ffrp-row-odd .ffrp-td {
    background-color: #f8f8f8;
}

.ffrp-no-data-message {
    text-align: center;
    font-size: 15px;
    color: #707478;
    padding: 40px 10px;
}

.pdf-root > *:last-child {
    margin-bottom: 0 !important;
}

.blrp-page {
    padding: 0;
    background: #ffffff;
    page: beaconListLandscape;
}

.blrp-preview {
    overflow: visible;
}

@page beaconListLandscape {
    size: A4 landscape;
    margin: 0;
}

body:has(.bl-pdf-root) .Toastify {
    display: none !important;
}

.earp-page {
    padding: 0;
    background: #ffffff;
}

.earp-preview {
    overflow: visible;
}

@page {
    size: A4 portrait;
    margin: 0;
}

.earp-report,
.earp-table {
    break-before: auto;
    page-break-before: auto;
}

.earp-table {
    break-inside: auto;
    page-break-inside: auto;
}

.earp-table thead {
    display: table-header-group;
}

.earp-table tr {
    break-inside: avoid;
    page-break-inside: avoid;
}

.earp-pdf-divider {
    border: 0;
    border-top: 1px solid #dee2e6;
    margin: 12px 0;
}

body:has(.earp-report) .Toastify {
    display: none !important;
}

.carp-page {
    padding: 0;
    background: #ffffff;
}

.carp-preview {
    overflow: visible;
}

@page {
    size: A4 portrait;
    margin: 0;
}

.carp-report,
.carp-table {
    break-before: auto;
    page-break-before: auto;
}

.carp-table {
    break-inside: auto;
    page-break-inside: auto;
}

.carp-table thead {
    display: table-header-group;
}

.carp-table tr {
    break-inside: avoid;
    page-break-inside: avoid;
}

.carp-pdf-divider {
    border: 0;
    border-top: 1px solid #dee2e6;
    margin: 12px 0;
}

body:has(.carp-report) .Toastify {
    display: none !important;
}

.csrp-page {
    padding: 0;
    background: #ffffff;
    page: communityStaffLandscape;
}

.csrp-preview {
    overflow: visible;
}

@page communityStaffLandscape {
    size: A4 landscape;
    margin: 0;
}

.csrp-pdf-divider {
    border: 0;
    border-top: 1px solid #dee2e6;
    margin: 12px 0;
}

body:has(.csrp-report) .Toastify {
    display: none !important;
}

#tempo-worn-report-panel.custom-panel{
    margin-bottom: 0px;
}

.twrp-pdf-root {
    width: 100%;
    display: block;
    margin: 0;
}

.twrp-pdf-root table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}

.twrp-pdf-root td,
.twrp-pdf-root th {
    border: 1px solid #dee2e6;
    padding: 6px 8px;
    font-size: 11px;
    vertical-align: middle;
}

.twrp-pdf-root thead th {
    background: #f5f5f5;
    color: #333;
    font-weight: 700;
    text-align: left;
}

#tempo-worn-body {

    .panel-body {
        background-color: #fff;
    }
    
    .btn-group-custom {
        display: inline-flex;
        align-items: center;
        height: 38px;
        border-radius: 4px;
    }

    .range-btn {
        padding: 0 14px;
        display: inline-flex;
        align-items: center;
        background-color: #e0e0e0;
        border: 1px solid #d0d0d0;
        cursor: pointer;
        font-size: 14px;
        transition: all 0.2s ease;
        height: 38px;
    }

    .range-btn:not(:last-child) {
        border-right: none;
    }

    .range-btn:first-child {
        border-radius: 6px 0 0 6px;
    }

    .range-btn:last-child {
        border-radius: 0 6px 6px 0;
    }

    .range-btn:hover:not(.active) {
        background-color: #d5d5d5;
    }

    .range-btn.active {
        background-color: #f59325;
        color: #fff;
        border-color: #f59325;
    }

    .range-btn.active:hover {
        background-color: #e58210;
    }
}

#tempo-worn-table {
    padding: 20px;

    .tempo-worn-notes {
        font-size: 16px;
    }

    .tempo-worn-status {
        color: #f59325;
    }

    .custom-header-with-color {
        background-color: #348fe2 !important;
        color: #fff !important;
    }

    .tempo-worn-clickable {
        cursor: pointer;
        color: #348fe2;
    }

    .tempo-worn-clickable:hover {
        text-decoration: underline;
    }
}

.twr-table-state-cell {
    text-align: center;
    padding: 24px 0;
}

.tempo-worn-secondary-notes {
    display: flex;
    align-items: center;
    justify-content: center;
}

.tempo-worn-secondary-notes-label {
    font-size: 13px;
    color: #575757;
    text-align: center;
}

.tempo-worn-table.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.tempo-worn-table .custom-table {
    border-collapse: separate;
    border-spacing: 0;
}

.tempo-worn-table .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #E6E6E6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.twrp-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
    font-size: 12px;
}

.twrp-th {
    background: #e6e6e6;
    color: #565656;
    font-weight: 600;
    font-size: 12px;
    padding: 6px 8px;
    text-align: left;
    border: 1px solid #dee2e6;
    word-wrap: break-word;
    overflow-wrap: anywhere;
}

.twrp-td {
    color: #707478;
    padding: 6px 8px;
    font-size: 12px;
    border: 1px solid #dee2e6;
    vertical-align: middle;
    line-height: 1.3;
    word-break: break-word;
    overflow-wrap: anywhere;
    white-space: normal;
}

.twrp-row-even .twrp-td {
    background-color: #ffffff;
}

.twrp-row-odd .twrp-td {
    background-color: #f8f8f8;
}

.twrp-badge {
    display: inline-block;
    background: #f0ad4e;
    color: #ffffff;
    font-size: 11px;
    padding: 2px 6px;
    border-radius: 4px;
    white-space: normal;
}

.twrp-table tr {
    page-break-inside: avoid;
}

.twrp-page {
    padding: 0;
    background: #ffffff;
    page: tempoWornLandscape;
}

.twrp-preview {
    overflow: visible;
}

.twrp-page .twrp-pdf-root {
    padding-bottom: 0;
}

.twrp-page .twrp-pdf-root > *:last-child,
.twrp-page .twrp-pdf-root > *:last-child table {
    margin-bottom: 0 !important;
}

@page tempoWornLandscape {
    size: A4 landscape;
    margin: 0;
}

.twrp-preview .twrp-pdf-root table {
    width: 100%;
    border-collapse: collapse;
    table-layout: auto;
}

.twrp-preview .twrp-pdf-root td,
.twrp-preview .twrp-pdf-root th {
    border: 1px solid #dee2e6;
    padding: 6px 8px;
    font-size: 11px;
    vertical-align: middle;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.twrp-preview .twrp-pdf-root thead th {
    background: #f5f5f5;
    color: #333;
    font-weight: 700;
    text-align: left;
}

.twrp-preview .custom-table-responsive {
    overflow: visible !important;
    page-break-inside: auto !important;
    break-inside: auto !important;
}

.twrp-preview .twrp-pdf-root > *:last-child {
    margin-bottom: 0;
}

.twrp-preview .twrp-pdf-root table:last-child {
    margin-bottom: 0;
}

body:has(.twrp-pdf-root) .Toastify {
    display: none !important;
}

#rpm-manager-filter-panel .panel-body {
    background-color: #fff;
    padding: 14px 16px;
    border-radius: 4px;
}

.rpm-row {
    align-items: center;
}

.fac-rpm-dropdown {
    width: auto;
    position: relative;
}

/* Keep the dropdown button on a single line so the label/value never break */
.rpm-button {
    width: auto;
    height: 35px !important;
    min-height: 35px;
    padding: 0 12px;
    line-height: 1;
    box-sizing: border-box;
    background-color: #f4f4f4;
    color: #636363;
    font-size: 14px;
    white-space: nowrap;
    overflow: hidden;
    border: 1px solid #e2e2e2 !important;
    border-radius: 6px;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.rpm-button:hover,
.rpm-button:focus,
.rpm-button[aria-expanded="true"] {
    border-color: #f59325 !important;
    box-shadow: 0 0 0 2px rgba(245, 147, 37, 0.12);
}

.rpm-button .rpm-title {
    white-space: nowrap;
}

.rpm-selected,
.rpm-date-range {
    font-weight: 700;
    text-align: start;
    white-space: nowrap;
    margin-left: 6px;
}

/* Dropdown menu styling for the RPM filters */
.fac-rpm-dropdown .dropdown-menu {
    position: absolute !important;
    inset: auto !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    transform: none !important;
    width: 100%;
    min-width: 100%;
    margin-top: 2px;
    padding: 4px !important;
    border: 1px solid #e2e2e2;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
    max-height: 240px;
    overflow-y: auto;
}

.fac-rpm-dropdown .form-check {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
    padding: 6px 10px;
    padding-left: 10px;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.12s ease;
}

.fac-rpm-dropdown .form-check:hover {
    background-color: #f6f6f6;
}

.fac-rpm-dropdown .form-check-input {
    flex: 0 0 auto;
    width: 15px;
    height: 15px;
    margin: 0 !important;
    float: none !important;
    transform: none;
    cursor: pointer;
}

.fac-rpm-dropdown .form-check-input:checked {
    background-color: #f59325;
    border-color: #f59325;
}

.fac-rpm-dropdown .form-check-label {
    margin: 0;
    color: #4a4a4a;
    font-size: 14px;
    line-height: 1.2;
    cursor: pointer;
}

/* Inline loading / error state cell for the table area */
.rpm-state-cell {
    text-align: center;
    padding: 32px 0;
}

.dropdown-menu {
    padding: 10px !important;
}

.rpm-manager-no-data {
    font-size: 18px;
    text-align: center;
}

#rpm-manager-table-body {
    .profile-avatar {
        width: 40px;
        height: 40px;
        object-fit: cover;
    }

    .avatar-placeholder {
        width: 40px;
        height: 40px;
        background-color: #e6e6e6;
        font-weight: 600;
        font-size: 14px;
        color: #333;
    }
}

#rpm-manager-table .custom-table-responsive {
    padding: 20px;
}

#rpm-manager-table {
    .custom-checkbox {
        cursor: pointer;
    }

    .custom-checkbox:checked {
        background-color: #f59325;
        border-color: #f59325;
    }

    .custom-checkbox:checked::before {
        color: #ffffff;
    }
}

.rpm-search-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
    width: 100%;
}

.rpm-search-input {
    padding-right: 32px;
    width: 100%;
    height: 35px !important;
    box-sizing: border-box;
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

/* Match the orange selected state used by the RPM daily reading / date range fields */
.rpm-search-input:focus,
.rpm-search-input:hover {
    border-color: #f59325 !important;
    box-shadow: 0 0 0 2px rgba(245, 147, 37, 0.12);
    outline: none;
}

.rpm-search-icon {
    position: absolute;
    right: 10px;
    color: #888;
    font-size: 13px;
    pointer-events: none;
}

.rpm-search-clear {
    position: absolute;
    right: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 20px;
    height: 20px;
    padding: 0;
    border: none;
    border-radius: 50%;
    background-color: transparent;
    color: #888;
    font-size: 13px;
    cursor: pointer;
    transition: background-color 0.12s ease, color 0.12s ease;
}

.rpm-search-clear:hover {
    background-color: #f0f0f0;
    color: #444;
}

.rpm-caret {
    margin-left: 8px;
    font-size: 13px;
    transition: transform 0.15s ease;
}

.rpm-button.dropdown-toggle::after {
    display: none;
}

.rpm-button[aria-expanded="true"] .rpm-caret {
    transform: rotate(180deg);
}

.rpm-export-wrapper {
    position: relative;
    display: inline-flex;
    align-items: center;
}

.rpm-export-tooltip {
    position: absolute;
    bottom: calc(100% + 8px);
    right: 0;
    padding: 6px 10px;
    background-color: #ffffff;
    color: #333;
    border: 1px solid #e2e2e2;
    border-radius: 4px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
    font-size: 12px;
    white-space: nowrap;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.15s ease;
    z-index: 10;
}

.rpm-export-wrapper:hover .rpm-export-tooltip {
    opacity: 1;
    visibility: visible;
}

/* ── Table spacing & alignment ─────────────────────────────────────────── */
/* Tighten the generous default cell padding to match the CP Admin layout */
#rpm-manager-table .custom-table > thead > tr > th,
#rpm-manager-table .custom-table > tbody > tr > td {
    padding: 8px 10px;
    vertical-align: middle;
}

/* Clickable resident rows use a hand cursor to signal expand-on-click */
#rpm-manager-table-body tr.rpm-resident-row {
    cursor: pointer;
}

/* Keep the checkbox centred and vertically aligned with the profile icon */
#rpm-manager-table-body td.rpm-checkbox-cell {
    vertical-align: middle;
    width: 44px;
}

/* First Name cell aligns its avatar + name on the same middle baseline as
   the Last Name / device columns (previously pushed down by pb-4) */
#rpm-manager-table-body td.rpm-resident-cell {
    vertical-align: middle;
}

.rpm-resident-name {
    line-height: 1.2;
}

/* Show the device name and its reading count together as one rounded badge */
.device-type-info {
    display: inline-flex;
    align-items: stretch;
    border-radius: 4px;
    overflow: hidden;
    margin: 2px 0;
}

.device-type-info-span.rpm-device-name {
    padding: 2px 8px;
    background-color: rgba(245, 147, 37, 0.12);
    color: #d97706;
    font-weight: 600;
}

.device-type-info-number {
    padding: 2px 8px;
    background-color: #f59325;
    color: #ffffff;
    font-weight: 600;
}

/* Clearly mark which resident row is currently expanded */
#rpm-manager-table-body tr.rpm-row-expanded > td {
    background-color: #fff7ec;
}

#rpm-manager-table-body tr.rpm-row-expanded > td:first-child {
    border-left: 3px solid #f59325;
}

/* Keep the expanded device details table columns evenly sized so
   Device Type / Brand / Model stay in consistent positions */
.rpm-expanded-table {
    table-layout: fixed;
    width: 100%;
    border: 1px solid #e2e2e2;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}

.rpm-expanded-table th,
.rpm-expanded-table td {
    padding: 8px 10px;
    vertical-align: middle;
    word-break: break-word;
    font-size: 12px;
}

/* Column widths — device columns narrowed; Location / Date get the extra room */
.rpm-expanded-table col.rpm-col-type,
.rpm-expanded-table col.rpm-col-deviceid {
    width: 10%;
}

.rpm-expanded-table col.rpm-col-brand,
.rpm-expanded-table col.rpm-col-model {
    width: 10%;
}

.rpm-expanded-table col.rpm-col-location {
    width: 30%;
}

.rpm-expanded-table col.rpm-col-datetime {
    width: 16%;
}

/* Present the expanded content as an indented, card-like sub-table */
.rpm-subtable-wrapper {
    padding: 12px 16px 16px 40px;
    background-color: #fafafa;
}

.rpm-subtable-title {
    font-weight: 700;
    font-size: 14px;
    color: #333;
    margin-bottom: 8px;
}

.rpm-expanded-row > td {
    background-color: #fafafa;
}
/* FacStaffInteractionEmailModal styles */

#emailModal .modal-dialog {
    max-width: 650px;
    width: 90%;
}

/* Shift the centered dialog a bit above the vertical center */
#emailModal .modal-dialog-centered {
    align-items: flex-start;
    margin-top: 8vh;
}

.fac-staff-email-modal-header {
    color: #ffffff;
    border-bottom: none;
    padding: 14px 20px;
}

.fac-staff-email-modal-header .modal-title {
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90%;
}

.fac-staff-email-modal-header .btn-close {
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.fac-staff-email-modal-header .btn-close:hover {
    opacity: 1;
}

.fac-staff-email-modal-body {
    padding: 20px 24px;
}

.fac-staff-email-modal-body .fac-staff-email-field-group {
    margin-bottom: 16px;
}

.fac-staff-email-modal-body .fac-staff-email-label {
    font-weight: 600;
    font-size: 14px;
    color: #333333;
    padding-top: 8px;
}

.fac-staff-email-modal-body .fac-staff-email-note {
    font-size: 11px;
    color: #888888;
    margin-top: 4px;
}

.fac-staff-email-modal-body .fac-staff-email-textarea {
    resize: vertical;
    min-height: 90px;
}

.fac-staff-email-modal-footer {
    border-top: 1px solid #e9ecef;
    padding: 12px 20px;
    gap: 10px;
}

/* Multi-email tag input */
.fac-staff-email-tag-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    padding: 6px 10px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    background-color: #ffffff;
    cursor: text;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.fac-staff-email-tag-container:focus-within {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.fac-staff-email-tag-container.is-invalid {
    border-color: #dc3545;
}

.fac-staff-email-tag-container.is-invalid:focus-within {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.fac-staff-email-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    background-color: #f59325;
    color: #ffffff;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.fac-staff-email-tag-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #ffffff;
    cursor: pointer;
    padding: 0;
    font-size: 14px;
    line-height: 1;
    opacity: 0.8;
    flex-shrink: 0;
}

.fac-staff-email-tag-remove:hover {
    opacity: 1;
}

.fac-staff-email-tag-input {
    border: none;
    outline: none;
    flex: 1;
    min-width: 160px;
    font-size: 14px;
    padding: 0;
    background: transparent;
}

#sir-staff-resident-interaction-report {
    padding: 20px;
}

.sir-note b {
    font-size: 14px;
    font-weight: 700;
}

.sir-note .sir-toggle {
    padding-left: 30px;
}

.sir-note .sir-toggle2 {
    padding-top: 30px;
    vertical-align: top;
    font-size: 14px;
}

.sir-export-btn {
    text-align: end;
    margin-right: 30px;
    padding-bottom: 10px;
}

.sir-custom-switch {
    position: relative;
    width: 50px;
    height: 24px;
    appearance: none;
    background-color: #ccc;
    border-radius: 12px;
    outline: none;
    cursor: pointer;
    transition: background-color 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

.sir-custom-switch::before {
    content: '';
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background-color: white;
    left: 2px;
    top: 2px;
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}

.sir-custom-switch:checked {
    background-color: #f59325;
}

.sir-custom-switch:checked::before {
    transform: translateX(26px);
}

.sir-header-divider {
    margin: 5px;
}

.sir-export-button {
    display: inline-flex;
    align-items: center;
    padding: 8px 16px;
    background-color: #f59325;
    color: #fff;
    border: none;
    border-radius: 20px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
    transition: background-color 0.2s ease;
}

.sir-export-button:hover {
    background-color: #d97f1a;
}

.sir-table-staff-wrapper {
    overflow-y: auto;
}

.sir-table-staff-wrapper--expanded {
    min-height: 400px;
    max-height: 400px;
}

.sir-table-resident-wrapper {
    min-height: 400px;
}

.progress .sir-progress-bar-primary {
  background-color: #05C3DD !important;
}

.sir-trend-sparkline {
    height: 30px;
    width: 65px;
    display: block;
}
#staff-interaction-report-filter {
    margin-bottom: 0;
}

.fsir-filter-label {
    font-size: 14px;
    white-space: nowrap;
}

.fsir-filter-label-icon {
    margin-right: 4px;
}

.fsir-select-wrapper {
    min-width: 280px;
}

.fsir-spinner-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 0;
}

.fsir-spinner {
    width: 1.5rem;
    height: 1.5rem;
    color: #000;
    border-width: 0.2em;
}

#staff-interaction-report.panel.custom-panel {
    margin-bottom: 0;
}

#staff-interaction-report-body {
    .panel-body {
        background-color: #fff;
    }

    .btn-group-custom {
        display: inline-flex;
        align-items: center;
        height: 35px;
    }

    .range-btn {
        padding: 0 14px;
        display: inline-flex;
        align-items: center;
        background-color: #e0e0e0;
        border: 1px solid #d0d0d0;
        cursor: pointer;
        font-size: 14px;
        transition: all 0.2s ease;
        height: 35px;
    }

    .range-btn:not(:last-child) {
        border-right: none;
    }

    .range-btn:first-child {
        border-radius: 6px 0 0 6px;
    }

    .range-btn:last-child {
        border-radius: 0 6px 6px 0;
    }

    .range-btn:hover:not(.active) {
        background-color: #d5d5d5;
    }

    .range-btn.active {
        background-color: #f59325;
        color: #fff;
        border-color: #f59325;
    }

    .range-btn.active:hover {
        background-color: #e58210;
    }
}

.fsir-report-state {
    text-align: center;
    padding: 32px 0;
}
/* ------------------------------------------------------------------ *
 * Standalone Staff-Resident Interaction PDF route (rendered by Puppeteer)
 * ------------------------------------------------------------------ */
.fsirp-page {
    padding: 0;
    background: #ffffff;
    page: fsirLandscape;
}

.fsirp-preview {
    overflow: visible;
}

.fsirp-page .pdf-root {
    padding-bottom: 0;
}

.fsirp-page .pdf-root > *:last-child,
.fsirp-page .pdf-root > *:last-child table {
    margin-bottom: 0 !important;
}

@page fsirLandscape {
    size: A4 landscape;
    margin: 0;
}

.fsirp-preview .pdf-root table {
    table-layout: auto;
}

.fsirp-preview .pdf-root td,
.fsirp-preview .pdf-root th {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.fsirp-preview .pdf-root .custom-table-responsive {
    overflow: visible;
    page-break-inside: auto;
}

.rci-left-span-chart-above {
    font-weight: bold;
}

.rci-tempo-chart-tilte {
    font-size: 20px;
    font-weight: 700;
}

.rci-chart {
    padding: 15px;
}

.rci-chart-left-first {
    width: 100%;
    padding-top: 0px;
    padding-left: 50px;
}

.rci-chart-left-first span {
    float: left;
    padding-left: 20px;
}

.rci-chart-left-first-div span>p {
    float: right;
    padding-top: 12px;
    padding-left: 5px;
}

.rci-chart-left-second-div {
    width: 100%;
    padding-top: 0px;
    padding-left: 50px;
}

.rci-chart-left-second-div span {
    float: left;
    padding: 0px 0px 15px 15px;
    display: inline-flex;
}

.rci-chart-left-second-div span>p {
    float: right;
    padding-top: 12px;
    padding-left: 5px;
}

.rci-tempo-not-connected-square {
    height: 15px;
    width: 15px;
    background-color: rgb(127, 127, 127);
    border-radius: 5%;
    display: inline-block;
}

.rci-wifi-not-connected-span {
    font-size: 12px;
    font-style: italic;
    display: block;
}

.rci-not-connected-alert-circle {
    height: 15px;
    width: 15px;
    background-color: rgb(64, 64, 64);
    border-radius: 50%;
    display: inline-block;
}

.rci-low-battery-alert-circle {
    height: 15px;
    width: 15px;
    background-color: rgb(192, 0, 0);
    border-radius: 50%;
    display: inline-block;
}

.rci-battery-replaced-circle {
    height: 15px;
    width: 15px;
    background-color: rgb(61, 170, 214);
    border-radius: 50%;
    display: inline-block;
}

.rci-tempo-chart-container {
    border: 2px solid #767171;
    width: auto;
    border-radius: 50px;
}
/* FacStaffInteractionEmailModal styles */
#rem-emailModal .modal-content {
    width: 700px !important;
}

#rem-emailModal .modal-dialog {
    max-width: 650px;
    width: 90%;
}

.rem-staff-email-modal-header {
    color: #ffffff;
    border-bottom: none;
    padding: 14px 20px;
}

.rem-staff-email-modal-header .modal-title {
    font-size: 16px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 90%;
}

.rem-staff-email-modal-header .btn-close {
    filter: brightness(0) invert(1);
    opacity: 0.9;
}

.rem-staff-email-modal-header .btn-close:hover {
    opacity: 1;
}

.rem-staff-email-modal-body {
    padding: 20px 24px;
}

.rem-staff-email-modal-body .rem-staff-email-field-group {
    margin-bottom: 16px;
}

.rem-staff-email-modal-body .rem-staff-email-label {
    font-weight: 600;
    font-size: 14px;
    color: #333333;
    padding-top: 8px;
}

.rem-staff-email-modal-body .rem-staff-email-note {
    font-size: 11px;
    color: #888888;
    margin-top: 4px;
}

.rem-staff-email-modal-body .rem-staff-email-textarea {
    resize: vertical;
    min-height: 90px;
}

.rem-staff-email-modal-footer {
    border-top: 1px solid #e9ecef;
    padding: 12px 20px;
    gap: 10px;
}

/* Multi-email tag input */
.rem-staff-email-tag-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-height: 40px;
    padding: 6px 10px;
    border: 1px solid #ced4da;
    border-radius: 6px;
    background-color: #ffffff;
    cursor: text;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.rem-staff-email-tag-container:focus-within {
    border-color: #86b7fe;
    outline: 0;
    box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
}

.rem-staff-email-tag-container.is-invalid {
    border-color: #dc3545;
}

.rem-staff-email-tag-container.is-invalid:focus-within {
    box-shadow: 0 0 0 0.25rem rgba(220, 53, 69, 0.25);
}

.rem-staff-email-tag {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 2px 8px;
    background-color: #f59325;
    color: #ffffff;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    max-width: 200px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.rem-staff-email-tag-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    color: #ffffff;
    cursor: pointer;
    padding: 0;
    font-size: 14px;
    line-height: 1;
    opacity: 0.8;
    flex-shrink: 0;
}

.rem-staff-email-tag-remove:hover {
    opacity: 1;
}

.rem-staff-email-tag-input {
    border: none;
    outline: none;
    flex: 1;
    min-width: 160px;
    font-size: 14px;
    padding: 0;
    background: transparent;
}

#rtbr-filter-panel {
    margin-bottom: 0;
}

#rtbr-body,
#rtbr-filter {
    background-color: #ffffff;
}

.rtbr-notes {
    border-left: 3px solid #000000;
    margin-top: 12px;
    justify-content: center;
}

.rtbr-notes p {
    text-align: left;
    margin-bottom: 0;
}

/* Normalize control heights in the filter row */
#rtbr-body .form-control,
#rtbr-body .btn,
#rtbr-body input[type="text"] {
    height: 38px;
    min-height: 38px;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 38px;
}

#rtbr-body .basic-select .select__control {
    height: 38px;
    min-height: 38px;
    border-radius: 4px;
}

#rtbr-body .basic-select .select__value-container {
    height: 38px;
    padding: 0 8px;
}

#rtbr-body .basic-select .select__single-value,
#rtbr-body .basic-select .select__placeholder {
    line-height: 38px;
    margin: 0;
}

#rtbr-body .basic-select .select__indicators {
    height: 38px;
}

#rtbr-body .basic-select .select__input-container {
    margin: 0;
    padding: 0;
}

.rtbr-no-data {
    font-size: 16px;
}

.rtbr-spinner-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 40px 0;
}

.rtbr-spinner {
    width: 1.5rem;
    height: 1.5rem;
    color: #000;
    border-width: 0.2em;
}

.rtbr-load-more-wrapper {
    margin: 16px 0 8px;
}

.rtbr-load-more-button {
    min-width: 140px;
}
/* ------------------------------------------------------------------ *
 * Standalone Resident/Client Tempo Battery Report PDF route (Puppeteer)
 * ------------------------------------------------------------------ */
.rtbrp-page {
    padding: 0;
    background: #ffffff;
    page: rtbrpLandscape;
}

.rtbrp-preview {
    overflow: visible;
}

@page rtbrpLandscape {
    size: A4 landscape;
    margin: 8mm;
}



#geo-fence-report {
    background: white;
}

#geo-fence-report .range-selection {
    cursor: pointer;
    color: #337ab7;
}

#geo-fence-report .range-selection:hover {
    text-decoration: underline;
}

/* Constrain the Start/End date inputs so they don't stretch too wide */
#geo-fence-report .geo-date-field {
    max-width: 200px;
}

/* Invisible label keeps the buttons aligned with the date inputs */
#geo-fence-report .geo-action-spacer {
    display: block;
}

/* Action buttons: 3 per row, compact width, aligned with the date inputs */
#geo-fence-report .geo-action-buttons {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 150px));
    gap: 0.5rem;
    align-items: start;
}

#geo-fence-report .geo-action-buttons .btn {
    width: 100%;
    height: 35px;
    padding: 0 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.geo-report-body {
    background: white;
    padding: 20px;
}

.geo-no-data {
    text-align: center;
    font-size: 14px;
    color: #888;
}

.geo-header {
    background-color: #FFF;
    font-style: italic;
    text-align: left;
    font-weight: bold;
}

.geofence_take_color td {
  background-color: #E2F0D9 !important;
}

/* Compact row spacing for body table cells */
.geo-report-body .custom-table > tbody > tr > td:not(.geo-drilldown-cell) {
    padding: 6px 12px !important;
    line-height: 1.4;
    height: auto !important;
}

.geo-report-body .custom-table > tbody > tr > td.geo-resident-name {
    padding-left: 28px !important;
}

.geofence_planned_exit_color td {
	background: #DEEBF7 !important;
}

/* Body tables: center all data except the first column */
.geo-report-body table > tbody > tr > td {
    text-align: center;
    vertical-align: middle;
}

.geo-report-body table > tbody > tr > td:first-child {
    text-align: left;
}

/* Headers follow the same alignment as their data so columns line up */
.geo-report-body table > thead > tr > th {
    text-align: center;
    vertical-align: middle;
}

.geo-report-body table > thead > tr > th:first-child {
    text-align: left;
}

/* Sortable column headers show a pointer cursor */
.geo-report-body th[role="button"] {
    cursor: pointer;
}

/* Section label row placed below the header for each Geo-Fence group */
.geo-section-title {
    font-weight: bold;
    font-style: italic;
    text-align: left;
    background-color: #f2f2f2;
}

/* Performance metric labels centered as a group while last letters align internally */
.geo-performance-group {
    display: inline-block;
    text-align: left;
}

.geo-performance-label {
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    white-space: nowrap;
}

/* Hand cursor on labels that show a hover tooltip */
.geo-performance-label[title] {
    cursor: pointer;
}

.geo-performance-name {
    flex: 0 0 220px;
    text-align: right;
    text-decoration: underline;
}

.geo-performance-value {
    flex: 0 0 auto;
    margin-left: 40px;
    white-space: nowrap;
}
/* Resident name row spanning all columns */
.geo-resident-name {
    font-weight: bold;
    background-color: #fff !important;
    padding-left: 28px !important;
}

/* Clickable alert count that triggers the drill-down */
.geo-drilldown-link {
    color: #337ab7;
    cursor: pointer;
    text-decoration: underline;
}

.geo-drilldown-link:hover {
    color: #23527c;
}

/* Cell that wraps the nested drill-down table */
.geo-drilldown-cell {
    padding: 0 !important;
    background-color: #f9f9f9 !important;
}

/* Nested individual-alert drill-down table */
.geo-drilldown-table {
    margin-bottom: 0;
    font-size: 0.9em;
}

.geo-drilldown-table .geo-drilldown-header th {
    background-color: #dce6f1;
    font-style: italic;
    font-weight: bold;
}
.geo-state-cell {
    text-align: center;
    padding: 32px 0;
}

.odc-filter-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
    padding: 8px 16px;
}

.odc-filter-bar {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    justify-content: space-between;
}

.odc-filter-controls {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}

.odc-caretype-wrapper,
.odc-date-filter-wrapper {
    position: relative;
}

.odc-caretype-trigger,
.odc-date-range-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background-color: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    font-size: 14px;
    color: #333;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease;
    white-space: nowrap;
}

.odc-caretype-trigger:hover,
.odc-date-range-trigger:hover {
    border-color: #f59325;
    color: #f59325;
}

.odc-chevron {
    font-size: 11px;
    color: #999;
    transition: color 0.2s ease;
}

.odc-caretype-trigger:hover .odc-chevron,
.odc-date-range-trigger:hover .odc-chevron {
    color: #f59325;
}

.odc-caretype-dropdown,
.odc-date-dropdown {
    position: absolute;
    top: calc(100% + 6px);
    left: 0;
    z-index: 1001;
    width: 320px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.13);
    padding: 16px;
    border: 1px solid #f0f0f0;
}

.odc-date-dropdown {
    width: 340px;
}

.odc-caretype-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-bottom: 12px;
    border-bottom: 1px solid #f0f0f0;
}

.odc-caretype-selectall {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13px;
    font-weight: 600;
    color: #333;
    cursor: pointer;
    margin: 0;
}

.odc-caretype-clear {
    background: none;
    border: none;
    padding: 0;
    font-size: 13px;
    font-weight: 600;
    color: #f59325;
    cursor: pointer;
}

.odc-caretype-clear:hover {
    color: #c97a1a;
    text-decoration: underline;
}

.odc-caretype-list {
    list-style: none;
    margin: 0;
    padding: 8px 0 0 0;
    max-height: 240px;
    overflow-y: auto;
}

.odc-caretype-option {
    padding: 4px 0;
}

.odc-caretype-label {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 13px;
    color: #555;
    cursor: pointer;
    margin: 0;
}

.odc-caretype-checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 16px;
    height: 16px;
    border: 1px solid #d9d9d9;
    border-radius: 3px;
    background-color: #fff;
    cursor: pointer;
    position: relative;
    flex-shrink: 0;
}

.odc-caretype-checkbox:checked {
    background-color: #f59325;
    border-color: #f59325;
}

.odc-caretype-checkbox:checked::after {
    content: "";
    position: absolute;
    left: 5px;
    top: 2px;
    width: 4px;
    height: 8px;
    border: solid #fff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.odc-caretype-footer,
.odc-dropdown-footer {
    display: flex;
    gap: 10px;
    margin-top: 16px;
    border-top: 1px solid #f0f0f0;
    padding-top: 14px;
}

.odc-dropdown-section-label {
    margin: 0 0 8px 0;
    font-size: 11px;
    font-weight: 700;
    color: #aaa;
    text-transform: uppercase;
    letter-spacing: 0.6px;
}

.odc-section-label-range {
    margin-top: 14px;
}

.odc-quick-select-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.odc-quick-btn {
    padding: 5px 11px;
    font-size: 12px;
    background-color: #f7f7f7;
    border: 1px solid #e4e4e4;
    border-radius: 4px;
    color: #555;
    cursor: pointer;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
    line-height: 1.5;
}

.odc-quick-btn:hover {
    background-color: #fff0e0;
    border-color: #f59325;
    color: #c97a1a;
}

.odc-quick-btn-active {
    background-color: #ffe4c6;
    border-color: #f59325;
    color: #c97a1a;
    font-weight: 600;
}

.odc-footer-btn {
    flex: 1;
    height: 38px;
    border-radius: 5px;
    font-size: 13px;
    font-weight: 500;
    cursor: pointer;
    transition: background-color 0.2s ease, color 0.2s ease;
}

.odc-footer-btn-cancel {
    background-color: #fff;
    border: 1px solid #f59325;
    color: #f59325;
}

.odc-footer-btn-cancel:hover {
    background-color: #fff7f0;
}

.odc-footer-btn-save {
    background-color: #f59325;
    border: 1px solid #f59325;
    color: #fff;
}

.odc-footer-btn-save:hover {
    background-color: #d6831d;
}

.odc-footer-btn-save:disabled {
    background-color: #e0a74a;
    border-color: #e0a74a;
    cursor: not-allowed;
    opacity: 0.7;
}

.odc-date-dropdown .date-inputs-container {
    margin-left: 0;
    gap: 10px;
}

.odc-date-dropdown .date-label {
    font-size: 12px;
    color: #555;
    min-width: 28px;
    line-height: 1.5;
    margin: 0;
    align-self: center;
}

.odc-date-dropdown .ant-picker {
    display: inline-flex;
    align-items: center;
    height: 28px;
    min-height: unset;
    width: 130px;
    font-size: 12px;
    border-radius: 4px;
    background-color: #fff;
    border: 1px solid #e4e4e4;
    box-shadow: none;
    padding: 0 6px;
    box-sizing: border-box;
    overflow: visible;
}

.odc-date-dropdown .ant-picker .ant-picker-input {
    display: inline-flex;
    align-items: center;
    width: 100%;
    overflow: visible;
}

.odc-date-dropdown .ant-picker .ant-picker-input > input {
    width: 100%;
    min-width: 0;
    font-size: 12px;
    color: #555;
    background-color: transparent;
    border: none;
    outline: none;
    box-shadow: none;
    padding: 0;
    line-height: 1.5;
}

.odc-date-dropdown .ant-picker:hover {
    border-color: #f59325;
}

.odc-action-group {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.odc-right-group {
    display: inline-flex;
    align-items: center;
    gap: 12px;
}

.odc-filter-menu-wrapper {
    position: relative;
}

.odc-filter-trigger {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background-color: #f59325;
    border: 1px solid #f59325;
    border-radius: 6px;
    font-size: 14px;
    color: #fff;
    cursor: pointer;
    transition: background-color 0.2s ease, border-color 0.2s ease;
    white-space: nowrap;
}

.odc-filter-trigger:hover {
    background-color: #d6831d;
    border-color: #d6831d;
    color: #fff;
}

.odc-filter-icon {
    font-size: 13px;
    color: #fff;
}

.odc-filter-trigger .odc-chevron {
    color: #fff;
}

.odc-filter-trigger:hover .odc-chevron {
    color: #fff;
}

.odc-filter-menu {
    position: absolute;
    top: calc(100% + 6px);
    right: 0;
    z-index: 1001;
    width: 320px;
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.13);
    padding: 16px;
    border: 1px solid #f0f0f0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.odc-filter-option {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex-wrap: nowrap;
}

.odc-filter-option-body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.odc-filter-option-control {
    display: flex;
    align-items: center;
    gap: 8px;
}

.odc-filter-option-text {
    flex: 1;
    font-size: 13px;
    color: #555;
}

.odc-filter-option-body .odc-filter-option-text {
    white-space: nowrap;
}

.odc-filter-option-unit {
    font-size: 13px;
    color: #555;
    text-transform: lowercase;
}

.odc-filter-select {
    height: 30px;
    min-width: 64px;
    padding: 0 8px;
    font-size: 13px;
    color: #555;
    background-color: #fff;
    border: 1px solid #e4e4e4;
    border-radius: 4px;
    cursor: pointer;
}

.odc-filter-select:disabled {
    background-color: #f5f5f5;
    color: #aaa;
    cursor: not-allowed;
}

.odc-switch {
    position: relative;
    display: inline-flex;
    width: 38px;
    height: 20px;
    flex-shrink: 0;
}

.odc-switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.odc-switch-slider {
    position: absolute;
    inset: 0;
    background-color: #ccc;
    border-radius: 20px;
    transition: background-color 0.2s ease;
}

.odc-switch-slider::before {
    content: "";
    position: absolute;
    height: 16px;
    width: 16px;
    left: 2px;
    top: 2px;
    background-color: #fff;
    border-radius: 50%;
    transition: transform 0.2s ease;
}

.odc-switch input:checked + .odc-switch-slider {
    background-color: #f59325;
}

.odc-switch input:checked + .odc-switch-slider::before {
    transform: translateX(18px);
}

.odc-action-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    background-color: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    cursor: pointer;
    transition: border-color 0.2s ease, background-color 0.2s ease;
}

.odc-action-btn:hover {
    border-color: #f59325;
    background-color: #fff7f0;
}

.odc-action-icon {
    width: 18px;
    height: 18px;
}

.odc-download-menu {
    position: absolute;
    top: 45px;
    right: 0;
    min-width: 140px;
    background: #fff;
    border: 1px solid #d9d9d9;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    z-index: 1000;
    overflow: hidden;
}

.odc-download-option {
    width: 100%;
    border: none;
    background: #fff;
    padding: 10px 12px;
    display: flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    text-align: left;
}

.odc-download-option:hover {
    background: #fff7f0;
}

.odc-download-option:disabled {
    cursor: default;
    opacity: 0.7;
}

.odc-download-option:disabled:hover {
    background: #fff;
}

.odc-download-icon {
    width: 18px;
    height: 18px;
}

/* Dedicated print button spinner sized to fit the 18px action icon */
.odc-print-spinner {
    display: inline-block;
    width: 18px;
    height: 18px;
    border: 2px solid rgba(245, 147, 37, 0.25);
    border-top-color: #f59325;
    border-radius: 50%;
    animation: odc-print-spin 0.7s linear infinite;
    vertical-align: middle;
}

@keyframes odc-print-spin {
    to {
        transform: rotate(360deg);
    }
}

.odc-date-badge {
    display: inline-flex;
    align-items: center;
    padding: 2px 8px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    border-radius: 20px;
    background: linear-gradient(135deg, #f59325 0%, #ee7b0a 100%);
    color: #fff;
    letter-spacing: 0.02em;
    white-space: nowrap;
    max-width: 110px;
    overflow: hidden;
    text-overflow: ellipsis;
    box-shadow: 0 1px 4px rgba(245, 147, 37, 0.35);
    flex-shrink: 0;
}

.odc-white-tooltip {
    background-color: #fff !important;
    color: #333 !important;
    border: 1px solid #ccc !important;
    border-radius: 4px !important;
    padding: 2px 6px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
    font-size: 11px !important;
    line-height: 1.2 !important;
    width: auto !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    opacity: 1 !important;
    transition: opacity 0.15s ease !important;
    z-index: 2000 !important;
    pointer-events: none !important;
}

.odc-white-tooltip .react-tooltip-content,
.odc-white-tooltip > * {
    padding: 0 !important;
    margin: 0 !important;
}

.odc-report-card {
    background-color: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0, 0, 0, 0.08);
    padding: 20px 24px;
    margin-bottom: 24px;
    font-size: 14px;
}

.odc-state-cell {
    text-align: center;
    padding: 32px 0;
}

.odc-no-data-message {
    padding: 40px 20px;
    text-align: center;
    font-size: 14px;
    color: #888;
    font-style: italic;
}

/* ------------------------------------------------------------------ */
/* PDF / Print template styles (shared by handleDownload & handlePrint) */
/* ------------------------------------------------------------------ */

.odc-pdf-body {
    background: #fff;
    padding: 20px;
}

/* Italic left-aligned column headers */
.odc-pdf-header {
    background-color: #fff;
    font-style: italic;
    font-weight: bold;
    text-align: left;
}

/* Body tables: center all data except the first column */
.odc-pdf-body table > tbody > tr > td {
    text-align: center;
    vertical-align: middle;
}

.odc-pdf-body table > tbody > tr > td:first-child {
    text-align: left;
}

/* Headers follow the same alignment as their data so columns line up */
.odc-pdf-body table > thead > tr > th {
    text-align: left;
    vertical-align: middle;
}

/* Section title banner above each detail table */
.odc-pdf-section-title {
    font-weight: bold;
    font-style: italic;
    text-align: center;
    background-color: #f2f2f2;
    padding: 6px 10px;
    margin: 6px 0 4px 0;
}

/* Narrower cancelled-alerts table sits left-aligned under the assistance table */
.odc-pdf-cancelled-table {
    width: 40% !important;
}

/* Empty-state message row spanning all columns */
.odc-pdf-empty {
    text-align: center !important;
    font-style: italic;
    color: #888;
}

/* No-data message shown when the report has no summary */
.odc-pdf-no-data {
    text-align: center;
    font-size: 14px;
    color: #888;
    padding: 24px 0;
}

/* Performance metric labels centered as a group while values align internally */
.odc-pdf-performance-group {
    display: inline-block;
    text-align: left;
}

.odc-pdf-performance-label {
    display: flex;
    align-items: baseline;
    flex-wrap: nowrap;
    white-space: nowrap;
}

.odc-pdf-performance-name {
    flex: 0 0 240px;
    text-align: right;
}

.odc-pdf-performance-value {
    flex: 0 0 auto;
    margin-left: 40px;
    white-space: nowrap;
}

/* ------------------------------------------------------------------ */
/* Standalone On Demand Care PDF route (rendered by Puppeteer)         */
/* ------------------------------------------------------------------ */

.odc-pdf-page {
    padding: 0;
    background: #ffffff;
    page: odcLandscape;
}

.odc-pdf-preview {
    overflow: visible;
}

.odc-pdf-page .pdf-root {
    padding-bottom: 0;
}

.odc-pdf-page .pdf-root > *:last-child,
.odc-pdf-page .pdf-root > *:last-child table {
    margin-bottom: 0 !important;
}

@page odcLandscape {
    size: A4 landscape;
    margin: 0;
}

.pdf-root.odc-pdf-body table {
    table-layout: auto;
}

.odc-pdf-preview .pdf-root td,
.odc-pdf-preview .pdf-root th {
    word-break: break-word;
    overflow-wrap: anywhere;
}

.pdf-root.odc-pdf-body .custom-table-responsive {
    overflow: visible;
    page-break-inside: auto;
}

.contact-tracing-wrapper {
    margin-top: 16px;
}

/* Allow the main table header to stick to the page scroll instead of clipping */
.contact-tracing-wrapper.table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.contact-tracing-table,
.contact-tracing-drill-table {
    font-size: 13px;
    margin-bottom: 0;
}

/* Separate borders are required for sticky headers to render cleanly */
.contact-tracing-table {
    border-collapse: separate;
    border-spacing: 0;
}

/* Sticky top-level header — matches BeaconStatusList sticky implementation */
.contact-tracing-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #f5f5f5 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

.contact-tracing-table thead th,
.contact-tracing-drill-table thead th {
    background-color: #f5f5f5;
    font-weight: 600;
    font-size: 13px;
    white-space: nowrap;
}

.contact-tracing-table thead th.table_header,
.contact-tracing-drill-table thead th.table_header {
    cursor: pointer;
    user-select: none;
}

.contact-tracing-drill-link {
    color: #f59325;
    cursor: pointer;
    text-decoration: underline;
}

.contact-tracing-drill-link:hover {
    color: #d4800f;
}

.contact-tracing-drilldown-row > td {
    padding: 0;
    background-color: #fafafa;
}

.contact-tracing-drilldown-cell {
    padding: 8px 16px !important;
}

.contact-tracing-empty {
    padding: 20px;
    text-align: center;
    color: #888;
    font-size: 14px;
}

.location-tracing-wrapper {
    margin-top: 16px;
}

.location-tracing-wrapper.table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.location-tracing-table {
    font-size: 13px;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.location-tracing-table th,
.location-tracing-table td {
    border-right: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

.location-tracing-table th:first-child,
.location-tracing-table td:first-child {
    border-left: 1px solid #dee2e6;
}

.location-tracing-table thead th {
    background-color: #f5f5f5;
    font-weight: 600;
    font-size: 13px;
    white-space: nowrap;
    position: sticky;
    top: 60px;
    z-index: 2;
    border-top: 1px solid #dee2e6;
}

.location-tracing-drill-link {
    color: #f59325;
    cursor: pointer;
    text-decoration: underline;
}

.location-tracing-drill-link:hover {
    color: #d4800f;
}

.location-tracing-detail-row {
    background-color: #fafafa;
}

.location-tracing-empty {
    padding: 20px;
    text-align: center;
    color: #888;
    font-size: 14px;
}

.room-traffic-wrapper {
    margin-top: 16px;
}

.room-traffic-wrapper.table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.room-traffic-table {
    font-size: 13px;
    margin-bottom: 0;
    border-collapse: separate;
    border-spacing: 0;
}

.room-traffic-table th,
.room-traffic-table td {
    border-right: 1px solid #dee2e6;
    border-bottom: 1px solid #dee2e6;
}

.room-traffic-table th:first-child,
.room-traffic-table td:first-child {
    border-left: 1px solid #dee2e6;
}

.room-traffic-table thead th {
    background-color: #f5f5f5;
    font-weight: 600;
    font-size: 13px;
    white-space: nowrap;
    cursor: pointer;
    position: sticky;
    top: 60px;
    z-index: 2;
    border-top: 1px solid #dee2e6;
}

.room-traffic-empty {
    padding: 20px;
    text-align: center;
    color: #888;
    font-size: 14px;
}

#pinpoint-report {
    background: white;
}

/* Extra bottom padding so the absolutely-positioned end-date note clears the panel edge */
#pinpoint-report .panel-body {
    padding-bottom: 36px;
}

.pinpoint-group-label {
    font-weight: 600;
    color: #555;
    background-color: #f0f0f0;
    cursor: default;
}

/* Normalize ant-picker height to 35px — scoped to pinpoint report only */
#pinpoint-report .ant-picker {
    height: 38px;
    display: flex;
    align-items: center;
}

#pinpoint-report .ant-picker .ant-picker-input {
    height: 100%;
}

/* Normalize form-select height to 35px */
#pinpoint-report .form-select {
    height: 38px;
    padding: 0 30px 0 11px;
    font-size: 14px;
    border: 1px solid #ccc;
    border-radius: 6px;
    transition: border-color 0.3s ease;
    line-height: 35px;
}

#pinpoint-report .form-select:hover {
    border-color: #f59325;
}

#pinpoint-report .form-select:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 2px rgba(245, 147, 37, 0.2);
    outline: none;
}

/* Normalize react-select control height to 35px */
#pinpoint-report .select__control {
    min-height: 35px;
    height: 35px;
    border-color: #ccc;
    border-radius: 6px;
    font-size: 14px;
    transition: border-color 0.3s ease;
    flex-wrap: nowrap;
}

#pinpoint-report .select__control:hover {
    border-color: #f59325;
}

#pinpoint-report .select__control--is-focused {
    border-color: #f59325;
    box-shadow: 0 0 0 2px rgba(245, 147, 37, 0.2);
}

#pinpoint-report .select__value-container {
    height: 35px;
    padding: 0 8px;
    flex-wrap: nowrap;
    overflow: hidden;
}

#pinpoint-report .pinpoint-room-select .select__control {
    min-height: 35px !important;
    height: auto !important;
    max-height: 120px !important;
    flex-wrap: wrap !important;
    overflow: hidden !important;
}

#pinpoint-report .pinpoint-room-select .select__value-container {
    height: auto !important;
    min-height: 33px !important;
    max-height: 116px !important;
    padding: 2px 8px !important;
    flex-wrap: wrap !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    align-content: flex-start !important;
    box-sizing: border-box;
    padding-bottom: 8px !important;
    scroll-padding-bottom: 8px;
    scrollbar-gutter: stable;
    scrollbar-width: thin;
    scrollbar-color: #a8a8a8 #f1f1f1;
}

#pinpoint-report .pinpoint-room-select .select__value-container::-webkit-scrollbar {
    width: 8px;
}

#pinpoint-report .pinpoint-room-select .select__value-container::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 4px;
}

#pinpoint-report .pinpoint-room-select .select__value-container::-webkit-scrollbar-thumb {
    background: #a8a8a8;
    border: 2px solid #f1f1f1;
    border-radius: 4px;
}

#pinpoint-report .pinpoint-room-select .select__input-container {
    flex: 0 0 auto;
}

#pinpoint-report .select__indicators {
    height: 35px;
}

/* Normalize button height to 35px */
#pinpoint-report .btn.custom-button {
    height: 35px;
    padding-top: 0;
    padding-bottom: 0;
    display: inline-flex;
    align-items: center;
}

/* Red informational note below End Date/Time — absolutely positioned to not affect row alignment */
.pinpoint-end-date-note {
    position: absolute;
    top: 100%;
    left: 0;
    color: #dc3545;
    font-size: 11px;
    margin-top: 3px;
    line-height: 1.3;
    max-width: 160px;
}

/* Empty report message shown in the report card */
.pinpoint-empty-report {
    padding: 24px;
    text-align: center;
    color: #888;
    font-size: 14px;
}

#pinpoint-report-body {
    background-color: white;
}

.ftdil-state-cell {
    padding: 40px;
    text-align: center;
}

#tempoList {
    background-color: white;
}
.messagesetting-checkbox-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    text-align: left;
}

.form-check-input.messagesetting-checkbox {
    margin: 0;
    flex-shrink: 0;
    width: 18px;
    height: 18px;
}

.messagesetting-label {
    margin: 0;
    cursor: pointer;
    line-height: 18px;
}

.messagesetting-checkbox-row.is-disabled,
.messagesetting-checkbox-row.is-disabled .form-check-input.messagesetting-checkbox,
.messagesetting-checkbox-row.is-disabled .form-check-label.messagesetting-label {
    cursor: not-allowed;
}

/* Staff Chat Scheduler modal ─────────────────────────────── */
#modal-backdrop-scheduler.sc-chat-scheduler .modal-dialog {
    max-width: 760px;
    margin: 1.75rem auto;
}

.sc-chat-scheduler .modal-content {
    width: 100%;
    max-height: calc(100vh - 3.5rem);
    display: flex;
    flex-direction: column;
    border: none;
    border-radius: 12px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.2);
    overflow: hidden;
}

/* Header */
.sc-chat-scheduler .modal-header {
    position: sticky;
    top: 0;
    z-index: 2;
    flex-shrink: 0;
    padding: 16px 22px;
    border-bottom: 1px solid #eee;
    background: #fff;
}

.sc-chat-scheduler .modal-title {
    font-size: 16px;
    font-weight: 600;
    color: #2f2f2f;
}

/* Body */
.sc-chat-scheduler .sc-sched-body {
    padding: 20px 22px;
    text-align: left;
    overflow-y: auto;
}

/* Sections — title in a fixed left column, controls in the right column */
.sc-chat-scheduler .sc-sched-section {
    display: flex;
    gap: 20px;
    align-items: flex-start;
    padding: 16px;
    border: 1px solid #ececec;
    border-radius: 10px;
    margin-bottom: 16px;
}

.sc-chat-scheduler .sc-sched-section:last-child {
    margin-bottom: 0;
}

.sc-chat-scheduler .sc-sched-section-title {
    flex: 0 0 150px;
    font-size: 14px;
    font-weight: 600;
    color: #333;
    padding-left: 10px;
    border-left: 3px solid #f59325;
    line-height: 1.3;
    text-align: left;
}

.sc-chat-scheduler .sc-sched-section-body {
    flex: 1 1 auto;
    min-width: 0;
}

/* Inline label + control rows */
.sc-chat-scheduler .sc-sched-field {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 12px;
}

.sc-chat-scheduler .sc-sched-field:first-of-type {
    margin-top: 0;
}

.sc-chat-scheduler .sc-sched-label {
    min-width: 110px;
    font-size: 14px;
    color: #555;
    margin: 0;
}

/* Message textarea */
.sc-chat-scheduler .sc-sched-textarea {
    font-size: 14px;
    border-radius: 8px;
    border: 1px solid #d9d9d9;
}

.sc-chat-scheduler .sc-sched-textarea:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.3);
    outline: none;
}

/* Segmented Frequency control */
.sc-chat-scheduler .sc-sched-segmented {
    display: inline-flex;
    background: #f2f2f2;
    border-radius: 8px;
    padding: 3px;
    gap: 2px;
}

.sc-chat-scheduler .sc-sched-seg {
    border: none;
    background: transparent;
    color: #555;
    font-size: 13px;
    font-weight: 500;
    padding: 6px 16px;
    border-radius: 6px;
    cursor: pointer;
    transition: background 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

.sc-chat-scheduler .sc-sched-seg:hover {
    color: #f59325;
}

.sc-chat-scheduler .sc-sched-seg.active {
    background: #fff;
    color: #f59325;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12);
}

/* Help text */
.sc-chat-scheduler .sc-sched-help {
    font-size: 13px;
    color: #888;
    margin: -4px 0 12px;
}

/* Radio rows — keep the radio button and its label together on one line */
.sc-chat-scheduler .sc-sched-check {
    display: flex;
    align-items: center;
    gap: 8px;
    padding-left: 0;
    margin-bottom: 8px;
    cursor: pointer;
}

/* Separate the All Staff option from the message groups below it */
.sc-chat-scheduler .sc-sched-check-allstaff {
    border-bottom: 1px solid #e3e3e3;
    padding-bottom: 10px;
    margin-bottom: 10px;
}

.sc-chat-scheduler .sc-sched-check .form-check-input {
    float: none;
    margin: 0;
    flex-shrink: 0;
}

.sc-chat-scheduler .sc-sched-check .form-check-label {
    margin: 0;
}

.sc-chat-scheduler .form-check-input {
    cursor: pointer;
}

.sc-chat-scheduler .form-check-input:checked {
    background-color: #f59325;
    border-color: #f59325;
}

.sc-chat-scheduler .form-check-label {
    font-size: 14px;
    color: #444;
}

/* Ant Design date-only picker */
.sc-chat-scheduler .sc-sched-date-picker {
    width: 150px;
    height: 34px;
    border-radius: 8px;
}

.sc-chat-scheduler .sc-sched-date-picker:hover,
.sc-chat-scheduler .sc-sched-date-picker.ant-picker-focused {
    border-color: #f59325;
    box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.3);
}
/* PrimeReact calendar inputs */
.sc-chat-scheduler .p-calendar .p-inputtext {
    font-size: 14px;
    height: 34px;
    border-radius: 8px;
}

.sc-chat-scheduler .p-calendar .p-inputtext:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.3);
    outline: none;
}

/* Prominent focus ring for radios, checkboxes and the segmented control */
.sc-chat-scheduler .form-check-input:focus {
    border-color: #f59325;
    box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.3);
}

.sc-chat-scheduler .sc-sched-seg:focus-visible,
.sc-chat-scheduler .scheduler-day-chip:focus-within {
    outline: none;
    border-color: #f59325;
    box-shadow: 0 0 0 0.2rem rgba(245, 147, 37, 0.3);
}

/* Circular weekday selector */
.sc-chat-scheduler .scheduler-day-chip {
    position: relative;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid #ced4da;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    color: #555;
    cursor: pointer;
    user-select: none;
    margin: 0;
    transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.sc-chat-scheduler .scheduler-day-chip:hover {
    border-color: #f59325;
    color: #f59325;
}

.sc-chat-scheduler .scheduler-day-chip.active {
    background: #f59325;
    border-color: #f59325;
    color: #fff;
}

.sc-chat-scheduler .scheduler-day-input {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
    margin: 0;
    pointer-events: none;
}

/* Footer */
.sc-chat-scheduler .modal-footer {
    padding: 14px 22px;
    border-top: 1px solid #eee;
}

/* Keep the PrimeReact calendar panel above the modal backdrop */
.scheduler-calendar-panel {
    z-index: 9999 !important;
}

.chat-log-modal-body .custom-table-responsive {
    max-height: 55vh;
    overflow-y: auto;
}

.chat-log-modal-body .custom-table > thead > tr > th {
    position: sticky;
    top: 0;
    z-index: 2;
}

.chat-scroll-wrapper {
    position: relative;
}

.chat-scroll-btn {
    position: absolute;
    right: 16px;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    border-radius: 50%;
    background: #f59325;
    color: #fff;
    font-size: 15px;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
    z-index: 5;
    transition: background 0.15s, transform 0.15s;
}

.chat-scroll-btn:hover {
    background: #d4811e;
    transform: translateY(-1px);
}

.chat-scroll-btn:focus-visible {
    outline: 2px solid #d4811e;
    outline-offset: 2px;
}

.chat-scroll-top {
    top: 12px;
}

.chat-scroll-bottom {
    bottom: 12px;
}

#staff-chat-panel.sc-custom-panel {
    background: #ffffff !important;
    padding: 15px;
    border-radius: 6px;
}

#staff-chat-panel .sc-staff-chat-nav {
    display: flex;
    align-items: stretch;
    gap: 8px;
    margin-bottom: 20px;
}

#staff-chat-panel .sc-staff-chat-nav > .sc-staff-chat-list {
    flex: 1;
    min-width: 0;
    margin-bottom: 0 !important;
}

#staff-chat-panel .sc-staff-chat-list {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    overflow: visible;
    gap: 6px;
    padding: 0;
    margin: 0;
}

#staff-chat-panel .sc-staff-chat-list::-webkit-scrollbar {
    height: 6px;
}

#staff-chat-panel .sc-staff-chat-list::-webkit-scrollbar-thumb {
    background: #f59325;
    border-radius: 3px;
}

#staff-chat-panel .sc-staff-chat-list li {
    font-size: 12px;
}

#staff-chat-panel .sc-staff-chat-list-item {
    position: relative;
    background: #e0e0e0;
    color: #000;
    padding: 10px 18px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 500;
    user-select: none;
    transition: background 0.2s ease;
    white-space: nowrap;
    margin: 0;
    flex-shrink: 0;
    border-radius: 6px;
    display: flex;
    align-items: center;
}

#staff-chat-panel .sc-staff-chat-list-item.sc-has-unread {
    padding-right: 46px;
}

#staff-chat-panel .sc-tab-close-btn {
    background: none;
    border: none;
    margin-left: 8px;
    padding: 0;
    color: #1a1a1a;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
}

#staff-chat-panel .sc-staff-chat-list-item.sc-active .sc-tab-close-btn {
    color: #fff;
}

#staff-chat-panel .sc-tab-close-btn:hover {
    color: #f59325;
}

#staff-chat-panel .sc-staff-chat-list-item:last-child {
    border-right: none;
}

#staff-chat-panel .sc-staff-chat-list-item.sc-active {
    background: #f59325;
    color: #fff;
    font-weight: 600;
}

#staff-chat-panel .sc-staff-chat-list-item:hover:not(.sc-active) {
    background: #d5d5d5;
}

#staff-chat-panel .sc-tab-content.hide {
    display: none;
}

#staff-chat-panel .sc-tab-content.show {
    display: block;
}

.sc-scheduled-group-message .sc-add-message-text {
    color: green;
    font-size: 15px;
}

.sc-direct-message .sc-profile-avatar {
    width: 40px;
    height: 40px;
    object-fit: cover;
}

.sc-direct-message .sc-avatar-placeholder {
    width: 40px;
    height: 40px;
    background-color: #e6e6e6;
    font-weight: 600;
    font-size: 14px;
    color: #333;
}

.sc-direct-message .badge {
    padding: 4px 6px !important;
}

.sc-direct-message .sc-logged-in {
    background: #00acac;
}

.sc-direct-message .sc-logged-out {
    background: #ff5b57;
}

.sc-direct-message .sc-unread-message-circle {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #ff3b30;
    display: inline-block;
    position: absolute;
    top: -3px;
    right: -7px;
    border: 2px solid #fff;
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.08);
}

.sc-chat-gear-btn {
    flex-shrink: 0;
    background: #e0e0e0;
    border: none;
    padding: 10px 18px;
    cursor: pointer;
    font-size: 14px;
    color: #444;
    display: flex;
    align-items: center;
    transition: background 0.2s ease;
    align-self: flex-start;
    border-radius: 6px;
}

.sc-chat-gear-btn:hover {
    background: #d5d5d5;
}

.sc-chat-row-bg {
    background: #fff;
    min-height: 560px;
    margin: 0;
}

@keyframes sc-blink {
    0%,
    100% { opacity: 1; }
    50%  { opacity: 0; }
}

.sc-message-unread-tab {
    position: absolute;
    top: 3px;
    right: 4px;
    background-color: #ff5b57;
    font-size: 9px;
    font-weight: 600;
    line-height: 1.25;
    display: inline-block;
    min-width: 9px;
    padding: 2px 6px;
    color: #fff;
    text-align: center;
    white-space: nowrap;
    border-radius: 10px;
    margin-left: 0;
    animation: sc-blink 1s step-start infinite;
}

.sc-chat-panel {
    display: flex;
    flex-direction: column;
    border: none;
    background: #fff;
    overflow: hidden;
}

.sc-direct-chat-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 12px;
    background: #f5f5f5;
    border-bottom: 1px solid #e0e0e0;
    flex-shrink: 0;
}

.sc-direct-chat-name {
    font-weight: 600;
    font-size: 14px;
    color: #333;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.sc-direct-chat-close-btn {
    background: none;
    border: none;
    padding: 2px 6px;
    cursor: pointer;
    color: #1a1a1a;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    border-radius: 4px;
    transition: background 0.15s, color 0.15s;
    flex-shrink: 0;
}

.sc-direct-chat-close-btn:hover {
    background: #e0e0e0;
    color: #000;
}

.sc-chat-empty-state {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    min-height: 200px;
    color: #707478;
    font-size: 14px;
    font-weight: 500;
}

.sc-main-chat-win {
    background-color: #fff;
    flex: 1 1 auto;
    min-height: 500px;
    height: 500px;
    overflow-y: auto;
    padding: 12px;
    border: none;
    scrollbar-width: thin;
    scrollbar-color: #f59325 #f0f0f0;
}

.sc-chat-composer-row {
    flex-shrink: 0;
    padding: 6px 0;
    background: #fff;
    border: none;
}

.sc-main-chat-win::-webkit-scrollbar {
    width: 6px;
}
.sc-main-chat-win::-webkit-scrollbar-track {
    background: #f0f0f0;
    border-radius: 3px;
}
.sc-main-chat-win::-webkit-scrollbar-thumb {
    background: #f59325;
    border-radius: 3px;
}
.sc-main-chat-win::-webkit-scrollbar-thumb:hover {
    background: #d4811e;
}

.sc-input-pill {
    border: solid 1px #9d9292;
    position: relative;
    border-radius: 50px;
    background-color: #fff !important;
    display: flex;
    align-items: center;
}

.sc-input-pill input[type=text],
.sc-input-pill .form-control {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent !important;
    border-radius: 50px;
    flex: 1;
}

.sc-input-pill .input-group-prepend {
	position: absolute;
	right: 4px;
	top: 4px;
	bottom: 4px;
	z-index: 9;
}

.sc-input-pill .input-group-addon {
	background-color: #ffffff40 !important;
}

.sc-chat-sender-name {
    font-size: 11px;
    font-weight: 600;
    color: #707478;
    margin-left: 24px;
    margin-bottom: 2px;
    display: block;
}

.sc-theme-color {
    color: #f59325;
}

.sc-admin-tag {
    color: #f59325;
    font-weight: 700;
    font-size: 13px;
}

.sc-chat-bubble-right {
    padding: 10px 14px;
    background: #74b9ff;
    color: #fff;
    border-radius: 9px;
    position: relative;
    animation: fadeIn 1s ease-in;
    margin-top: 2px;
    margin-right: 24px;
    word-break: break-word;
    white-space: pre-line;
    display: block;
    max-width: 70%;
    min-width: 60px;
}

.sc-chat-bubble-right:after {
    content: '';
    position: absolute;
    right: 0;
    top: 57%;
    width: 0;
    height: 0;
    border: 20px solid transparent;
    border-left-color: #74b9ff;
    border-right: 0;
    border-bottom: 0;
    margin-top: -10px;
    margin-right: -20px;
}

.sc-chat-time {
    font-size: 9px;
    margin-left: 10px;
    float: right;
    margin-top: 9px;
}

.sc-chat-bubble-left {
    padding: 10px 14px;
    background: #eee;
    border-radius: 9px;
    display: inline-block;
    max-width: 70%;
    min-width: 60px;
    margin-left: 24px;
    position: relative;
    animation: fadeIn 1s ease-in;
    word-break: break-word;
    margin-top: 2px;
    white-space: pre-line;
}

.sc-compose-input {
    border-radius: 50px !important;
}
.sc-composer-textarea {
    line-height: 20px;
    scrollbar-width: thin;
    scrollbar-color: #8a8a8a transparent;
}

.sc-composer-textarea::-webkit-scrollbar {
    width: 7px;
}

.sc-composer-textarea::-webkit-scrollbar-track {
    background: transparent;
}

.sc-composer-textarea::-webkit-scrollbar-thumb {
    background-color: #8a8a8a;
    border-radius: 8px;
}

.sc-composer-wrapper {
    position: relative;
}
.sc-emoji-picker-popup {
    position: absolute;
    bottom: calc(100% + 6px);
    right: 0;
    left: auto;
    z-index: 1050;
    box-shadow: 0 4px 16px rgba(0,0,0,.18);
    border-radius: 8px;
    overflow: hidden;
}
.sc-emoji-toggle-btn {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    font-size: 16px;
    padding: 0 6px;
    margin-right: 8px;
    cursor: pointer;
    line-height: 1;
    align-self: center;
    color: #333;
    filter: grayscale(1);
    transition: opacity .15s;
    flex-shrink: 0;
}

.sc-emoji-toggle-btn:hover {
    opacity: .7;
}

.sc-chat-send-btn {
    background: none !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #00b300;
    font-size: 22px;
    cursor: pointer;
    flex-shrink: 0;
    align-self: center;
    margin-left: 2px;
    transition: color .15s;
}
.sc-chat-send-btn:hover {
    color: #009900;
}

.sc-chat-bubble-left:after {
    content: '';
    position: absolute;
    left: 0;
    top: 60%;
    width: 0;
    height: 0;
    border: 20px solid transparent;
    border-right-color: #eee;
    border-left: 0;
    border-bottom: 0;
    margin-top: -10px;
    margin-left: -20px;
}

.sc-no-data {
    text-align: center;
    font-weight: 600;
    font-size: 18px;
}

.sc-direct-message-action {
    color: #707478;
    cursor: pointer;
    text-decoration: none;
    position: relative;
    display: inline-flex;
    align-items: center;
}

.sc-direct-message-action i {
    font-size: 20px;
    color: #5a7fa6;
}

.sc-icon-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    cursor: pointer;
}

.sc-icon-btn:focus {
    outline: none;
    box-shadow: none;
}
.sc-scheduled-actions {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0.5rem;
    white-space: nowrap;
}
.sc-scheduled-group-message .sc-scheduled-message-column {
    width: 35%;
    max-width: 320px;
    overflow-wrap: anywhere;
}
.sc-chat-tabs-sticky-scroll.custom-table-responsive {
    overflow-x: visible;
    overflow-y: visible;
}

.sc-chat-tabs-sticky-scroll .custom-table > thead.header > tr > th {
    position: sticky;
    top: 60px;
    z-index: 3;
    background: #E6E6E6 !important;
    box-shadow: 0 1px 0 #e2e7eb;
}

/* Remove main-content padding only on the Daily Standup page */
.main-content:has(#dsu-dashboard-wrapper) {
  padding: 0;
   width: 105%;
}

.dsu-padBotton30 {
  background-color: #f3f3f3;
  padding: 20px;
  padding-bottom: 70px;
  width: 100%;
}

.dsu-dailyStandup-card {
  background-color: #f3f3f3;
  border-radius: 1px;
}

.dsu-dailyStandup-card-with-padding {
  background-color: #f3f3f3;
  padding-top: 5px;
  border-radius: 1px;
}

/* ── Dashboard rows ────────────────────────────────────────────────── */
.dsu-dashboard-row {
  margin-top: 35px;
}

.dsu-dashboard-row2 {
  margin-top: 10px;
}

.dsu-row1 {
  grid-column: span 2;
}

.dsu-row2 {
  grid-column: span 2;
}

.dsu-side-row {
  grid-column: 3;
  grid-row: span 2;
}

/* ── Stat card row (flex row of 4 metric cards) ────────────────────── */
.dsu-response-row {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
}
.dsu-card {
  width: 317px !important;
  border-radius: 14px !important;
  background-color: #fff !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  display: flex;
  flex-direction: column;
}
.dsu-avg-response-time,
.dsu-avg-staff-sentiment {
  flex: 1;
  max-width: 212px;
}

.dsu-card-hoverable {
  cursor: pointer;
  transition: transform 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.dsu-card-hoverable:hover {
  color: #888;
  transform: scale(1.1);
  z-index: 1;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
}

/* ── Metric card internals ─────────────────────────────────────────── */
.dsu-response-time {
  font-size: 24px;
  font-weight: 700;
  margin-bottom: 12px;
  margin-top: -12px;
}

.dsu-card-title-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 12px;
  margin-top: 7px;
}

.dsu-card-title-container-staff {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 4px;
  margin-top: 7px;
}

.dsu-card-title-wrapper {
  display: flex;
  flex-direction: column;
}

.dsu-card-title {
  font-size: 14px;
  color: #6c757d;
  font-weight: 500;
}

.dsu-card-subtitle {
  font-size: 11px;
  color: #6c757d;
  font-weight: 500;
  margin-top: -5px;
}

/* ── Icon badge images ─────────────────────────────────────────────── */
.dsu-average-response-img,
.dsu-assistance-watch-img,
.dsu-good-sentiment-img,
.dsu-average-sentiment-img,
.dsu-frown-sentiment-img {
  width: 36px;
  height: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 30%;
  flex-shrink: 0;
  margin-top: -9px !important;
}

.dsu-average-response-img  { background-color: #ffe7e2; }
.dsu-assistance-watch-img  { background-color: #ffe7e2; }
.dsu-good-sentiment-img    { background-color: #d5ffd6; }
.dsu-average-sentiment-img { background-color: #fff3d5; }
.dsu-frown-sentiment-img   { background-color: #ffe7e2;  }

.dsu-average-response-img img,
.dsu-assistance-watch-img img,
.dsu-good-sentiment-img img,
.dsu-average-sentiment-img img,
.dsu-frown-sentiment-img img {
  width: 18px;
  height: 18px;
}

/* ── Stats row beneath value ───────────────────────────────────────── */
.dsu-response-stats {
  margin-top: 0px;
}

.dsu-mt-21 {
  margin-top: 15px !important;
}

.dsu-response-stats,
.dsu-sentiment-stats {
  display: flex;
  align-items: center;
  font-size: 12px;
  color: #6c757d;
}

.dsu-sub-header-included {
  margin-top: 5px !important;
}

.dsu-stats-arrow {
  color: #17c37b;
  margin-right: 4px;
}

.dsu-stats-value-showgreen {
  font-size: 14px;
  color: #17c37b;
  font-weight: 600;
  margin-right: 4px;
}

.dsu-stats-value-showred {
  font-size: 14px;
  color: #F93C65;
  font-weight: 600;
  margin-right: 4px;
}

.dsu-stats-value-sentiment-showred {
  font-size: 14px;
  color: #F93C65;
  font-weight: 600;
  margin-right: 4px;
}

.dsu-stats-value-sentiment-showgreen {
  font-size: 14px;
  color: #17c37b;
  font-weight: 600;
  margin-right: 4px;
}

.dsu-stats-text {
  color: #6c757d;
  font-size: 11px;
}

.dsu-satisfaction-left-div {
  display: inline-block;
}


.dsu-sentiment-count-value {
  margin-top: 5px !important;
}

/* ── App settings button ───────────────────────────────────────────── */
.dsu-app-settings-btn {
  cursor: pointer;
  width: 80px;
  font-size: 16px;
  font-weight: 600;
  padding: 3px 15px;
  border: 1px solid #c3c3c3;
  border-radius: 7px !important;
  color: white !important;
  background-color: #ee931a !important;
}

.dsu-disabled-text {
  display: block;
  color: #6c757d;
  font-size: 14px;
}

/* ── List / Data cards ─────────────────────────────────────────────── */
.dsu-residents-alerts,
.dsu-residents-alerts-percentage,
.dsu-falls-detected,
.dsu-onDemand-alerts,
.dsu-fall-risk,
.dsu-uti-risk,
.dsu-nutrition-risk,
.dsu-isolation-risk,
.dsu-acuity-risk,
.dsu-risk-detected,
.dsu-avg-response-time,
.dsu-avg-staff-sentiment {
  border-radius: 14px !important;
}

.dsu-residents-alerts {
  width: 497px;
  height: 350px;
  margin-bottom: 20px;
}

.dsu-residents-alerts-percentage,
.dsu-fall-risk,
.dsu-uti-risk,
.dsu-nutrition-risk,
.dsu-isolation-risk,
.dsu-acuity-risk {
  width: 497px;
  height: 350px;
}

.dsu-falls-detected {
  width: 497px;
  height: 350px;
  min-height: 350px;
  max-height: none;
}

.dsu-onDemand-alerts {
  width: 497px;
  height: 350px;
}

/* hr inside list cards */
.dsu-residents-alerts hr,
.dsu-falls-detected hr,
.dsu-onDemand-alerts hr {
  border: 1px solid #bababa;
  margin: 1px 0;
}

/* ── Card header ───────────────────────────────────────────────────── */
.dsu-card-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-start !important;
  min-height: 60px !important;
  padding: 15px !important;
  background-color: #fff !important;
  border-top-left-radius: 14px !important;
  border-top-right-radius: 14px !important;
  border: 1px solid #fff !important;
}

.dsu-card-header h4 {
  width: 158px;
  font-size: 12px;
  font-weight: bold;
  margin-top: 3%;
  color: #000000;
  opacity: 70%;
}

.dsu-card-header .dsu-view-all {
  border: none;
  font-size: 11px;
  padding: 4px;
  border-radius: 5px;
  color: #7A6D6D;
  text-decoration: none;
  background-color: #F1F5F9;
}

.dsu-card-header .dsu-view-all:hover {
  text-decoration: underline;
}

.dsu-card-header .dsu-view-all .dsu-view-all-svg {
  margin-left: 7px !important;
}

/* ── Subheader ─────────────────────────────────────────────────────── */
.dsu-card-subheader {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-right: 10px;
  font-size: 12px;
  font-weight: bold;
  color: #6c757d;
}

.dsu-subheader-left {
  flex: 1;
}

.dsu-subheader-right {
  display: flex;
  gap: 50px;
}

.dsu-subheader-right-falls-detected {
  display: flex;
  gap: 23px;
  margin-right: -13px;
}

span.dsu-subheader-date {
  margin-right: 8px;
}

span.dsu-subheader-time {
  margin-right: 40px;
}

.dsu-subheader-date,
.dsu-subheader-time {
  text-align: center;
  color: #A6A7A7;
}

.dsu-subheader-alerts-forTile1 {
  color: #A6A7A7;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
  max-width: 60px;
}

.dsu-subheader-alerts-forTile2 {
  color: #A6A7A7;
  white-space: normal;
  overflow-wrap: break-word;
  word-break: break-word;
  max-width: 70px;
  margin-right: 13px;
}

.dsu-subheader-alerts {
  color: #A6A7A7;
  margin-right: 58px;
}

/* ── Card body ─────────────────────────────────────────────────────── */
.dsu-card-body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 15px;
  margin-top: -13px;
}

/* Stat cards have no .dsu-card-header before .dsu-card-body; reset the negative
   margin so their content does not bleed above the card border. */
.dsu-avg-response-time .dsu-card-body,
.dsu-avg-staff-sentiment .dsu-card-body {
  margin-top: 0;
}

/* ── Alert items (resident / staff rows) ───────────────────────────── */
.dsu-alert-item {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e9ecef;
}

.dsu-hover-item:hover {
  cursor: pointer;
}

.dsu-alert-item:last-child {
  border-bottom: none;
}

/* ── Avatars ───────────────────────────────────────────────────────── */
.dsu-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 15px;
  object-fit: cover;
}

.dsu-empty-avatar {
  width: 45px;
  height: 45px;
  border-radius: 50%;
  margin-right: 15px;
  background-color: #D9D9D9;
}

img.dsu-empty-avatar {
  padding: 9px !important;
}

.dsu-initials-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  margin-right: 15px;
  background-color: #D9D9D9;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: bold;
  color: #555;
  text-transform: uppercase;
  flex-shrink: 0;
}



/* ── Alert info ────────────────────────────────────────────────────── */
.dsu-alert-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  padding: 10px;
  background-color: #ffffff !important;
  color: #0a0a0a !important;
}

.dsu-alert-info .dsu-name {
  font-weight: bold;
  font-size: 11px;
  margin: 0;
  flex: 1;
  text-align: left;
}

.dsu-alerts-count {
  font-size: 14px;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  margin-right: 20px;
}

.dsu-alerts-count img.dsu-down-alerts {
  margin-left: 5px;
}

.dsu-alert-icon {
  font-size: 14px;
  color: #dc3545;
}

/* ── Fall items ────────────────────────────────────────────────────── */
.dsu-card-body .dsu-fall-item {
  display: flex;
  align-items: center;
  margin-bottom: 15px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e9ecef;
}

.dsu-card-body .dsu-fall-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

.dsu-fall-item,
.dsu-risk-item {
  display: flex;
  align-items: center;
  gap: 5px;
  background-color: #ffffff;
}

.dsu-fall-info {
  flex: 2;
  display: flex;
  flex-direction: column;
}

.dsu-fall-info .dsu-name {
  font-size: 14px;
  font-weight: bold;
  margin: 0;
}

.dsu-fall-info .dsu-fall-detail {
  font-size: 12px;
  color: #6c757d;
}

.dsu-fall-time-info {
  display: contents;
}

.dsu-fall-time-info .dsu-fall-date,
.dsu-fall-time-info .dsu-fall-time {
  font-size: 11px;
  font-weight: bold;
  color: #343a40;
  width: 50px;
  text-align: start;
}

/* ── Risk section ──────────────────────────────────────────────────── */
.dsu-risk-info {
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: center;
}

.dsu-risk-tags {
  display: flex;
  gap: 8px;
}

.dsu-tag {
  background-color: #F2F2F2 !important;
  color: #6c757d;
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 8px;
}

.dsu-risk-level {
  font-size: 12px;
  padding: 4px 8px;
  border-radius: 8px;
}

.dsu-risk-level.high {
  background-color: #f8d7da;
  color: #721c24;
}

.dsu-risk-level.medium {
  background-color: #fff3cd;
  color: #856404;
}

/* ── No data message ───────────────────────────────────────────────── */
.dsu-no-data-message {
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  min-height: 200px;
  text-align: center;
  color: #605d5d;
  font-size: 13px;
  padding: 20px;
}

/* ── Scroll panel ──────────────────────────────────────────────────── */
.dsu-fall-body-panel {
  max-height: 400px;
  overflow: auto;
  padding: 10px;
  scrollbar-width: thin;
  scrollbar-color: rgba(0, 0, 0, 0.3) transparent;
  margin-top: 5px;
}

.dsu-fall-body-panel::-webkit-scrollbar {
  width: 3px;
}

.dsu-fall-body-panel::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.3);
  border-radius: 10px;
}

.dsu-fall-body-panel:hover::-webkit-scrollbar {
  width: 5px;
}

.dsu-fall-body-panel:hover::-webkit-scrollbar-thumb {
  background: rgba(0, 0, 0, 0.6);
}

.dsu-sticky-header {
  position: sticky;
  height: 20px;
}

/* ── Daily timeframe card ──────────────────────────────────────────── */
.dsu-daily-timeframe {
  border: 8px solid #fff;
  border-radius: 35px;
  height: 120px;
  width: 360px !important;
  margin-left: 30px !important;
  margin-top: 26px;
}

.dsu-print-daily-timeframe {
  border: 8px solid #fff;
  border-radius: 35px;
  height: 120px;
  width: 360px !important;
  margin-left: 10px !important;
  margin-top: 26px;
}

.dsu-daily-timeframe-body {
  /* font-family: 'Inter'; */
  margin-top: 20px;
  text-align: center;
}

.dsu-header-timeframe {
  font-size: 24px !important;
  font-weight: 400 !important;
}

.dsu-body-timeframe {
  text-align: center;
  font-weight: 450 !important;
  font-size: 14px !important;
  white-space: nowrap !important;
}

.dsu-small-ampm {
  font-size: 14px;
  margin-left: 1px;
}

/* ── Facility name card (print only) ───────────────────────────────── */
.dsu-facility-name-section {
  border: 8px solid #fff;
  border-radius: 35px;
  height: 120px;
  width: 280px !important;
  margin-left: -5px !important;
  margin-top: 26px;
}

.dsu-facility-name-body {
  /* font-family: 'Inter'; */
  margin-top: 10px;
  text-align: center;
}

.dsu-header-facility-name {
  font-size: 24px !important;
  font-weight: 700 !important;
}

.dsu-title-facility-name {
  text-align: center;
  font-weight: 500 !important;
  font-size: 15px !important;
}

/* ── Info / Help icon ──────────────────────────────────────────────── */
.dsu-daily-standup-info-section {
  width: 525px !important;
}

.dsu-info {
  text-align: right !important;
  margin-top: 18px !important;
}

.dsu-help-icon {
  border: 2px solid #000;
  border-radius: 50%;
  color: #000;
  cursor: pointer;
  display: inline-block;
  /* font-family: Inter !important; */
  font-weight: 700;
  height: 25px;
  line-height: 24px;
  text-align: center;
  width: 25px;
  font-size: 14px;
}

/* ── Information popup / modal ─────────────────────────────────────── */
.dsu-popup-overlay.modal-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  /* font-family: "Inter" !important; */
}

.dsu-popup-box {
  background-color: #f0f0f0;
  padding: 30px;
  border-radius: 5px;
  max-width: 800px;
  width: 80%;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
  position: relative;
}

.dsu-close-button {
  /* font-family: "Inter" !important; */
  position: absolute;
  top: 20px;
  right: 30px;
  border: 0.5px solid #FFA500;
  background-color: transparent;
  color: #FFA500;
  font-weight: bold;
  padding: 6px 12px;
  border-radius: 6px;
  width: 125px;
  font-size: 14px;
}

.dsu-text-section {
  padding: 20px 30px !important;
  background-color: #fff !important;
  margin-top: 40px !important;
  /* font-family: "Inter" !important; */
  font-size: 14px !important;
}

.dsu-text-section p {
  line-height: 1.5;
  margin-bottom: 12px;
}

/* ── Filter / export toolbar ───────────────────────────────────────── */
.dsu-filter-button {
  background: #fff;
  padding: 8px;
  margin-bottom: 20px;
  height: 60px;
  float: left;
  width: 99%;
  border-radius: 14px !important;

}

.dsu-date-time-filter {
  float: left;
}

.dsu-export-filter {
  margin-right: 18% !important;
}

.dsu-info-section {
  float: left;
}

.dsu-print-section {
  float: left;
  padding-left: 5px;
}

.dsu-print-btn-section {
  float: left !important;
  margin-top: 12px !important;
}

.dsu-download-btn-section {
  float: left !important;
  margin-top: 10px !important;
  margin-left: -6% !important;
  padding-left: 0px !important;
}

.dsu-flex-item {
  color: #ADADAD;
}

.dsu-residentProfilefilterButton-newfilter {
  border: none;
  background-color: #fff;
  width: 102%;
  /* font-family: "Inter" !important; */
  font-size: 16px !important;
  font-style: normal;
  font-weight: 200;
  line-height: normal;
  margin-top: 6px;
  margin-left: 35px;
}

.dsu-m-t-n-30 {
  margin-top: -30px;
}

.dsu-m-t-n-5 {
  margin-top: -5px;
}

.dsu-downloaddropdown-content {
  display: inline-table;
  left: 0;
  margin-top: -22px;
  background-color: #FFFFFF;
}

.dsu-downloaddropdown-content span,
.dsu-downloaddropdown-content button {
  display: inline;
}

.dsu-relative-filter-print-panel {
  position: absolute;
  width: 150px;
  height: 52px;
  color: black;
  background-color: #fff !important;
  z-index: 1000;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
  top: 65px;
  left: 0;
  padding: 5px 10px;
  cursor: pointer;
}

.dsu-filter-drop-down {
  position: relative;
  display: inline-block;
}

.dsu-filter-drop-display {
  position: absolute;
  top: 40px;
  right: 0;
}

.dsu-export-filter-btn {
  margin-top: 12px;
}

.dsu-export-filter-btn:hover {
  background-color: #f5f5f5;
}

.dsu-custom-export-tooltip {
  position: absolute;
  bottom: 65%;
  transform: translateX(-50%);
  background-color: #fff;
  color: #333;
  padding: 5px 5px;
  border: 1px solid #A2A2A2;
  border-radius: 4px;
  font-size: 12px;
  /* font-family: 'Inter' !important; */
  white-space: nowrap;
  opacity: 1;
  pointer-events: none;
}

.dsu-white-tooltip {
  background-color: white !important;
  color: black !important;
  border: 1px solid #ccc;
  border-radius: 4px;
  padding: 8px 10px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  font-size: 13px !important;
}

/* ── PDF / Print loader overlay ────────────────────────────────────── */
#downloadloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}

#downloadloader .dsu-loader-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.dsu-downloadspinner {
  width: 50px;
  height: 50px;
  border: 5px solid #ccc;
  border-top: 5px solid #f26a2e;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

.dsu-downloading {
  margin-top: 12px;
  font-size: 16px;
  font-weight: bold;
  color: #f26a2e;
  text-align: center;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}

/* ── Print / PDF layout overrides ──────────────────────────────────── */
.dsu-print-section-div {
  padding-top: 50px !important;
  padding-left: 50px !important;
  padding-right: 50px !important;
  background-color: #f3f3f3 !important;
}

.dsu-print-section-div .dsu-fall-body-panel {
  max-height: none !important;
  overflow: visible !important;
}

.dsu-print-pdf .dsu-first-row {
  display: flex;
  flex-wrap: wrap;
  align-items: stretch;
}

.dsu-print-section-div .dsu-first-row > div {
  height: auto !important;
}

.dsu-loader-disabled {
  opacity: .5;
  pointer-events: none;
  cursor: default;
  text-decoration: none;
}

/* ── Split-row (4-column grid wrapper) ─────────────────────────────── */
.dsu-split-row {
  flex: 1;
  min-width: 0;
}

/* ── Misc helpers ──────────────────────────────────────────────────── */
.dsu-text-reset1 {
  margin-left: 0px;
  color: #4a4949 !important;
  background: none;
  border: none;
  font-size: 11px;
  font: revert !important;
}

.dsu-percentage-ondemand {
  font-size: 10px;
  margin-bottom: 0rem !important;
  white-space: nowrap;
  color: #848484f1;
  margin-left: -10px;
}

/* ── Breadcrumb ────────────────────────────────────────────────────── */
.dsu-breadcrumb-link {
  color: #337ab7 !important;
  text-decoration: none;
  font-weight: 500;
}

.dsu-breadcrumb-link:hover {
  text-decoration: underline;
}

.dsu-breadcrumb-separator {
  color: #94a3b8;
  margin: 0 8px;
}

.dsu-breadcrumb-label {
  color: #475569;
  font-weight: 600;
}

/* ── Responsive breakpoints ────────────────────────────────────────── */
@media screen and (max-width: 768px) {
  .dsu-avg-response-time,
  .dsu-avg-staff-sentiment {
    flex: 1 1 45%;
    max-width: 100%;
  }

  .dsu-response-row {
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
  }

  .dsu-daily-timeframe,
  .dsu-print-daily-timeframe {
    width: 100% !important;
    margin-left: 0 !important;
    margin-top: 10px !important;
  }

  .dsu-residents-alerts {
    width: 400px;
  }

  .dsu-falls-detected {
    width: 400px;
    min-height: 350px;
    max-height: none;
  }

  .dsu-onDemand-alerts {
    width: 400px;
    top: 67px;
  }
}

@media screen and (min-width: 769px) and (max-width: 1280px) {
  .dsu-avg-response-time,
  .dsu-avg-staff-sentiment {
    flex: 1 1 0;
    min-width: 0;
    max-width: 160px;
  }

  .dsu-daily-timeframe,
  .dsu-print-daily-timeframe {
    width: 220px !important;
    margin-left: 10px !important;
  }
}

@media screen and (max-width: 1024px) {
  .dsu-onDemand-alerts {
    top: 49px;
  }

  .dsu-daily-standup-info-section {
    width: 370px !important;
  }
}

@media screen and (max-width: 2304px) {
  .dsu-residents-alerts,
  .dsu-falls-detected,
  .dsu-risk-detected,
  .dsu-residents-alerts-percentage,
  .dsu-onDemand-alerts {
    width: 400px;
    height: 520px !important;
  }

  .dsu-falls-detected {
    min-height: 520px;
    max-height: none;
  }

  .dsu-sticky-header {
    height: 34px !important;
  }

  .dsu-subheader-alerts-forTile2 {
    max-width: 78px !important;
    margin-right: 12px !important;
  }

  .dsu-onDemand-alerts-body {
    margin-top: 23px !important;
  }
}

@media screen and (min-width: 1706px) {
  .dsu-residents-alerts,
  .dsu-fall-risk,
  .dsu-uti-risk,
  .dsu-falls-detected,
  .dsu-risk-detected,
  .dsu-residents-alerts-percentage,
  .dsu-onDemand-alerts,
  .dsu-nutrition-risk,
  .dsu-isolation-risk,
  .dsu-acuity-risk {
    width: 440px;
    height: 500px;
  }

  .dsu-falls-detected {
    max-height: none;
    min-height: 320px;
  }

  .dsu-subheader-alerts {
    margin-right: 25px;
  }

  .dsu-daily-standup-info-section {
    width: 470px !important;
  }

  .dsu-print-btn-section {
    float: left !important;
    margin-top: 12px !important;
    margin-left: -24px;
    padding-left: 7px;
  }
}

@media screen and (max-width: 1600px) {
  .dsu-subheader-alerts {
    margin-right: 27px;
  }

  .dsu-card-header h4,
  .dsu-alert-info .dsu-name,
  .dsu-alerts-count,
  .dsu-name,
  .dsu-priority,
  .dsu-tag,
  .dsu-fall-info .dsu-name {
    font-size: 11px;
  }

  .dsu-card-header h4 {
    font-size: 13px;
  }

  .dsu-tag {
    padding: 1px 6px;
  }

  .dsu-fall-info .dsu-fall-detail {
    font-size: 10px;
  }

  .dsu-daily-standup-info-section {
    width: 470px !important;
  }

  .dsu-print-btn-section {
    float: left !important;
    margin-top: 12px !important;
  }
}

@media screen and (max-width: 1536px) {
  .dsu-split-row {
    margin-right: -10px;
  }

  .dsu-residents-alerts,
  .dsu-fall-risk,
  .dsu-uti-risk,
  .dsu-falls-detected,
  .dsu-risk-detected,
  .dsu-residents-alerts-percentage,
  .dsu-onDemand-alerts,
  .dsu-nutrition-risk,
  .dsu-isolation-risk,
  .dsu-acuity-risk {
    width: 300px;
    height: 500px;
  }

  .dsu-falls-detected {
    max-height: none;
    min-height: 320px;
  }

  .dsu-avatar,
  .dsu-empty-avatar {
    border-radius: 50%;
    margin-right: 10px;
  }

  .dsu-daily-standup-info-section {
    width: 350px !important;
  }

  .dsu-print-section {
    float: left;
    padding-left: 5px;
    margin-left: -20px;
  }

  .dsu-print-btn-section {
    float: left !important;
    margin-top: 9px !important;
    padding-left: 0px !important;
  }

  .dsu-download-btn-section {
    float: left !important;
    margin-top: 10px !important;
    margin-left: -6% !important;
    padding-left: 0px !important;
  }

  .dsu-onDemand-alerts {
    top: 0px !important;
  }
}

@media print {
  .dsu-fall-body-panel {
    max-height: none !important;
    overflow: visible !important;
  }
}


/* breadcrumb align fix */
.dsu-breadcrumb-wrapper {
  flex: 1;
  padding-left: 20px !important;
  padding-right: 20px !important;
  margin-left: 0 !important;
}



/* wrapper fix — allow horizontal scroll on small screens */
@media screen and (max-width: 1440px) {
  #dsu-dashboard-wrapper {
    overflow-x: auto;
  }
}


/* ---------- TOP METRIC SECTION ---------- */
@media screen and (max-width: 1200px) {
  #dsu-report-body {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
  }

  .dsu-avg-response-time,
  .dsu-avg-staff-sentiment {
    flex: 1 1 calc(50% - 16px);
    max-width: calc(50% - 16px);
  }

  .dsu-daily-timeframe,
  .dsu-print-daily-timeframe,
  .dsu-facility-name-section {
    width: 100% !important;
    margin-left: 0 !important;
  }
}


/* ---------- LIST SECTION ---------- */
@media screen and (max-width: 1400px) {
  #dsu-lists-section,
  #dsu-risks-section {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
  }

  #dsu-lists-section > div,
  #dsu-risks-section > div {
    flex: 1 1 calc(50% - 20px);
    max-width: calc(50% - 20px);
  }

  .dsu-residents-alerts,
  .dsu-residents-alerts-percentage,
  .dsu-onDemand-alerts,
  .dsu-falls-detected,
  .dsu-risk-detected,
  .dsu-fall-risk,
  .dsu-uti-risk,
  .dsu-nutrition-risk,
  .dsu-isolation-risk,
  .dsu-acuity-risk {
    width: 100% !important;
  }
}


/* ---------- TABLET ---------- */
@media screen and (max-width: 992px) {
  #dsu-lists-section > div,
  #dsu-risks-section > div {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .dsu-avg-response-time,
  .dsu-avg-staff-sentiment {
    flex: 1 1 100%;
    max-width: 100%;
  }

  .dsu-card {
    width: 100% !important;
  }

  .dsu-filter-button {
    height: auto;
    display: flex;
    flex-direction: column;
  }

  .dsu-export-filter,
  .dsu-print-section,
  .dsu-info-section {
    width: 100%;
    float: none;
    margin-top: 10px;
  }
}


/* ---------- MOBILE ---------- */
@media screen and (max-width: 768px) {
  .dsu-padBotton30 {
    padding: 10px;
    margin-top: 0;
  }

  .dsu-response-row {
    gap: 12px;
  }

  .dsu-card-header {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 10px;
  }

  .dsu-card-header h4 {
    width: 100%;
  }

  .dsu-alert-info {
    padding: 5px;
  }

  .dsu-alerts-count {
    margin-right: 0;
  }

  .dsu-daily-timeframe,
  .dsu-print-daily-timeframe,
  .dsu-facility-name-section {
    height: auto;
    padding: 20px;
  }

  .dsu-popup-box {
    width: 95%;
  }
}


/* ---------- SMALL MOBILE ---------- */
@media screen and (max-width: 480px) {
  .dsu-response-time-value,
  .dsu-sentiment-time-value {
    font-size: 20px;
  }

  .dsu-header-timeframe,
  .dsu-header-facility-name {
    font-size: 18px !important;
  }

  .dsu-card-body {
    padding: 10px;
  }

  .dsu-avatar,
  .dsu-initials-avatar {
    width: 35px;
    height: 35px;
  }
}

/* ---------- FILTER PANEL RESPONSIVE FIX ---------- */
@media screen and (max-width: 1200px) {
  #dsu-filter-panel .dsu-filter-button {
    height: auto;
    float: none;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 8px 12px;
  }

  #dsu-filter-panel .dsu-export-filter {
    margin-right: 0 !important;
    display: flex !important;
    align-items: center;
    gap: 8px;
  }

  #dsu-filter-panel .dsu-info-section {
    float: none;
    width: auto;
    margin-top: 0 !important;
  }

  #dsu-filter-panel .dsu-info {
    margin-top: 0 !important;
    display: flex;
    align-items: center;
  }

  #dsu-filter-panel .dsu-print-btn-section,
  #dsu-filter-panel .dsu-download-btn-section {
    float: none !important;
    margin-top: 0 !important;
    margin-left: 0 !important;
    padding-left: 0 !important;
  }

  #dsu-filter-panel .dsu-residentProfilefilterButton-newfilter {
    margin-left: 0 !important;
    margin-top: 0 !important;
  }

  #dsu-filter-panel .dsu-print-pdf-section {
    display: flex !important;
    align-items: center;
    gap: 4px;
  }
}
/* ---------- FILTER PANEL ---------- */

#dsu-filter-panel .dsu-filter-button {
  background: #fff;
  padding: 8px 16px;
  margin-bottom: 20px;
  min-height: 60px;

  display: flex;
  align-items: center;
  justify-content: flex-end;
}

#dsu-filter-panel .dsu-export-filter {
  display: flex;
  align-items: center;
  gap: 18px;
}

#dsu-filter-panel .dsu-icon-wrapper {
  position: relative;
  align-items: center;
  justify-content: center;
}

#dsu-filter-panel .dsu-icon-btn {
  width: 42px;
  height: 42px;

  border: none;
  background: transparent;

  display: flex;
  align-items: center;
  justify-content: center;

  padding: 0;
  cursor: pointer;
}

#dsu-filter-panel .dsu-icon-btn img {
  width: 26px;
  height: 26px;
  object-fit: contain;

  opacity: 0.65;
}

#dsu-filter-panel .dsu-help-icon {
  width: 26px;
  height: 26px;

  border: 2px solid #adadad;
  color: #adadad;

  border-radius: 50%;

  display: flex;
  align-items: center;
  justify-content: center;

  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

#dsu-filter-panel .dsu-print-pdf-section {
  display: flex;
  align-items: center;
  gap: 12px;
}

/* Demo mode — print/export buttons appear greyed-out and non-interactive */
#dsu-filter-panel .dsu-icon-btn.dsu-demo-disabled-btn {
  cursor: not-allowed;
  opacity: 0.35;
  pointer-events: none;
}

/* Prevent double-clicking during PDF generation */
#dsu-filter-panel .dsu-icon-btn:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* ── Staff Chat Messages card ──────────────────────────────────────── */
.dsu-card.dsu-avg-staff-chat-messages {
  cursor: pointer;
  min-height: 200px;
  height: auto;
}

.dsu-avg-staff-chat-messages .dsu-staff-chat-img {
  width: 36px;
  height: 36px;
  min-width: 36px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 30%;
  background-color: #ffe7e2;
  flex-shrink: 0;
  /* margin-top: -9px; */
}

.dsu-avg-staff-chat-messages .dsu-staff-chat-img img {
  width: 18px;
  height: 18px;
  object-fit: contain;
}

.dsu-chat-count-value {
  margin-top: 5px !important;
}

.dsu-staff-chat-value {
  font-size: 24px;
  font-weight: 700;
  color: #2b2b2b;
}

.dsu-staff-chat-stats {
  font-size: 14px;
  font-weight: 600;
  margin-right: 4px;
  color: #17c37b;
}

/* ── Word Cloud popup ──────────────────────────────────────────────── */
.dsu-word-cloud-popup {
  background: #ffffff;
  border-radius: 14px;
  max-width: 95vw;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.18);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.dsu-word-cloud-header {
  background: #ffffff;
  border-bottom: 1px solid #e9ecef;
  padding: 15px 15px 12px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  min-height: 60px;
}

.dsu-word-cloud-popup .dsu-close-button {
  position: static;
  width: auto;
}

.dsu-word-cloud-title {
  font-size: 13px;
  font-weight: bold;
  color: rgba(0, 0, 0, 0.7);
  margin-bottom: 4px;
}

.dsu-word-cloud-subtitle {
  font-size: 11px;
  color: #6c757d;
}

.dsu-word-cloud-canvas {
  padding: 16px 12px;
  background: #fafbfc;
}

.dsu-word-cloud-footer {
  padding: 9px 15px;
  background: #f1f5f9;
  border-top: 1px solid #e9ecef;
  font-size: 11px;
  color: #6c757d;
}

/* ── ResidentRiskDashboard.css ─────────────────────────────────────
   Scoped layout styles for the Resident Risk Dashboard module.
   Uses rrd- prefix to avoid conflicts with other dashboards.
──────────────────────────────────────────────────────────────────── */

.rrd-dashboard-wrapper {
  padding: 0px 6px 6px 6px !important;
  background-color: #f2f3f5 !important;
  min-height: 100vh !important;
}

.rrd-filter-card,
.rrd-body-card {
  background: transparent !important;
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
}

.rrd-no-data-available {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
}

/* Breadcrumb wrapper */
.rrd-breadcrumb-wrapper {
  flex: 1;
}

#population_summary_filter {
  width: 100%;
  position: relative !important;
}

.rrd-filter-header-row {
  display: flex !important;
  justify-content: flex-start !important;
  align-items: center !important;
  padding: 10px 16px !important;
  background: #fff !important;
  border: 1px solid #cbced4 !important;
  border-radius: 12px !important;
  margin-bottom: 20px !important;
  margin-top: 10px !important;
  gap: 6px !important;
}

/* Icon-only action buttons (Print, Email, Calendar) */
.rrd-action-icon-btn {
  background: transparent !important;
  border: none !important;
  padding: 8px 10px !important;
  cursor: pointer !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background 0.2s !important;
}

/* Print/Email/Schedule bar buttons — matches OnDemandCare odc-action-btn */
.rrd-pes-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  background-color: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  cursor: pointer;
  transition: border-color 0.2s ease, background-color 0.2s ease;
  padding: 0;
}

.rrd-pes-icon-btn:hover {
  border-color: #f59325;
  background-color: #fff7f0;
}

.rrd-pes-icon-btn--active {
  border-color: #f59325 !important;
  background-color: #fff7f0 !important;
}

.rrd-pes-icon-btn--disabled {
  cursor: not-allowed;
  opacity: 0.5;
  pointer-events: none;
}

.rrd-pes-icon {
  width: 20px;
  height: 20px;
  object-fit: contain;
}

/* Get Report dropdown menu */
.rrd-pes-dropdown {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  min-width: 120px;
  background: #fff;
  border: 1px solid #d9d9d9;
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);
  z-index: 1050;
  overflow: hidden;
}

.rrd-pes-dropdown-item {
  width: 100%;
  border: none;
  background: #fff;
  padding: 9px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 13px;
  color: #333;
  text-align: left;
}

.rrd-pes-dropdown-item:hover {
  background: #fff7f0;
}

.rrd-pes-dropdown-icon {
  width: 16px;
  height: 16px;
}

.rrd-print-menu-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 7px 14px;
  width: 100%;
  cursor: pointer;
  font-size: 13px;
  color: #333;
  background: transparent;
  border: none;
  text-align: left;
}

.rrd-print-menu-item:hover,
.rrd-print-menu-item:focus {
  background: #f5f5f5;
  outline: none;
}


.rrd-action-icon-btn:hover {
  background: #f5f5f5 !important;
}

.rrd-action-icon-btn:active,
.rrd-action-icon-btn.rrd-active {
  background: #f0f0f0 !important;
  border-color: #d0d0d0 !important;
}

.rrd-action-icon-btn:hover svg {
  stroke: #f59325 !important;
}

/* Action Button Tooltip */
.rrd-action-tooltip {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background: #fff;
  padding: 2px 8px;
  border-radius: 4px;
  border: 1px solid #ddd;
  font-size: 12px;
  white-space: nowrap;
  margin-bottom: 5px;
  z-index: 100;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1);
  color: #000;
  pointer-events: none;
}

/* Push Filters button to the right */
.rrd-filters-section {
  margin-left: auto !important;
}


.rrd-date-range-section {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
}

.rrd-date-input-wrapper {
  position: relative;
  display: inline-block;
  min-width: 240px;
}

.rrd-date-range-btn {
  background: transparent !important;
  border: 1px solid #cbced4 !important;
  border-radius: 6px !important;
  padding: 8px 16px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: #333 !important;
  cursor: pointer !important;
  transition: border-color 0.2s ease, background-color 0.2s ease !important;
}

.rrd-date-range-btn:hover {
  border-color: #f59325 !important;
  background: #fdf2e9 !important;
}

.rrd-range-status-capsule {
  display: flex !important;
  align-items: center !important;
  background: #fdf2e9 !important;
  /* border: 1px solid #f69731 !important; */
  /* border-radius: 20px !important; */
  padding: 4px 15px !important;
  height: 38px !important;
  gap: 10px !important;
}

.rrd-filters-section {
  display: flex !important;
  position: relative !important;
}

.rrd-date-text {
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #333 !important;
}

.rrd-days-badge {
  background: #fdf2e9 !important;
  color: #f59325 !important;
  padding: 2px 10px !important;
  border-radius: 12px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
}

.rrd-filter-main-btn {
  background-color: #f59325 !important;
  padding: 8px 18px !important;
  height: 38px !important;
  color: #fff !important;
  border-radius: 20px !important;
  border: none !important;
  font-weight: 600 !important;
  font-size: 14px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  cursor: pointer !important;
}

.rrd-filter-main-btn img {
  filter: brightness(0) invert(1) !important;
  width: 16px !important;
}

.rrd-scroll-btn {
  cursor: pointer !important;
  width: 20px !important;
  min-width: 20px !important;
  height: 20px !important;
  margin: 0 10px !important;
  transition: transform 0.2s !important;
  z-index: 100 !important;
  display: block !important;
  align-self: center !important;
}

.rrd-scroll-btn:hover {
  transform: scale(1.2) !important;
}

/* Filters button — darken on hover (matches legacy .filter-btn-new:hover).
   NOTE: the JSX button class is `.rrd-filter-main-btn`; the previous selector
   `.rrd-filter-btn-new` did not exist in the markup, so the hover never fired. */
.rrd-filter-main-btn {
  transition: background-color 0.2s ease !important;
}

.rrd-filter-main-btn:hover {
  background-color: #e07b1f !important;
}



.rrd-offcanvas-header {
  padding: 15px 20px !important;
  background: #fff !important;
  border-bottom: 1px solid #f0f0f0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.rrd-offcanvas-body {
  padding: 20px !important;
  flex: 1 !important;
  overflow-y: auto !important;
  max-height: calc(100vh - 72px);
  /* strict control */
}

.rrd-filter-panel .rrd-filter-title {
  font-weight: 700 !important;
  font-size: 17px !important;
  margin: 0 !important;
  color: #1a1a1a !important;
  letter-spacing: -0.2px !important;
}

.rrd-filter-insights h6.rrd-filter-title {
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1a1a1a !important;
}


.rrd-header-actions {
  display: flex !important;
  align-items: center !important;
  gap: 15px !important;
}

.rrd-clear-all-btn {
  color: #999 !important;
  border: none !important;
  background: transparent !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  padding: 0 !important;
}

.rrd-close-btn {
  background: none !important;
  border: none !important;
  box-shadow: none !important;
  outline: none !important;
  font-size: 32px !important;
  line-height: 1 !important;
  color: #94a3b8 !important;
  cursor: pointer !important;
  padding: 4px !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
  
}

.rrd-close-btn:hover {
  color: #1e293b !important;
  background-color: #f1f5f9 !important;
}


/* Checkbox Categories */
.rrd-resident-out-of-range,
.rrd-risk-filter,
.rrd-physio-filter,
.rrd-eating-filter,
.rrd-sleeping-filter,
.rrd-physicalactivity-filter,
.rrd-bathroom-filter,
.rrd-nighttimeactivity-filter,
.rrd-social-filter {
  border-bottom: 1px solid #f0f0f0;
  margin-bottom: 12px;
  padding-bottom: 12px;
}

.rrd-filter-insights {
  display: flex;
  align-items: center;
  justify-content: space-between;
  cursor: pointer;
  padding: 4px 0;
}

.rrd-filter-right {
  display: flex;
  align-items: center;
  gap: 8px;
}

.rrd-count-filter {
  font-size: 17px !important;
  color: #666 !important;
  font-weight: 300 !important;
}


.rrd-filter-dropdown-arrow {
  display: none !important;
  /* Hiding img-based arrows */
}

/* Custom CSS Chevron */
.rrd-chevron {
  width: 12px;
  height: 12px;
  border-right: 2px solid #999;
  border-bottom: 2px solid #999;
  transform: rotate(45deg);
  transition: transform 0.3s ease;
  margin-left: 10px;
  margin-bottom: 4px;
}

.rrd-chevron.rrd-up {
  transform: rotate(-135deg);
  margin-bottom: -4px;
}

.rrd-filter-insights {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  cursor: pointer !important;
  padding: 12px 0 !important;
}

/* High Fidelity Orange Checkbox */
input.rrd-custom-checkbox {
  appearance: none;
  -webkit-appearance: none;
  height: 16px;
  width: 16px;
  border: 1px solid #ccc;
  background-color: #fff;
  border-radius: 2px;
  cursor: pointer;
  transition: all 0.2s;
  margin-right: 8px;
  vertical-align: middle;
}

input.rrd-custom-checkbox:checked {
  background-color: #f59326;
  border-color: #f59326;
  background-image: url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e");
  background-size: 12px;
  background-repeat: no-repeat;
  background-position: center;
}

/* Count-0 filter rows: show the blocked cursor and prevent interaction.
   Mirrors legacy ps_v2 filter.less `.filter-check-disabled` + `.form-check-input:disabled`. */
.rrd-custom-checkbox.rrd-filter-check-disabled,
.rrd-custom-checkbox.rrd-filter-check-disabled:hover {
  cursor: not-allowed !important;
  opacity: 0.5;
}

/* When the count-0 row also carries the disabled checkbox (e.g. Risk Flags),
   block pointer interaction entirely — matches legacy `.form-check-input:disabled`. */
input.rrd-custom-checkbox:disabled {
  pointer-events: none !important;
  cursor: not-allowed !important;
  filter: none;
  opacity: 0.5;
}

/* Keep the label in step with the disabled checkbox so the whole row reads as blocked. */
.rrd-custom-checkbox.rrd-filter-check-disabled + .form-check-label,
.rrd-custom-checkbox.rrd-filter-check-disabled + .form-check-label .rrd-resident-name-filter {
  cursor: not-allowed !important;
}

#population_summary_filter .form-check {
  margin: 8px 0;
  display: flex;
  align-items: center;
}

#population_summary_filter .form-check-label {
  font-size: 14px;
  color: #555;
  cursor: pointer;
}

.rrd-event-count {
  margin-left: auto;
  font-size: 16px;
  color: #666;
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 8px;
}


.rrd-risks-wrapper {
  display: flex;
  align-items: center;
  width: 100%;
}

.rrd-checkbox-name {
  display: flex;
  align-items: center;
  gap: 12px;
}

.rrd-resident-name-filter {
  font-size: 15px !important;
  color: #444 !important;
  font-weight: 400 !important;
}


.rrd-risk-arrow {
  display: inline-block;
  width: 0;
  height: 0;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 12px solid #ccc;
  margin-right: 2px;
}

.rrd-adl-activity-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  background: #fff;
  border: 1px solid #cbced4;
  border-radius: 14px;
  padding: 14px 18px;
  margin-bottom: 16px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);
  transition: width 0.3s ease;
  width: 100%;
}

.rrd-adl-activity-wrapper.rrd-shrinked {
  width: 74% !important;
}

/* Scroll arrow buttons */
.rrd-adl-scroll-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  border: 1px solid #e0e0e0;
  background: #fff;
  cursor: pointer;
  flex-shrink: 0;
  transition: border-color 0.2s, background 0.2s;
  color: #666;
  padding: 0;
}

.rrd-adl-scroll-btn:hover {
  border-color: #f59325;
  background: #fdf2e9;
}

.rrd-adl-scroll-btn svg {
  display: block;
}

/* Scrollable chip strip */
.rrd-adl-activity-filter {
  display: flex;
  gap: 10px;
  overflow-x: auto;
  flex: 1;
  scrollbar-width: none;
  scroll-behavior: smooth;
}

.rrd-adl-activity-filter::-webkit-scrollbar {
  display: none;
}

.rrd-adl-filter-btn.rrd-adl-filter-risk-gray {
  background: #f8f9fa;
}

.rrd-adl-filter-risk-gray .rrd-text-wrap {
  color: #6c757d;
}

/* Horizontal ADL filter buttons — label left | big count right (matches old UI) */
.rrd-adl-filter-btn {
  min-width: 175px;
  height: 50px;
  background: #fff;
  border: 1px solid #cbced4;
  padding: 5px 10px 5px 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  border-radius: 8px !important;
  flex-shrink: 0;
  transition: border-color 0.2s, box-shadow 0.2s;
}

.rrd-adl-filter-btn:not(.rrd-adl-count-0):hover {
  border-color: #f59325;
}

.rrd-adl-filter-btn:not(.rrd-adl-count-0):hover .rrd-count,
.rrd-adl-filter-btn:not(.rrd-adl-count-0):active .rrd-count {
  color: #f59325;
}

/* Active / selected chip */
.rrd-adl-scroll-active {
  border: 1px solid #f59325 !important;
  background: #fff !important;
  box-shadow: none !important;
}

.rrd-adl-filter-uti-risk.rrd-adl-scroll-active {
  border-color: #f69731 !important;
}

.rrd-adl-filter-uti-risk.rrd-adl-scroll-active .rrd-count {
  color: #f69731 !important;
}

.rrd-adl-filter-fall-risk.rrd-adl-scroll-active {
  border-color: #f69731 !important;
}

.rrd-adl-filter-fall-risk.rrd-adl-scroll-active .rrd-count {
  color: #f69731 !important;
}

.rrd-adl-filter-nutrition-risk.rrd-adl-scroll-active {
  border-color: #f69731 !important;
}

.rrd-adl-filter-nutrition-risk.rrd-adl-scroll-active .rrd-count {
  color: #f69731 !important;
}

.rrd-adl-filter-isolation-risk.rrd-adl-scroll-active {
  border-color: #f69731 !important;
}

.rrd-adl-filter-isolation-risk.rrd-adl-scroll-active .rrd-count {
  color: #f69731 !important;
}

.rrd-adl-filter-risk-adl.rrd-adl-scroll-active .rrd-count {
  color: #f59325 !important;
}

.rrd-adl-filter-outbase-line-adl.rrd-adl-scroll-active {
  border-color: #f59325 !important;
}

.rrd-adl-filter-outbase-line-adl.rrd-adl-scroll-active .rrd-count {
  color: #f59325 !important;
}

.rrd-adl-scroll-active .rrd-count {
  font-weight: 400 !important;
}

.rrd-adl-filter-btn.rrd-adl-count-0 {
  cursor: not-allowed;
  /* opacity: 0.5; */
}

.rrd-adl-filter-btn.rrd-adl-count-0:hover {
  border-color: #cbced4 !important;
  background: #fff !important;
}

/* Inner layout */
.rrd-btn-content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.rrd-text-wrap {
  font-size: 12px;
  font-weight: 500;
  color: #555;
  white-space: normal;
  word-break: break-word;
  text-align: left;
  flex: 1;
  padding-left: 10px;
  line-height: 1.3;
}

.rrd-count {
  font-size: 20px;
  font-weight: 400;
  color: #1a1a1a;
  padding: 0 8px;
  flex-shrink: 0;
}

/* Risk Flag Triangle Icons (High Fidelity SVGs) */
.rrd-risk-triangle {
  width: 14px;
  height: 14px;
  margin-right: 4px;
  vertical-align: middle;
}

.rrd-risk-fill-uti {
  fill: #f69731 !important;
}

.rrd-risk-fill-nutrition {
  fill: #01b0f0 !important;
}

.rrd-risk-fill-fall {
  fill: #c00001 !important;
}

.rrd-risk-fill-isolation {
  fill: #7030a0 !important;
}

.rrd-risk-fill-acuityescalation {
  fill: #6c757d !important;
}

/* Date Range Picker Popup (Screenshot Parity + Calendar) */
.rrd-date-range-picker-popup {
  position: absolute;
  top: 130%;
  left: 50%;
  transform: translateX(-50%);
  width: 320px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 1100;
  padding: 0;
  overflow: visible;
}

.rrd-calendar-wrapper {
  margin-top: 10px;
}

.rrd-calendar-wrapper .p-calendar {
  width: 100% !important;
}

.rrd-calendar-wrapper .p-datepicker {
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  width: 100% !important;
}

.rrd-calendar-wrapper .p-datepicker td,
.rrd-calendar-wrapper .p-datepicker th {
  padding: 2px !important;
  text-align: center !important;
  width: 14.28% !important;
  box-sizing: border-box !important;
}

.rrd-calendar-wrapper .p-datepicker .p-highlight {
  /* background: #f69731 !important; */
}

.rrd-date-range-header-tab {
  position: absolute;
  top: -12px;
  left: 20px;
  background: #e9ecef;
  color: #666;
  font-size: 10px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 4px;
  text-transform: uppercase;
}

.rrd-date-range-body {
  padding: 20px;
}

.rrd-date-range-body .rrd-section-title {
  font-size: 13px;
  font-weight: 700;
  color: #333;
  margin-bottom: 12px;
}

.rrd-commonly-used-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
}

.rrd-day-btn {
  background: #fff;
  border: 1px solid #ced4da;
  border-radius: 4px;
  padding: 6px 4px;
  font-size: 11px;
  font-weight: 500;
  color: #495057;
  cursor: pointer;
  transition: all 0.2s;
  white-space: nowrap;
}

.rrd-day-btn:hover:not(.active) {
  background: #fdf2e9;
  border-color: #f69731;
  color: #f69731;
}

.rrd-day-btn:nth-child(n+5) {
  grid-row: 2;
}

.rrd-day-btn.active {
  background: #fdf2e9;
  border-color: #f69731;
  color: #f69731;
  font-weight: 700;
}

.rrd-range-input-wrapper {
  margin-top: 8px;
}

.rrd-range-input {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 13px;
  color: #495057;
  background-color: #fff;
}

.rrd-date-range-footer {
  display: flex;
  gap: 12px;
  margin-top: 24px;
}

.rrd-footer-cancel-btn {
  flex: 1;
  background: #fff;
  border: 1px solid #f69731;
  color: #f69731;
  padding: 8px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: color 0.2s ease, border-color 0.2s ease;
}

.rrd-footer-cancel-btn:hover {
  color: #d6831d;
  border-color: #d6831d;
}

.rrd-footer-apply-btn {
  flex: 1;
  background: #f69731;
  border: 1px solid #f69731;
  color: #fff;
  padding: 8px;
  border-radius: 4px;
  font-weight: 600;
  font-size: 14px;
  cursor: pointer;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.rrd-footer-apply-btn:hover {
  background: #d6831d;
  border-color: #d6831d;
}



/* Responsive Media Queries for Wide Screens */
@media (min-width: 1200px) {
  .rrd-filter-panel {
    width: 330px;
  }
}

@media (min-width: 1700px) {
  .rrd-filter-panel {
    width: 450px;
  }
}

@media (min-width: 2200px) {
  .rrd-filter-panel {
    width: clamp(400px, 60%, 800px);
    right: 0 !important;
  }
}

/* Ensure the dropdown wrapper sits above the backdrop */
.rrd-filter-drop-down {
  position: relative;
  z-index: 1;
}

/* Only elevate above the page (and below the fixed top navbar at z-index 1000)
   while the date-range dropdown is actually open. Keeping a static high z-index
   here makes the Date Range button overlap the fixed top navbar when the page
   is scrolled to the top. */
.rrd-filter-drop-down.rrd-date-dropdown-open {
  z-index: 999;
}

/* ── Date Range Button ── */
.rrd-date-range-btn {
  background: #fff !important;
  border: 1.5px solid #e0e2e7 !important;
  border-radius: 8px !important;
  padding: 8px 16px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #2d2d2d !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  transition: border-color 0.2s, box-shadow 0.2s !important;
}

.rrd-date-range-btn:hover {
  border-color: #f5932533 !important;
  box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.1) !important;
}

/* Caret flips to point up while the date-range dropdown is open */
.rrd-date-range-caret {
  transition: transform 0.2s ease;
}

.rrd-filter-drop-down.rrd-date-dropdown-open .rrd-date-range-caret {
  transform: rotate(180deg);
}

/* ── Popup Container ── */
.rrd-date-range-picker-popup {
  position: absolute;
  top: calc(100% + 10px);
  left: 0;
  transform: none;
  width: 316px;
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.14), 0 2px 8px rgba(0, 0, 0, 0.08);
  z-index: 1100;
  padding: 0;
  border: 1px solid #f0f0f0;
}

/* ── Popup Header ── */
.rrd-date-range-header-tab {
  position: static;
  background: linear-gradient(135deg, #f59325 0%, #f6a94a 100%);
  color: #fff;
  font-size: 11px;
  font-weight: 700;
  padding: 10px 18px;
  border-radius: 0;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

/* ── Body ── */
.rrd-date-range-body {
  padding: 16px 18px 18px;
}

.rrd-date-range-body .rrd-section-title {
  font-size: 11px;
  font-weight: 700;
  color: #999;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-bottom: 10px;
}

/* ── Day Buttons Grid ── */
.rrd-commonly-used-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 6px;
}

.rrd-day-btn {
  border: 1.5px solid #e0e2e7;
  border-radius: 8px;
  padding: 7px 4px;
  font-size: 11px;
  font-weight: 600;
  color: #555;
  cursor: pointer;
  transition: all 0.15s ease;
  white-space: nowrap;
  text-align: center;
}

.rrd-day-btn:hover {
  background: #fdf2e9;
  border-color: #f59325;
  color: #f59325;
}

.rrd-day-btn.active {
  background: #f59325;
  border-color: #f59325;
  color: #fff;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(245, 147, 37, 0.35);
}

/* ── Section Divider ── */
.rrd-section-block {
  margin-bottom: 0;
}

.rrd-section-block.mt-3 {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid #f0f0f0;
}

/* Custom Orange Theme for PrimeReact Calendar */
.rrd-calendar-wrapper .p-datepicker table td>span.p-highlight {
  background: #f59325 !important;
  color: #ffffff !important;
}

.rrd-calendar-wrapper .p-datepicker table td.p-datepicker-today>span {
  background: #fdf2e9 !important;
  color: #f59325 !important;
  border-color: #f59325 !important;
}

/* Orange highlight for Year and Month pickers */
.rrd-calendar-wrapper .p-monthpicker .p-month.p-highlight,
.rrd-calendar-wrapper .p-yearpicker .p-year.p-highlight {
  background: #f59325 !important;
  color: #ffffff !important;
}

.rrd-calendar-wrapper .p-monthpicker .p-month:not(.p-highlight):hover,
.rrd-calendar-wrapper .p-yearpicker .p-year:not(.p-highlight):hover {
  background: #fdf2e9 !important;
  color: #f59325 !important;
}

.rrd-calendar-wrapper .p-datepicker .p-datepicker-header {
  background: #fff !important;
  border-bottom: 1px solid #f0f0f0 !important;
}

.rrd-calendar-wrapper .p-datepicker .p-datepicker-title .p-datepicker-month,
.rrd-calendar-wrapper .p-datepicker .p-datepicker-title .p-datepicker-year {
  font-weight: 700 !important;
  color: #333 !important;
}

.rrd-calendar-wrapper .p-datepicker .p-datepicker-prev:hover,
.rrd-calendar-wrapper .p-datepicker .p-datepicker-next:hover {
  background: #fdf2e9 !important;
  color: #f59325 !important;
}

/* ── Calendar ── */
.rrd-calendar-wrapper {
  margin-top: 8px;
  border-radius: 8px;
  overflow: hidden;
}

.rrd-calendar-wrapper .p-calendar {
  width: 100% !important;
}

/* Icon positioning & Orange Theme for the Trigger */
.rrd-calendar-wrapper .p-calendar .p-datepicker-trigger {
  position: absolute !important;
  right: -1px !important;
  /* Move to the right side of the input */
  top: 0 !important;
  transform: none !important;
  background: #f59325 !important;
  /* Orange background */
  border: 1.5px solid #f59325 !important;
  color: #fff !important;
  padding: 0 12px !important;
  width: 44px !important;
  height: 41px !important;
  border-top-right-radius: 10px !important;
  border-bottom-right-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  z-index: 1 !important;
}

.rrd-calendar-wrapper .p-inputtext {
  width: 100% !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #333 !important;
  padding: 10px 50px 10px 14px !important;
  /* Space on right for the button */
  border: 1.5px solid #cbced4 !important;
  border-radius: 10px !important;
  background: #fff !important;
  transition: all 0.2s ease !important;
}

.rrd-calendar-wrapper {
  margin-top: 8px;
  border-radius: 8px;
  background: #fff;
  padding: 10px;
}

.rrd-calendar-input-summary {
  position: relative;
  margin-bottom: 12px;
  display: flex;
  align-items: center;
}

.rrd-calendar-input-summary i {
  position: absolute;
  left: 12px;
  color: #f59325;
  font-size: 14px;
}

.rrd-calendar-input-summary input {
  width: 100% !important;
  padding: 10px 10px 10px 36px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  color: #333 !important;
  border: 1.5px solid #cbced4 !important;
  border-radius: 10px !important;
  background: #fdfdfd !important;
  outline: none !important;
}

.rrd-calendar-wrapper .p-datepicker {
  width: 100% !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  position: static !important;
  display: block !important;
}

.rrd-calendar-wrapper .p-calendar {
  width: 100% !important;
}

.rrd-calendar-wrapper .p-datepicker {
  z-index: 3001 !important;
}

.rrd-calendar-wrapper .p-datepicker td,
.rrd-calendar-wrapper .p-datepicker th {
  padding: 2px !important;
  text-align: center !important;
  width: 14.28% !important;
  box-sizing: border-box !important;
}

.rrd-calendar-wrapper .p-datepicker td span {
  width: 28px !important;
  height: 28px !important;
  border-radius: 6px !important;
  font-size: 12px !important;
}

.rrd-calendar-wrapper .p-highlight {
  background: #f59325 !important;
  color: #fff !important;
}

.rrd-calendar-wrapper .p-datepicker-header {
  padding: 6px 0 !important;
  font-weight: 600 !important;
  font-size: 13px !important;
}

/* ── Range Preview ── */
.rrd-range-preview {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #fdf2e9;
  border: 1px dashed #f6c27a;
  border-radius: 8px;
  padding: 8px 12px;
  margin-top: 14px;
  gap: 8px;
}

.rrd-range-preview-date {
  font-size: 11px;
  font-weight: 600;
  color: #c47a1e;
  flex: 1;
  line-height: 1.4;
}

.rrd-range-preview-badge {
  background: #f59325;
  color: #fff;
  padding: 2px 9px;
  border-radius: 20px;
  font-size: 11px;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
}

/* ── Footer Buttons ── */
.rrd-date-range-footer {
  display: flex;
  gap: 10px;
  margin-top: 14px;
}

.rrd-footer-cancel-btn {
  flex: 1;
  background: #fff;
  border: 1.5px solid #e0e2e7;
  color: #666;
  padding: 9px;
  border-radius: 8px;
  font-weight: 600;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.15s;
}

.rrd-footer-cancel-btn:hover {
  border-color: #ccc;
  color: #333;
}

.rrd-footer-apply-btn {
  flex: 1;
  background: #f59325;
  border: 1.5px solid #f59325;
  color: #fff;
  padding: 9px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 13px;
  cursor: pointer;
  transition: all 0.15s;
}


/* ── Range Status Capsule (header) ── */
.rrd-range-status-capsule {
  display: flex !important;
  align-items: center !important;
  background: #fff !important;
  border: 1.5px solid #f6c27a !important;
  border-radius: 8px !important;
  padding: 5px 14px !important;
  height: 38px !important;
  gap: 10px !important;
}

.rrd-date-text {
  font-size: 12px !important;
  font-weight: 600 !important;
  color: #555 !important;
}

.rrd-days-badge {
  background: #f59325 !important;
  color: #fff !important;
  padding: 2px 9px !important;
  border-radius: 20px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}

.rrd-main-container {
  display: flex;
  flex-direction: row;
  width: 100%;
}

.rrd-main-container.rrd-increased-height {
  max-height: none !important;
}

.rrd-main-container.rrd-increased-height-chart {
  max-height: none !important;
}

.rrd-main-container.rrd-increased-list-chart {
  max-height: none !important;
}

.rrd-main-container.rrd-shrinked {
  width: calc(100% - 310px) !important;
  /* Dynamically fill space minus sidebar */
  margin-left: 0 !important;
  opacity: 1;
  max-height: calc(100vh - 120px) !important;
  /* overflow-y: auto !important; */
  /* overflow-x: hidden !important; */
  transition: all 0.3s ease !important;
}

.rrd-interaction-container.rrd-shrinked {
  padding-left: 10px !important;
  /* Minimize left gap */
}

.rrd-interaction-container {
  width: 100%;
  transition: all 0.3s ease-in-out;
  min-height: calc(100vh - 240px) !important;
  max-height: calc(100vh - 240px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border-radius: 10px !important;
  scrollbar-gutter: stable !important;
}

.rrd-interaction-container.rrd-shrinked {
  flex: 1;
  margin-left: -8px;
  opacity: 1;
  min-height: calc(100vh - 240px) !important;
  max-height: calc(100vh - 240px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border-radius: 10px !important;
  scrollbar-gutter: stable !important;
}

.rrd-interaction-container.rrd-shrinked-chart {
  flex: 1;
  opacity: 1;
  min-height: calc(100vh - 240px) !important;
  max-height: calc(100vh - 240px) !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  border-radius: 10px !important;
  scrollbar-gutter: stable !important;
}

.rrd-resident-card {
  margin-bottom: 1rem;
  transition: border 0.3s ease;
  background-color: #fff;
  border-radius: 8px;
}

.rrd-resident-card-interaction {
  border: 1px solid #E0E0E0 !important;
  border-radius: 8px !important;
  margin-bottom: 8px !important;
  background: #fff !important;
  transition: background-color 0.2s ease !important;
}

.rrd-resident-card-interaction.rrd-expanded-card {
  background: #fdf7f2 !important;
  /* Premium Tan Background when expanded */
}

.rrd-resident-card-interaction .rrd-card-header-main {
  display: flex !important;
  align-items: center !important;
  padding: 20px !important;
  cursor: pointer !important;
}

.rrd-res-col-identity {
  width: 18% !important;
  display: flex !important;
  flex-direction: column !important;
}

.rrd-res-identity-row {
  display: flex !important;
  align-items: center !important;
}

.rrd-res-avatar {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  background: #c4c4c4 !important;
  color: #111 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  margin-right: 8px !important;
  flex-shrink: 0 !important;
}

.rrd-res-avatar-img {
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  object-fit: cover !important;
  margin-right: 8px !important;
  flex-shrink: 0 !important;
}

.rrd-res-name {
  font-weight: 700 !important;
  font-size: 14.5px !important;
  color: #000 !important;
}

.rrd-res-status {
  font-size: 11.5px !important;
  color: #d0021b !important;
  font-weight: 500 !important;
  margin-top: 2px !important;
}

.rrd-res-col-activity {
  width: 14% !important;
  flex-shrink: 0 !important;
}

.rrd-activity-icon-box {
  border: 1px solid #E0E0E0 !important;
  border-radius: 8px !important;
  padding: 0 12px !important;
  display: flex !important;
  align-items: center !important;
  /* gap: 8px !important; */
    gap: 0px !important;

  height: 55px !important;
  width: fit-content !important;
  /* background: #fff !important; */
}

.rrd-activity-icon-box .rrd-activity-icon {
  width: 20px !important;
  height: 20px !important;
}

.rrd-res-col-actions {
  flex: 0 0 370px !important;
  width: 370px !important;
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 15px !important;
  margin-left: 15px !important;
  align-items: center !important;
}

.rrd-res-action-btn {
  background: #fff !important;
  border: 1px solid #f69731 !important;
  color: #555 !important;
  border-radius: 8px !important;
  font-size: 12px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  font-weight: 500 !important;
  white-space: normal !important;
  flex: 0 0 175px !important;
  width: 175px !important;
  height: 45px !important;
  max-width: 175px !important;
  min-width: 0 !important;
  text-align: left !important;
  cursor: pointer !important;
  line-height: 1.3 !important;
  box-sizing: border-box !important;
  padding: 0 15px !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease !important;
}

/* Trends & Resident Dashboard buttons — darken/tint on hover.
   Mirrors legacy ps_v2 `.chart-btn:hover, .dashboard-btn:hover`
   (interaction.less): orange border + #fde4c5 fill + black text. */
.rrd-res-action-btn:hover {
  background: #fde4c5 !important;
  border-color: #f59325 !important;
  color: #000 !important;
}

.rrd-res-action-btn img {
  width: 20px !important;
  flex-shrink: 0 !important;
}

.rrd-interaction-container.rrd-shrinked-chart .rrd-card-header-main {
  flex-wrap: wrap !important;
  align-items: center !important;
}

.rrd-interaction-container.rrd-shrinked-chart .rrd-res-col-actions {
  flex-direction: row !important;
  flex: 0 0 auto !important;
  width: auto !important;
  gap: 6px !important;
  align-items: stretch !important;
}

.rrd-interaction-container.rrd-shrinked-chart .rrd-res-action-btn {
  flex: 0 0 100px !important;
  width: 100px !important;
  max-width: 100px !important;
  height: auto !important;
  padding: 8px 10px !important;
  font-size: 11px !important;
  white-space: normal !important;
  line-height: 1.3 !important;
}

.rrd-interaction-container.rrd-shrinked-chart .rrd-res-action-btn img {
  width: 16px !important;
}

.rrd-interaction-container.rrd-shrinked-chart .rrd-res-col-toggle {
  order: 5 !important;
}

.rrd-interaction-container.rrd-shrinked-chart .rrd-res-col-risks {
  order: 10 !important;
  flex: 0 0 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  padding-left: 34% !important;
  margin-top: 6px !important;
  justify-content: flex-start !important;
  max-height: none !important;
}

.rrd-res-col-risks {
  flex: 1 1 auto !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  justify-content: flex-start !important;
  align-items: center !important;
  max-width: 40% !important;
  min-width: 0 !important;
  margin-left: 12px !important;
}

.rrd-risk-pill {
  border-radius: 10px !important;
  padding: 0 12px !important;
  height: 25px !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  line-height: 1 !important;
}

.rrd-res-col-toggle {
  width: 5% !important;
  text-align: right !important;
  /* push the expand/collapse icon to the far right end of the card header */
  margin-left: auto !important;
}

.rrd-toggle-arrow {
  width: 18px !important;
  height: 18px !important;
}

/* Expanded Detail Table (High Fidelity) */
.rrd-resident-expanded-details {
  padding: 5px 20px 20px 20px !important;
}

.rrd-event-details-table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 6px !important;
  background: #fff !important;
  overflow: hidden !important;
}

.rrd-event-details-table th {
  background: #f8fafc !important;
  padding: 12px !important;
  font-size: 12.5px !important;
  font-weight: 700 !important;
  color: #475569 !important;
  text-transform: capitalize !important;
  border-bottom: 1px solid #e2e8f0 !important;
}

.rrd-event-details-table td {
  padding: 14px 12px !important;
  font-size: 13px !important;
  color: #1e293b !important;
  border-bottom: 1px solid #f1f5f9 !important;
  vertical-align: middle !important;
}

.rrd-event-name-cell {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
}

.rrd-event-row-icon {
  width: 28px !important;
  height: 28px !important;
}

.rrd-event-label {
  font-weight: 600 !important;
  font-size: 13px !important;
}

.rrd-event-badge {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 800 !important;
  margin-left: 5px !important;
}

.rrd-badge-d {
  background: #6f42c1 !important;
}

.rrd-badge-f {
  background: #d32f2f !important;
}

.rrd-badge-n {
  background: #1976d2 !important;
}

.rrd-trend-arrow-box {
  width: 28px !important;
  height: 28px !important;
  border: 1px solid #cbd5e1 !important;
  border-radius: 4px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f1f5f9 !important;
}

.rrd-trend-up {
  color: #f5a623;
}

.rrd-trend-down {
  color: #f5a623;
}

.rrd-resident-header {
  cursor: pointer;
  display: flex;
  align-items: center;
  padding: 20px;
  margin: 0px !important;
}

.rrd-expanded-resident-div {
  background-color: #fff7f0 !important;
  transition: background-color 0.2s;
}

.rrd-resident-score {
  font-weight: bold;
  font-size: 1.2rem;
  margin-right: 0.2rem;
}

.rrd-resident-right {
  justify-content: space-between;
  align-items: center;
  width: 68%;
  display: flex;
  padding: 20px;
}

.rrd-resident-right.rrd-shrinked {
  margin-left: 25px;
}

.rrd-resident-right.rrd-shrinked-chart {
  margin-left: -22px;
  width: 100%;
}

.rrd-resident-actions {
  gap: 15px;
  align-items: center;
  display: flex;
  margin-left: 15px;
}

.rrd-resident-actions .chart-btn,
.rrd-resident-actions .dashboard-btn {
  width: 175px;
  height: 45px;
  border-radius: 8px;
  font-size: 11px;
}

.rrd-resident-actions .chart-btn.rrd-shrinked,
.rrd-resident-actions .dashboard-btn.rrd-shrinked {
  width: 160px;
}

.rrd-resident-actions .chart-btn.rrd-shrinked-chart {
  width: 100px;
}

.rrd-resident-actions .dashboard-btn.rrd-shrinked-chart {
  width: 170px;
}

.rrd-resident-actions .text-wrap-interaction {
  word-break: break-word;
  text-align: left;
  flex: 1;
  width: 110px;
  padding-left: 12px;
  margin-top: -7px;
  font-size: 11px;
}

.rrd-resident-actions .chart-icon {
  width: 30px;
  height: 30px;
  margin-right: 10px;
}

.rrd-indicator-badges {
  gap: 10px;
  margin-top: 8px;
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.rrd-indicator-badges .badge {
  font-size: 13px;
  height: 25px;
  padding-top: 4.5px;
  border-radius: 10px !important;
}

.rrd-toggle-arrow {
  width: 16px;
  height: 16px;
  margin-left: auto;
  cursor: pointer;
}

.rrd-custom-color-button {
  color: #505050;
  background-color: #fff;
  border: 1px solid #F59325;
}

.rrd-custom-color-button:hover {
  background-color: #fde4c5 !important;
  border: 1px solid #F59325 !important;
}

.rrd-tag-uti {
  background-color: #c55a11 !important;
  color: #fff !important;
}

.rrd-tag-nutrition {
  background-color: #01b0f0 !important;
  color: #fff !important;
}

.rrd-tag-fall {
  background-color: #c00001 !important;
  color: #fff !important;
}

.rrd-tag-demand,
.rrd-tag-isolation {
  background-color: #7030a0 !important;
  color: #fff !important;
}


.rrd-tag-default {
  background-color: #f8f9fa;
  color: #000 !important;
}

.rrd-tag-acuity {
  background-color: #7C7C7C !important;
  color: #fff !important;
}

.rrd-chart-panel {
  border-radius: 12px !important;
  background-color: #ffffff !important;
  margin-left: 8px !important;
  overflow-y: auto !important;
  padding: 6px !important;
  width: 480px !important;
  min-height: calc(100vh - 240px) !important;
  max-height: calc(100vh - 240px) !important;
  box-shadow: -10px 0 30px rgba(0, 0, 0, 0.05) !important;
  border: 1px solid #e2e8f0 !important;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

.rrd-chart-panel-header {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.rrd-chart-resident-name {
 font-size: 22px !important;
    font-weight: 500 !important;
    color: #0f172a !important;
    margin: 0 !important;
    letter-spacing: -0.025em !important;
    margin-left: 9px !important;
    margin-top: 9px !important;
    display: flex !important;
    align-items: center !important;
}

.rrd-close-chart-btn-v2 {
  background: none !important;
  border: none !important;
  font-size: 32px !important;
  line-height: 1 !important;
  color: #94a3b8 !important;
  cursor: pointer !important;
  padding: 10px !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
}

.rrd-close-chart-btn-v2:hover {
  /* color: #1e293b !important; */
  background-color: #f3f3f3 !important;
}


.rrd-close-chart-btn-v3 {
  background: none !important;
  border: none !important;
  font-size: 32px !important;
  line-height: 1 !important;
  color: #94a3b8 !important;
  cursor: pointer !important;
  padding: 10px !important;
  transition: all 0.2s ease !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 6px !important;
}

.rrd-close-chart-btn-v3:hover {
  color: #1e293b !important;
  /* background-color: #f3f3f3 !important; */
}
/* High Fidelity Interaction Event Table */

.rrd-interaction-event-table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 0.85rem !important;
  margin-top: 0 !important;
}

.rrd-resident-table-header {
  background-color: #E0E0E061 !important;
}

.rrd-interaction-event-table thead th {
  background-color: #f6f6f6 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 8px 10px !important;
  border-bottom: 1px solid #dee2e6 !important;
  border-top: none !important;
  vertical-align: middle !important;
}

.rrd-interaction-event-table tbody tr {
  transition: background-color 0.15s ease !important;
}

.rrd-interaction-event-table tbody tr:hover {
  background-color: #fff3e0 !important;
}

.rrd-interaction-event-table td {
  padding: 8px 10px !important;
  vertical-align: middle !important;
  font-size: 13px !important;
  color: #333 !important;
}

.rrd-event-icon-container {
  width: 35px !important;
  height: 35px !important;
  background: #F3F3F3 !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
}

.rrd-event-mini-img {
  width: 24px !important;
  height: 24px !important;
  padding: 2px !important;
}

.rrd-event-name-text {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: #333 !important;
}

.rrd-current-reading-data,
.rrd-usual-reading-data {
  width: 14% !important;
}
/* 
.rrd-variance-cell {
  white-space: nowrap !important;
  vertical-align: middle !important;
}

.rrd-variance-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  width: 100%;
} */

.rrd-variance-text {
  font-weight: 500;
}


/* Single Letter Risk Badges */
.rrd-risk-single-display {
  width: 22px !important;
  height: 22px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  margin: 0 2px !important;
  border: none !important;
}

.rrd-risk-demand,
.rrd-risk-isolation {
  background-color: #7030a0 !important;
}

.rrd-risk-fall {
  background-color: #c00001 !important;
}

.rrd-risk-nutrition {
  background-color: #01b0f0 !important;
}

.rrd-risk-uti {
  background-color: #c55a11 !important;
}

.rrd-risk-default {
  background-color: #E0E0E0 !important;
  color: #666 !important;
}

.rrd-risk-acuity {
  background-color: #7C7C7C !important;
  color: #fff !important;
}


.rrd-interaction-container::-webkit-scrollbar {
  width: 6px;
}

.rrd-interaction-container::-webkit-scrollbar-track {
  background: #f1f1f1;
}

.rrd-interaction-container::-webkit-scrollbar-thumb {
  background: #ccc;
  border-radius: 10px;
}

.rrd-interaction-container::-webkit-scrollbar-thumb:hover {
  background: #999;
}


/* ── Premium Rigorous Responsive Overrides ── */

/* X-Large Devices & Smaller Desktops */
@media (max-width: 1400px) {
  .rrd-res-col-actions {
    flex-wrap: nowrap !important;
  }

  .rrd-res-action-btn {
    padding: 6px 10px !important;
  }
}

/* Large Devices (Desktops/Laptops) */
@media (max-width: 1199px) {
  .rrd-resident-card-interaction .rrd-card-header-main {
    flex-wrap: wrap !important;
    gap: 12px !important;
    position: relative !important;
  }

  .rrd-res-col-identity {
    width: 35% !important;
  }

  .rrd-res-col-activity {
    width: 20% !important;

  }

  .rrd-res-col-risks {
    max-width: 40% !important;
    justify-content: flex-end !important;
  }

  .rrd-res-col-actions {
    width: 240px !important;
    flex: 0 0 240px !important;
    margin-left: 0 !important;
    order: 4 !important;
    justify-content: flex-start !important;
  }

  .rrd-res-action-btn {
    flex: 0 0 115px !important;
    width: 115px !important;
    padding: 6px 10px !important;
  }
}

/* Medium Devices (Tablets/IPad Portrait) */
@media (max-width: 991px) {

  /* Filter Panel Overhaul */
  .rrd-filter-panel {
    width: 100vw !important;
    max-width: 400px !important;
    position: fixed !important;
    top: 0 !important;
    right: 0 !important;
    height: 100vh !important;
    z-index: 9999 !important;
    box-shadow: -5px 0 25px rgba(0, 0, 0, 0.15) !important;
  }

  .rrd-interaction-container.rrd-shrinked {
    width: 100% !important;
    /* Ignore shrink on tablet */
  }

  /* Secure Scrollable Tables */
  .card-footer.rrd-resident-details,
  .rrd-resident-expanded-details {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    padding: 10px !important;
  }

  .rrd-interaction-event-table {
    min-width: 800px !important;
    /* Force internal scrolling */
  }

  /* Date Range Fixes */
  .rrd-filter-header-row {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 15px !important;
  }

  .rrd-filters-section {
    width: 100% !important;
  }

  .rrd-filter-main-btn {
    width: 100% !important;
    justify-content: center !important;
  }

  .rrd-date-range-picker-popup {
    left: 0 !important;
    transform: none !important;
    max-width: 90vw !important;
  }
}

/* Small Devices (Large Phones/Small Tablets) */
@media (max-width: 768px) {
  .rrd-res-col-identity {
    width: 100% !important;
    padding-right: 30px !important;
    /* Space for toggle */
  }

  .rrd-res-col-activity {
    width: 100% !important;
    padding-bottom: 5px !important;
  }

  .rrd-res-col-risks {
    max-width: 100% !important;
    width: 100% !important;
    justify-content: flex-start !important;
    order: 3 !important;
    border-top: 1px dashed #eee !important;
    padding-top: 10px !important;
  }

  .rrd-res-col-toggle {
    position: absolute !important;
    right: 15px !important;
    top: 15px !important;
    width: auto !important;
  }

  .rrd-resident-card-interaction .rrd-card-header-main {
    align-items: flex-start !important;
  }

  /* Full-Screen Chart Overlay on Mobile */
  .rrd-interaction-container.rrd-shrinked-chart {
    display: none !important;
    /* Hide list when chart is open on small mobile */
  }

  .rrd-chart-panel {
    width: 100% !important;
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    height: 100vh !important;
    z-index: 2000 !important;
    overflow-y: auto !important;
    background: #fff !important;
    border-radius: 0 !important;
  }

  .rrd-close-chart-btn-v2 {
    position: fixed !important;
    top: 15px !important;
    right: 20px !important;
    z-index: 999 !important;
  }

  .rrd-chart-container {
    height: calc(100vh - 120px) !important;
  }

  /* Header adjustments */
  .rrd-filter-header-row {
    padding: 12px 15px !important;
  }

  .rrd-dashboard-wrapper {
    padding: 15px 10px !important;
  }
}

/* X-Small Devices (Standard Phones) */
@media (max-width: 576px) {
  .rrd-date-range-section {
    flex-direction: column !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  .rrd-date-range-btn {
    width: 100% !important;
  }

  .rrd-range-status-capsule {
    width: 100% !important;
    justify-content: center !important;
  }

  .rrd-date-range-picker-popup {
    width: 95vw !important;
    position: fixed !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    z-index: 3000 !important;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3) !important;
  }

  .rrd-res-action-btn {
    max-width: 100% !important;
    flex: 1 1 0 !important;
    justify-content: center !important;
    margin-bottom: 5px !important;
  }

  .rrd-res-col-actions {
    flex-direction: column !important;
    width: 100% !important;
    gap: 5px !important;
  }

  .rrd-activity-icon-box {
    width: 100% !important;
    justify-content: space-around !important;
  }
}

.rrd-trend-arrow-box-v2 {
  width: 36px;
  height: 36px;
  background: #e2e2e2;
  border-radius: 6px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}

.rrd-out-of-range-show-all {
  color: #f59325;
  font-size: 14px;
  text-decoration: none;
}

.rrd-filter-panel {
  display: flex;
  flex-direction: column;
  height: 100vh;
}

.rrd-offcanvas-header {
  flex-shrink: 0;
}

.rrd-offcanvas-body {
  flex: 1;
  overflow-y: auto;
}

.rrd-offcanvas-header {
  padding: 15px 20px !important;
  background: #fff !important;
  border-bottom: 1px solid #f0f0f0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-shrink: 0 !important;
  /* never shrink — stays pinned at top */
}

.rrd-offcanvas-body {
  padding: 20px !important;
  flex: 1 1 0 !important;
  /* grow into remaining panel height */
  overflow-y: auto !important;
  min-height: 0 !important;
  /* flex child must allow shrink past content */
  /* remove max-height — panel height already constrains this */
}

.rrd-filter-panel {
  position: absolute !important;
  top: 70px !important;
  right: 0 !important;
  z-index: 1000 !important;
  width: 300px !important;
 height: 63dvh !important;  background: #fff !important;
  padding: 0 !important;
  box-shadow: -4px 0 15px rgba(0, 0, 0, 0.08) !important;
  border-left: 1px solid #e0e0e0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
}

.rrd-offcanvas-header {
  flex-shrink: 0 !important;
  padding: 15px 20px !important;
  background: #fff !important;
  border-bottom: 1px solid #f0f0f0 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
}

.rrd-offcanvas-body {
  flex: 1 1 0 !important;
  min-height: 0 !important;
  overflow-y: scroll !important;   /* always show scrollbar */
  overflow-x: hidden !important;
  padding: 20px !important;
  /* NO max-height here at all */
}

/* tablet */
@media (max-width: 991px) {
  .rrd-filter-panel {
    position: fixed !important;
    top: 0 !important;
    height: 100vh !important;
    width: 100vw !important;
    max-width: 400px !important;
    z-index: 9999 !important;
  }

  .rrd-offcanvas-body {
    overflow-y: scroll !important;
  }
}

/* mobile */
@media (max-width: 576px) {
  .rrd-filter-panel {
    position: fixed !important;
    top: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    height: 100vh !important;
  }

  .rrd-offcanvas-body {
    overflow-y: scroll !important;
  }
}




/* ── Ported from illustrations/residentdashboard/src/style.less ─────────────
   Used by: Filter.jsx outermost wrapper → "row rrd-label-top-bottom-space rrd-new-resident-filter"
─────────────────────────────────────────────────────────────────────────────── */

.rrd-label-top-bottom-space {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  padding-right: 4% !important;
  float: right;
  width: 360px;
}

.rrd-label-top-bottom-space-filter {
  padding-top: 20px !important;
  padding-bottom: 7px !important;
  padding-right: 4% !important;
  float: right;
}

.rrd-new-resident-filter {
  padding-right: 4% !important;
  padding-left: 50px;
  float: right;
  width: 360px;
  border: 1px solid #d5d5d5;
  margin-right: 35px;
}

/* ── PDF Download Loader ────────────────────────────────────────── */
#rrd-downloadloader {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(255, 255, 255, 0.8);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 9999;
}


#rrd-downloadloader .rrd-loader-content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.rrd-downloadspinner {
  width: 50px;
  height: 50px;
  border: 5px solid #ccc;
  border-top: 5px solid #f26a2e;
  border-radius: 50%;
  animation: rrd-spin 1s linear infinite;
}

.rrd-downloading {
  margin-top: 12px;
  font-size: 16px;
  font-weight: bold;
  color: #f26a2e;
  text-align: center;
}

@keyframes rrd-spin {
  to { transform: rotate(360deg); }
}
/* transparent full-screen layer — sits below popup, above page content */
.rrd-popup-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1049;
  background: transparent;
  cursor: default;
}

.rrd-date-range-picker-popup {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1051;
}

.rrd-floating-calendar-popup {
  position: absolute;
  top: 100%;
  left: 12px;
  margin-top: -90px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  z-index: 1052;
  padding: 20px;
}

.rrd-floating-calendar-footer {
  display: flex;
  justify-content: flex-end;
  padding-top: 10px;
  border-top: 1px solid #f0f0f0;
  margin-top: 8px;
}

.rrd-floating-ok-btn {
  background-color: #f59325;
  color: #fff;
  border: none;
  border-radius: 6px;
  padding: 6px 20px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.rrd-floating-ok-btn:hover {
  background-color: #d6831d;
}

/* ── Consistent activity icon sizing (mini-icon class) ── */
.rrd-resident-card-interaction .mini-icon {
  width: 20px !important;
  height: 20px !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
}

/* ── Interaction event table: ensure readable column widths on desktop ── */
.rrd-interaction-event-table {
  min-width: 560px;
  table-layout: fixed;
}

/* ── Font-size reduction pass ────────────────────────────────────────
   Uniform ~1–2 px decrease across all readable text in the dashboard.
   Appended last so these win over same-specificity !important rules.
──────────────────────────────────────────────────────────────────── */

/* Filter header / toolbar */
.rrd-print-menu-item                                  { font-size: 12px !important; }
.rrd-action-tooltip                                   { font-size: 11px !important; }
.rrd-date-range-btn                                   { font-size: 12px !important; }
.rrd-date-text                                        { font-size: 11px !important; }
.rrd-days-badge                                       { font-size: 10px !important; }
.rrd-filter-main-btn                                  { font-size: 13px !important; }

/* Filter panel */
.rrd-filter-panel .rrd-filter-title                   { font-size: 15px !important; }
.rrd-filter-insights h6.rrd-filter-title              { font-size: 13px !important; }
.rrd-clear-all-btn                                    { font-size: 11px !important; }
.rrd-close-btn                                        { font-size: 26px !important; }
.rrd-count-filter                                     { font-size: 15px !important; }

/* Checkbox list */
#population_summary_filter .form-check-label          { font-size: 12px !important; }
.rrd-event-count                                      { font-size: 14px !important; }
.rrd-resident-name-filter                             { font-size: 13px !important; }

/* ADL filter chips */
.rrd-text-wrap                                        { font-size: 11px !important; }
.rrd-count                                            { font-size: 17px !important; }

/* Date-range popup */
.rrd-date-range-header-tab                            { font-size: 9px  !important; }
.rrd-date-range-body .rrd-section-title               { font-size: 10px !important; }
.rrd-day-btn                                          { font-size: 10px !important; }
.rrd-range-input                                      { font-size: 12px !important; }
.rrd-footer-cancel-btn                                { font-size: 12px !important; }
.rrd-footer-apply-btn                                 { font-size: 12px !important; }
.rrd-range-preview-date                               { font-size: 10px !important; }
.rrd-range-preview-badge                              { font-size: 10px !important; }

/* Inline calendar */
.rrd-calendar-input-summary input                     { font-size: 12px !important; }
.rrd-calendar-wrapper .p-inputtext                    { font-size: 12px !important; }
.rrd-calendar-wrapper .p-datepicker td span           { font-size: 11px !important; }
.rrd-calendar-wrapper .p-datepicker-header            { font-size: 12px !important; }
/* Weekday header row (PrimeReact v10 data-pc-section API) */
.rrd-calendar-wrapper [data-pc-section="tableheader"],
.rrd-calendar-wrapper [data-pc-section="tableheadercell"],
.rrd-calendar-wrapper [data-pc-section="weekday"]     { font-size: 10px !important; }

/* Resident list rows */
.rrd-res-name                                         { font-size: 12.5px !important; }
.rrd-res-status                                       { font-size: 10px   !important; }
.rrd-res-action-btn                                   { font-size: 11px   !important; }
.rrd-interaction-container.rrd-shrinked-chart
  .rrd-res-action-btn                                 { font-size: 10px   !important; }
.rrd-risk-pill                                        { font-size: 10px   !important; }
.rrd-risk-single-display                              { font-size: 10px   !important; }
.rrd-indicator-badges .badge                          { font-size: 11px   !important; }
.rrd-resident-actions .text-wrap-interaction          { font-size: 10px   !important; }

/* Expanded detail table */
.rrd-event-details-table th                           { font-size: 11px   !important; }
.rrd-event-details-table td                           { font-size: 12px   !important; }
.rrd-event-label                                      { font-size: 12px   !important; }
.rrd-event-badge                                      { font-size: 9px    !important; }

/* Side chart panel */
.rrd-chart-resident-name                              { font-size: 19px   !important; }
.rrd-close-chart-btn-v2,
.rrd-close-chart-btn-v3                               { font-size: 26px   !important; }

/* Interaction event table */
.rrd-interaction-event-table thead th                 { font-size: 13px !important; }
.rrd-interaction-event-table td                       { font-size: 13px !important; }

/* Misc */
.rrd-out-of-range-show-all                            { font-size: 12px   !important; }
.rrd-resident-score                                   { font-size: 1rem   !important; }
.rrd-downloading                                      { font-size: 14px   !important; }



.rrd-variance-cell {
    text-align: left !important;
    vertical-align: middle !important;
    white-space: nowrap !important;
    padding-left: 20px !important;
    padding-right: 8px !important;
    width: 14% !important;
}

.rrd-variance-row {
    /* Mirrors illustrations/ps_v2 reference: fixed-width number followed
       immediately by the trend arrow (left-aligned, flush together). */
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    line-height: 1 !important;
}

.rrd-variance-text {
    /* fixed width keeps every trend arrow in a perfectly straight column */
    width: 90px !important;
    flex-shrink: 0 !important;
    display: inline-block !important;
    white-space: nowrap !important;
    text-align: left !important;
    font-weight: 500 !important;
    line-height: 1 !important;
    font-variant-numeric: tabular-nums !important;
    font-feature-settings: "tnum" 1 !important;
}

/* ── Print (window.print() fallback) ─────────────────────────────────
   Without this, the screen layout prints as-is: the scrollable resident
   list keeps its fixed viewport height/overflow, and the filter bar, action
   icons and offcanvas panel consume the page — so page 1 shows chrome and
   resident rows only start appearing from page 2 onward. Printing removes
   the height caps so content flows naturally across pages starting with
   the resident list, and hides controls that only make sense on screen. */
@media print {
  .rrd-filter-header-row .rrd-pes-wrapper,
  .rrd-filter-main-btn,
  .rrd-filter-panel,
  .rrd-adl-scroll-btn,
  .rrd-res-col-actions,
  .rrd-res-col-toggle,
  .rrd-chart-panel {
    display: none !important;
  }

  .rrd-dashboard-wrapper,
  .rrd-main-container,
  .rrd-interaction-container {
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .rrd-resident-card-interaction {
    break-inside: avoid;
  }
}
/* ── Overlay backdrop ── */
.rrd-barchart-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  background: rgba(15, 17, 20, 0.65);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  backdrop-filter: blur(8px);
  animation: overlay-in 0.25s ease-out;
}

@keyframes overlay-in {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

/* ── Prev / Next swipe buttons (outside the card, on overlay edges) ── */
.rrd-barchart-swipe-btn {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.5);
  background: rgba(255, 255, 255, 0.15);
  cursor: pointer;
  color: #fff;
  backdrop-filter: blur(4px);
  transition: background 0.2s, border-color 0.2s, transform 0.15s;
  margin: 0 12px;
}

.rrd-barchart-swipe-btn:hover {
  background: rgba(245, 147, 37, 0.7);
  border-color: #f59325;
  transform: scale(1.1);
}

.rrd-barchart-swipe-btn svg {
  display: block;
}


.rrd-expanded-chart-card {
  width: min(92vw, 1300px);
  max-height: 92vh;
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 32px 80px rgba(0, 0, 0, 0.35);
  display: flex;
  flex-direction: column;
  padding: 32px;
  gap: 20px;
  animation: card-in 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  overflow: hidden;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

@keyframes card-in {
  from {
    transform: scale(0.96);
    opacity: 0;
  }

  to {
    transform: scale(1);
    opacity: 1;
  }
}

/* ── Collapsed card header (icon + title | expand btn) ── */
.rrd-chart-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.rrd-chart-card-left {
  display: flex;
  align-items: center;
  gap: 12px;
  flex: 1;
  min-width: 0;
}

/* Gray rounded icon wrapper matching the screenshot */
.rrd-chart-icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: #f3f4f6;
  flex-shrink: 0;
}

.rrd-chart-icon-wrap .rrd-activity-icon-chart {
  width: 28px !important;
  height: 28px !important;
  margin: 0 !important;
  background: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
}

/* Chart title text */
.rrd-chart-card-title {
  font-size: 15px;
  font-weight: 500;
  color: #1a1a1a;
  line-height: 1.3;
  white-space: normal;
  word-break: break-word;
}

/* Expand (fullscreen) button */
.rrd-chart-expand-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: none;
  background: transparent;
  border-radius: 8px;
  cursor: pointer;
  flex-shrink: 0;
  transition: background 0.15s;
  padding: 0;
}

.rrd-chart-expand-btn:hover {
  background: #f3f4f6;
}

.rrd-chart-expand-btn:hover svg path {
  stroke: #f59325;
}

/* ── Expanded header ── */
.rrd-expanded-header {
  display: flex;
  align-items: flex-start;
  gap: 24px;
  flex-shrink: 0;
}

.rrd-header-left {
  display: flex;
  align-items: center;
  min-width: 220px;
  flex-shrink: 0;
}

.rrd-header-right {
  flex: 1;
}

.rrd-chart-modal-close-btn {
  width: 24px !important;
  height: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #fff !important;
  color: #999 !important;
  font-size: 20px !important;
  cursor: pointer !important;
  border-radius: 4px !important;
  padding: 0 !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  transition: all 0.2s !important;
}

.rrd-chart-modal-close-btn:hover {
  background: #f0f0f0 !important;
}
/* ── Chart container ── */
.rrd-chart-container {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  border-radius: 8px;
  min-height: 0;
  position: relative;
}

.rrd-chart-container canvas {
  
  width: 100% !important;
}

/* ── Legend box ── */
.rrd-legend-box {
  background: #f9f9f9;
  /* padding: 12px 16px; */
    padding: 12px 0px;

  border-radius: 8px;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
}

.rrd-expanded-view-legend-box {
  background: #f8f9fb;
  flex-direction: column;
  flex-wrap: nowrap;
  gap: 8px;
  padding: 12px 16px;
  border: 1px solid #edf0f3;
}

.rrd-expanded-legend-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 32px;
}

/* ── Normal / collapsed card ── */
.rrd-chart-item {
  margin-bottom: 20px;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
  border-radius: 10px;
}

.rrd-chart-item .p-card {
  box-shadow: none !important;
}

.rrd-normal-view {
  width: 100% !important;
  margin-left: 0 !important;
}

.d-flex.justify-content-between.align-items-start.mb-3 {
  display: flex;
}

.d-flex.align-items-center.rrd-chart {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.rrd-graph-title {
  margin-top: 2% !important;
}

.rrd-event-name {
  flex: 1;
}

/* ── Icons ── */
.rrd-activity-icon-chart {
  width: 45px;
  height: 45px;
  background-color: #f3f3f3;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-right: 1rem;
  margin-left: 0.5rem;
  border-radius: 8px;
  padding: 7px;
  flex-shrink: 0;
}

.rrd-bathroom-duration-icon-chart {
  width: 49px;
  height: 48px;
  background-color: #f3f3f3;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-right: 1rem;
  margin-left: 0.5rem;
  border-radius: 8px;
  padding: 5px;
  flex-shrink: 0;
}

/* ── Inline legend (normal view) ── */
.rrd-legend-wrapper {
  display: flex;
  flex-direction: column;
  gap: 8px;
  background: #f9f9f9;
  padding: 10px 12px;
  border-radius: 8px;
  font-size: 13px;
}

.rrd-legend-row {
  display: grid;
  grid-template-columns: repeat(4, minmax(min-content, 1fr));
  align-items: center;
  gap: 10px;
}

.rrd-legend-item {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
  white-space: nowrap;
}

.rrd-legend-spacer {
  visibility: hidden;
}

.rrd-align-pair {
  min-width: 82px;
}

/* Dot & line */
.rrd-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
}

.rrd-line {
  width: 24px;
  height: 4px;
  border-radius: 2px;
  display: inline-block;
  flex-shrink: 0;
}

/* Colors */
.rrd-purple {
  background-color: #bb33cc;
}

.rrd-green {
  background-color: #5ac84b;
}

.rrd-gray {
  background-color: #bbb;
}

.rrd-cyan {
  background-color: #9be3d4;
}

.rrd-blue {
  background-color: #66b0ff;
}

.rrd-black {
  background-color: #000;
}

.rrd-orange.rrd-dashed {
  background-image: linear-gradient(to right,
      orange 33%, transparent 33%,
      transparent 66%, orange 66%);
  background-size: 8px 100%;
  background-repeat: repeat-x;
}

/* ── Responsive ── */
@media (max-width: 768px) {
  .rrd-expanded-chart-card {
    width: 96vw;
    padding: 18px 16px 16px;
  }

  .rrd-expanded-header {
    flex-wrap: wrap;
  }

  .rrd-header-left {
    min-width: unset;
  }
}

/* ── Strip Bulky Padding/Margin for Minimal Layout ── */
.rrd-chart-item {
  margin-bottom: 15px !important;
}

.rrd-chart-item .p-card-body {
  padding: 10px !important;
}

.rrd-chart-item .p-card-content {
  padding: 0 !important;
}

.rrd-chart-item .rrd-chart-card-header {
  margin-bottom: 8px !important;
}

.rrd-chart-container canvas {
  margin: 0 auto !important;
  padding: 0 !important;
}
/* Care Team Insights — CSS */

.cti-page {
  font-family: 'AvenirNext', sans-serif;
  padding: 16px 16px 32px;
  background-color: #F4F4F4;
  min-height: 100vh;
}

/* Tab row */
.cti-tab-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.cti-tab-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 50px;
}

.cti-tab-group {
  display: flex;
  align-items: center;
}

/* Trend button */
.cti-trend-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background-color: #F59325;
  color: #ffffff;
  border: none;
  border-radius: 4px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  cursor: pointer;
  outline: none;
  transition: background-color 0.2s;
}
.cti-trend-btn:hover { background-color: #d97e1a; }
.cti-trend-btn-icon { width: 16px; height: 16px; display: block; }

/* Tabs */
.cti-tab-btn {
  padding: 9px 22px;
  cursor: pointer;
  border: none;
  background-color: #ffffff;
  color: #000000;
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  margin-left: -1px;
  border-radius: 0;
  transition: background-color 0.2s, color 0.2s;
  user-select: none;
  outline: none;
  position: relative;
}
.cti-tab-btn.cti-tab-btn--first { margin-left: 0; border-radius: 4px 4px 0 0; border-left: none; }
.cti-tab-btn.cti-tab-btn--last  { border-radius: 0 4px 0 0; }
.cti-tab-btn:hover:not(.cti-tab-btn--active) { background-color: #fef3e4; z-index: 1; }
.cti-tab-btn.cti-tab-btn--active { background-color: #F59325; color: #ffffff; border-color: #F59325; font-weight: 600; z-index: 2; }

/* Right-side actions */
.cti-tab-row-actions { display: flex; align-items: flex-start; gap: 10px; }

/* Cost card */
.cti-cost-card {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 14px;
  padding: 10px 14px;
  min-width: 340px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.cti-cost-card-top { display: flex; align-items: center; justify-content: center; gap: 10px; text-align: center; }
.cti-cost-label { font-size: 12px; font-weight: 600; color: #565656; line-height: 1.4; }
.cti-cost-input {
  border-radius: 4px; border: 1px solid #D9D9D9; background: #F4F4F4;
  padding: 4px 8px; font-size: 13px; width: 90px; text-align: center; outline: none;
}
.cti-cost-input:focus { border-color: #F59325; }
.cti-cost-note { display: block; text-align: center; font-size: 11px; color: #666666; margin-top: 5px; }
.cti-cost-divider { border: none; border-top: 1px solid #D4D4D4; margin: 7px 0; }
.cti-cost-presets { display: flex; align-items: center; justify-content: center; gap: 6px; }
.cti-cost-preset-btn {
  border: 1px solid #e0e0e0; background: #ffffff; color: #000000;
  border-radius: 4px; padding: 4px 10px; font-size: 12px; cursor: pointer;
  transition: border-color 0.15s, background-color 0.15s; outline: none;
}
.cti-cost-preset-btn:hover { border-color: #F59325; color: #F59325; }
.cti-cost-preset-btn.cti-cost-preset-btn--active { background-color: #F69D3ACC; border-color: #F69D3ACC; color: #ffffff; font-weight: 600; }
.cti-cost-hint { display: block; text-align: center; font-size: 10px; color: #999999; margin-top: 6px; }

/* Icon buttons with tooltip */
.cti-icon-btn-wrap { position: relative; display: inline-flex; align-items: center; justify-content: center; }
.cti-icon-btn-wrap:hover .cti-tooltip { opacity: 1; transform: translateY(-2px); pointer-events: auto; }
.cti-icon-btn { display: inline-flex; align-items: center; justify-content: center; background: transparent; border: none; padding: 4px; cursor: pointer; outline: none; }
.cti-icon-btn img { width: 30px; height: 30px; display: block; }
.cti-tooltip {
  position: absolute;
  bottom: calc(100% + 6px);
  /* Anchor to the right edge of the button so long labels grow leftwards and
     never spill outside the popup/viewport (fixes truncation on the rightmost icons). */
  right: 0;
  left: auto;
  transform: translateY(4px);
  background: #ffffff;
  color: #333333;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  padding: 4px 10px;
  font-size: 11px;
  /* Allow wrapping instead of forcing a single overflowing line. */
  white-space: normal;
  max-width: 220px;
  width: max-content;
  text-align: center;
  box-shadow: 0 2px 6px rgba(0,0,0,0.12);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.15s, transform 0.15s;
  z-index: 100;
}
.cti-tooltip::after { content: ''; position: absolute; top: 100%; right: 12px; border: 5px solid transparent; border-top-color: #ffffff; }
.cti-tooltip::before { content: ''; position: absolute; top: 100%; right: 11px; border: 6px solid transparent; border-top-color: #e0e0e0; margin-top: 1px; }

/* Tab panel */
.cti-tab-panel { padding: 4px 0; }
.cti-tab-content { padding: 8px 0; }
.cti-tab-content.cti-at-risk-staff { margin-top: 20px; }

/* Cards */
.cti-risk-card {
  background: #ffffff;
  border: 1px solid #e0e0e0;
  border-radius: 14px;
  padding: 16px 10px;
  box-shadow: 0 1px 4px rgba(0,0,0,0.06);
  margin-bottom: 16px;
  box-sizing: border-box;
}
.cti-risk-card-header { margin-bottom: 14px; }
.cti-risk-card-title { font-size: 15px; font-weight: 700; color: #222222; margin: 0; }

/* Spinner */
@keyframes cti-spin { to { transform: rotate(360deg); } }
.cti-spinner {
  width: 32px; height: 32px;
  border: 3px solid rgba(245,147,37,0.2);
  border-top-color: #F59325;
  border-radius: 50%;
  animation: cti-spin 0.7s linear infinite;
}
.cti-risk-loading { display: flex; align-items: center; justify-content: center; padding: 32px 0; }

/* Table */
.cti-risk-table-wrap { width: 100%; overflow-x: auto; margin-top: 16px; }
.cti-risk-table-wrap--scroll { max-height: 360px; overflow-y: auto; }
.cti-risk-table-wrap--scroll thead th { position: sticky; top: 0; z-index: 1; }
.cti-risk-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.cti-risk-table th { text-align: left; padding: 10px 12px; background-color: #EEF0F7; color: #555555; font-weight: 600; white-space: normal; word-break: break-word; min-width: 60px; }
.cti-risk-table th.cti-th-center { text-align: center; }
.cti-risk-table td { padding: 10px 12px; border-bottom: 1px solid #e0e0e0; color: #333333; vertical-align: middle; }
.cti-risk-table tr:last-child td { border-bottom: none; }
.cti-risk-table tr:hover td { background-color: #fffaf4; }
.cti-cell-center { text-align: center; }
.cti-placeholder-text { color: #333333; font-weight: 600; }
.cti-no-data { text-align: center; padding: 64px 0; color: #888888; font-size: 14px; }

/* Staff name cell */
.cti-staff-name-cell { display: flex; align-items: center; gap: 10px; }
.cti-staff-avatar { width: 36px; height: 36px; border-radius: 50%; object-fit: cover; flex-shrink: 0; }
.cti-staff-avatar-initials {
  width: 36px; height: 36px; border-radius: 50%; background-color: #c3c1bf;
  color: #ffffff; font-size: 13px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; user-select: none;
}
.cti-staff-name { font-weight: 500; }

/* Risk badge */
.cti-risk-badge { display: inline-block; padding: 3px 10px; border-radius: 12px; font-size: 11px; font-weight: 600; white-space: nowrap; }
.cti-risk-badge.cti-risk-high   { background-color: #fde8e8; color: #c0392b; }
.cti-risk-badge.cti-risk-medium { background-color: #fef3e4; color: #d35400; }
.cti-risk-badge.cti-risk-low    { background-color: #e8f6ee; color: #1e8449; }
.cti-risk-reasons { }
.cti-risk-reasons-list { display: flex; flex-wrap: wrap; gap: 5px; }
.cti-risk-reason-badge { display: inline-block; padding: 3px 10px; border-radius: 12px; font-size: 11px; font-weight: 500; background-color: #F3F2F8; color: #333333; word-break: break-word; white-space: normal; }

/* Insights button */
.cti-insights-btn {
  background-color: #F59325; color: #ffffff; border: none; border-radius: 50px;
  padding: 5px 10px; font-size: 11px; font-weight: 600; cursor: pointer;
  white-space: nowrap; outline: none; transition: background-color 0.2s;
}
.cti-insights-btn:hover { background-color: #d97e1a; }
.cti-insights-btn:disabled { background-color: #d0d0d0; color: #888888; cursor: not-allowed; opacity: 0.75; }

/* ── Modal ── */
.cti-modal-overlay {
  position: fixed; inset: 0; background: rgba(0,0,0,0.45);
  display: flex; align-items: center; justify-content: center;
  z-index: 1000; margin-left: 0;
}
.cti-modal {
  background: #ffffff; border-radius: 12px; overflow: hidden;
  width: 92vw; max-width: 1300px; max-height: 80vh;
  display: flex; flex-direction: column;
  box-shadow: 0 8px 32px rgba(0,0,0,0.18);
}
body:has(.slimScrollDiv) .cti-modal-overlay { margin-left: 230px; }
.cti-modal-header {
  position: relative; z-index: 10;
  display: flex; align-items: center; justify-content: space-between;
  padding: 16px 20px; border-bottom: 1px solid #e0e0e0; gap: 16px;
  background: #ffffff; border-radius: 12px 12px 0 0;
}
.cti-modal-staff-info { display: flex; align-items: center; gap: 12px; flex-shrink: 0; }
.cti-modal-avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.cti-modal-avatar-initials {
  width: 44px; height: 44px; border-radius: 50%; background-color: #c3c1bf;
  color: #ffffff; font-size: 15px; font-weight: 700;
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; user-select: none;
}
.cti-modal-staff-name { font-size: 15px; font-weight: 700; color: #222222; white-space: nowrap; }

/* Range buttons */
.cti-modal-range-area { display: flex; align-items: center; flex-shrink: 0; }
.cti-modal-range-btns { display: flex; gap: 6px; }
.cti-modal-range-btn {
  border: 1px solid #e0e0e0; background: #ffffff; color: #565656;
  border-radius: 4px; padding: 5px 12px; font-size: 12px; font-weight: 500;
  cursor: pointer; outline: none; transition: border-color 0.15s, background-color 0.15s, color 0.15s; white-space: nowrap;
}
.cti-modal-range-btn:hover { border-color: #FFE4C6; color: #F59325; }
.cti-modal-range-btn.cti-modal-range-btn--active { background-color: #FFE4C6; border-color: #FFE4C6; color: #565656; font-weight: 600; }

/* Date range group */
.cti-dr-group { display: flex; align-items: center; gap: 8px; flex-shrink: 0; }
.cti-active-filter-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 3px 8px 3px 10px; background: #FFF3E0; border: 1px solid #F59325;
  border-radius: 12px; font-size: 12px; color: #333; white-space: nowrap;
}
.cti-active-filter-chip__label { font-weight: 500; }
.cti-active-filter-chip__clear {
  display: inline-flex; align-items: center; justify-content: center;
  width: 16px; height: 16px; border: none; background: #F59325; color: #fff;
  border-radius: 50%; font-size: 9px; cursor: pointer; padding: 0; line-height: 1; flex-shrink: 0;
  transition: background 0.15s;
}
.cti-active-filter-chip__clear:hover { background: #d97e1a; }

/* Date dropdown */
.cti-dr-wrapper { position: relative; flex-shrink: 0; }
.cti-dr-trigger {
  display: inline-flex; align-items: center; gap: 8px;
  background-color: rgba(245,147,37,0.2); border: none; border-radius: 4px;
  padding: 6px 14px; font-size: 13px; font-weight: 600; color: #565656;
  cursor: pointer; white-space: nowrap; outline: none; transition: background-color 0.15s;
}
.cti-dr-trigger:hover { background-color: rgba(245,147,37,0.33); }
.cti-dr-chevron { font-size: 12px; }
.cti-dr-dropdown {
  position: absolute; top: calc(100% + 6px); left: 0; z-index: 1100;
  background: #ffffff; border: 1px solid #e0e0e0; border-radius: 4px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.13); padding: 14px 14px 10px; min-width: 300px;
}
.cti-dr-section-label { font-size: 11px; font-weight: 700; color: #888888; text-transform: uppercase; letter-spacing: 0.04em; margin: 0 0 8px; }
.cti-dr-section-label.cti-dr-section-label--range { margin-top: 12px; }
.cti-dr-quick-grid { display: flex; flex-wrap: wrap; gap: 6px; }
.cti-dr-quick-btn {
  padding: 5px 11px; font-size: 12px; background-color: #f7f7f7; border: 1px solid #e4e4e4;
  border-radius: 4px; color: #555; cursor: pointer; transition: background-color 0.15s, border-color 0.15s, color 0.15s; line-height: 1.5;
}
.cti-dr-quick-btn:hover { background-color: #fff0e0; border-color: #f59325; color: #c97a1a; }
.cti-dr-quick-btn.cti-dr-quick-btn--active { background-color: #ffe4c6 !important; border-color: #f59325 !important; color: #c97a1a !important; font-weight: 600; }
.cti-dr-footer { display: flex; justify-content: flex-end; gap: 8px; margin-top: 12px; padding-top: 10px; border-top: 1px solid #e0e0e0; }
.cti-dr-footer-btn { border-radius: 4px; padding: 6px 16px; font-size: 12px; font-weight: 600; cursor: pointer; outline: none; transition: background-color 0.15s; }
.cti-dr-footer-btn.cti-dr-footer-btn--cancel { background-color: #fff; border: 1px solid #f59325; color: #f59325; }
.cti-dr-footer-btn.cti-dr-footer-btn--cancel:hover { background-color: #fff7f0; }
.cti-dr-footer-btn.cti-dr-footer-btn--apply { background-color: #f59325; border: 1px solid #f59325; color: #fff; }
.cti-dr-footer-btn.cti-dr-footer-btn--apply:hover { background-color: #d6831d; }
.cti-dr-footer-btn.cti-dr-footer-btn--apply:disabled { background-color: #e0a74a; border-color: #e0a74a; cursor: not-allowed; opacity: 0.7; }

/* Close button */
.cti-modal-close {
  background: transparent; border: none; font-size: 18px; line-height: 1;
  color: #888888; cursor: pointer; padding: 4px 6px; border-radius: 4px;
  outline: none; flex-shrink: 0; transition: color 0.15s, background-color 0.15s;
}
.cti-modal-close:hover { color: #333333; background-color: #f0f0f0; }

/* Modal body */
.cti-modal-body {
  overflow-y: auto; flex: 1; min-height: 0;
  display: flex; flex-direction: column; gap: 20px;
  padding: 16px; border-radius: 0 0 12px 12px;
}

/* Trend charts grid */
.cti-trend-charts-grid {
  display: grid; grid-template-columns: repeat(3, minmax(0, 400px));
  gap: 14px; padding: 16px; justify-content: center;
}
.cti-trend-card { border: 1px solid #e0e0e0; border-radius: 14px; padding: 14px 16px 10px; background: #ffffff; display: flex; flex-direction: column; gap: 2px; }
.cti-trend-card-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.cti-trend-card-title { font-size: 13px; font-weight: 600; color: #222222; flex: 1; }
.cti-trend-card-summary { display: block; font-size: 11px; color: #555555; margin-top: 1px; margin-bottom: 4px; }
.cti-community-avg-badge { font-size: 11px; color: #666666; border: 1px solid #999999; border-radius: 20px; padding: 2px 8px; white-space: nowrap; flex-shrink: 0; }
.cti-trend-canvas-wrap { position: relative; height: 230px; width: 100%; overflow: hidden; }
/* Let Chart.js manage the canvas pixel/display size in responsive mode; forcing it with !important fights its resize logic and leaves duplicate ghost labels */
.cti-trend-canvas-wrap canvas { display: block; }
.cti-trend-chart-loading,
.cti-trend-chart-empty { display: flex; align-items: center; justify-content: center; height: 100%; min-height: 120px; font-size: 13px; color: #aaa; }

/* RTT modal */
.cti-rtt-title { font-size: 15px; font-weight: 700; color: #222222; white-space: nowrap; flex-shrink: 0; }
.cti-rtt-controls { flex: 1; display: flex; align-items: center; justify-content: center; gap: 8px; min-width: 0; }
.cti-rtt-date-range { display: inline-flex; align-items: center; background-color: rgba(245,147,37,0.2); border-radius: 4px; padding: 6px 14px; font-size: 13px; font-weight: 600; color: #565656; white-space: nowrap; flex-shrink: 0; }
.cti-rtt-dr-trigger { display: inline-flex; align-items: center; gap: 6px; background: transparent; border: none; border-radius: 4px; padding: 6px 14px; font-size: 13px; font-weight: 600; color: #565656; cursor: pointer; outline: none; white-space: nowrap; flex-shrink: 0; }
.cti-rtt-dr-trigger:hover { color: #F59325; }
.cti-rtt-body { padding: 24px; }
.cti-rtt-chart-card { display: flex; flex-direction: column; gap: 12px; min-height: 320px; }
.cti-rtt-chart-card .cti-trend-canvas-wrap { height: 280px; }
.cti-rtt-mode-toggle { display: flex; align-items: center; gap: 8px; margin-bottom: 10px; }
.cti-rtt-mode-label { font-size: 12px; color: #888888; }
.cti-rtt-mode-label.cti-rtt-mode-label--active { color: #222222; font-weight: 600; }
.cti-rtt-switch { position: relative; display: inline-block; width: 36px; height: 20px; }
.cti-rtt-switch input { opacity: 0; width: 0; height: 0; }
.cti-rtt-switch-slider { position: absolute; cursor: pointer; top: 0; left: 0; right: 0; bottom: 0; background-color: #F5A623; border-radius: 20px; transition: background-color 0.2s; }
.cti-rtt-switch-slider::before { content: ''; position: absolute; height: 14px; width: 14px; left: 3px; bottom: 3px; background-color: #ffffff; border-radius: 50%; transition: transform 0.2s; }
.cti-rtt-switch input:checked + .cti-rtt-switch-slider::before { transform: translateX(16px); }
.cti-rtt-canvas-wrap { position: relative; height: 420px; width: 100%; }
.cti-rtt-canvas-wrap canvas { width: 100% !important; height: 100% !important; }

/* Sub-cards row */
.cti-sub-cards-row { display: flex; flex-direction: row; gap: 16px; margin-top: 30px; margin-bottom: 16px; align-items: flex-start; }
.cti-sub-card { flex: 1; min-width: 0; height: 420px; overflow-y: auto; background: #ffffff; border: 1px solid #e0e0e0; border-radius: 14px; padding: 16px 10px; box-shadow: 0 1px 4px rgba(0,0,0,0.06); box-sizing: border-box; display: flex; flex-direction: column; }
.cti-sub-card-empty { flex: 1; display: flex; align-items: center; justify-content: center; color: #888888; font-size: 14px; }

/* Pagination */
.cti-pagination { display: flex; align-items: center; justify-content: space-between; padding: 12px 16px; border-top: 1px solid #e0e0e0; flex-wrap: wrap; gap: 8px; }
.cti-pagination-left { display: flex; align-items: center; gap: 8px; font-size: 13px; color: #555; }
.cti-pagination-select { padding: 4px 8px; border: 1px solid #e0e0e0; border-radius: 4px; font-size: 13px; background: #fff; color: #333; cursor: pointer; outline: none; }
.cti-pagination-select:focus { border-color: #F59325; }
.cti-pagination-right { display: flex; align-items: center; gap: 12px; }
.cti-pagination-info { font-size: 13px; color: #555; white-space: nowrap; }
.cti-pagination-controls { display: flex; align-items: center; gap: 4px; }
.cti-pagination-btn { min-width: 32px; height: 32px; padding: 0 10px; border: 1px solid #e0e0e0; background: #fff; border-radius: 4px; font-size: 14px; cursor: pointer; color: #333; transition: background-color 0.15s, color 0.15s, border-color 0.15s; }
.cti-pagination-btn:hover:not(:disabled):not(.cti-pagination-btn--active) { background: #f5f5f5; border-color: #bbb; }
.cti-pagination-btn:disabled { opacity: 0.4; cursor: not-allowed; }
.cti-pagination-btn.cti-pagination-btn--active { background: #F59325; color: #ffffff; border-color: #F59325; font-weight: 600; }
.cti-pagination-ellipsis { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; font-size: 14px; color: #888; user-select: none; }

/* ── RTT dropdown: hide time inputs, fix From/To label alignment ── */
.cti-dr-dropdown .from-date-input,
.cti-dr-dropdown .to-date-input { display: none !important; }

.cti-dr-dropdown .date-inputs-container {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-left: 0 !important;
  flex-wrap: nowrap !important;
}

.cti-dr-dropdown .date-label {
  width: 36px;
  min-width: 36px;
  flex-shrink: 0;
  text-align: left;
  font-size: 12px;
  color: #555555;
  display: block;
  font-weight: 600;
}

.cti-dr-dropdown .ant-picker { width: 160px !important; height: 30px !important; flex-shrink: 0; }
.cti-dr-dropdown .ant-picker .ant-picker-input>input { font-size: 13px !important; padding: 6px 10px !important; }
.cti-dr-dropdown .ant-picker-dropdown { z-index: 2000 !important; }
.cti-modal { overflow: visible; }
.cti-modal-header { overflow: visible; }
.cti-dr-dropdown { overflow: visible; }
.cti-dr-dropdown .range-selector { overflow: visible; }

/* ── Responsive ── */
@media (max-width: 1280px) {
  .cti-cost-card { min-width: 0; }
  .cti-trend-charts-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); justify-content: stretch; }
  .cti-modal { max-width: 1200px; }
}
@media (max-width: 1024px) {
  .cti-tab-row { flex-wrap: wrap; gap: 12px; }
  .cti-tab-left { gap: 16px; }
  .cti-tab-row-actions { flex-wrap: wrap; justify-content: flex-end; }
  .cti-cost-card { min-width: 0; max-width: 380px; }
  .cti-trend-charts-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); justify-content: stretch; }
}
@media (max-width: 768px) {
  .cti-page { padding: 10px; }
  .cti-tab-row { flex-direction: column; align-items: flex-start; gap: 10px; }
  .cti-tab-left { gap: 12px; width: 100%; }
  .cti-tab-row-actions { width: 100%; justify-content: flex-start; }
  .cti-cost-card { max-width: 100%; width: 100%; }
  .cti-sub-cards-row { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 16px; }
  .cti-modal-header { flex-wrap: wrap; gap: 10px; }
  .cti-modal-staff-info { flex: 1; }
  .cti-modal-close { order: 1; margin-left: auto; }
  .cti-dr-wrapper { order: 2; width: 100%; }
  .cti-dr-trigger { width: 100%; justify-content: space-between; }
  .cti-modal-range-area { order: 3; width: 100%; }
  .cti-modal-range-btns { flex-wrap: wrap; }
}
@media (max-width: 640px) {
  .cti-tab-btn { padding: 7px 14px; font-size: 13px; }
  .cti-tab-left { gap: 10px; }
  .cti-sub-cards-row { grid-template-columns: 1fr; }
  .cti-modal { width: 98vw; max-height: 95vh; }
  .cti-trend-charts-grid { grid-template-columns: 1fr; padding: 8px; }
}
@media (max-width: 480px) {
  .cti-page { padding: 8px; }
  .cti-tab-btn { padding: 6px 10px; font-size: 12px; }
  .cti-cost-card { padding: 8px 10px; }
  .cti-cost-presets { flex-wrap: wrap; }
  .cti-modal-body { padding: 10px; gap: 14px; }
  .cti-modal-range-btns { gap: 4px; }
  .cti-modal-range-btn { padding: 4px 8px; font-size: 11px; }
  .cti-trend-charts-grid { padding: 4px; }
}

.cpd-range-selector {
  margin-top: 6px;
  margin-left: 0;
}

.cpd-date-inputs-container {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-left: 0;
  margin-bottom: 8px;
}

.cpd-date-label {
  display: block;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #888 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  margin: 0 !important;
}

.cpd-date-inputs-container > div {
  display: flex;
  gap: 8px;
  align-items: center;
}

.cpd-date-inputs-container .ant-picker {
  width: 140px !important;
  height: 32px !important;
  border-radius: 6px !important;
}

.cpd-date-inputs-container .ant-picker input {
  font-size: 12px !important;
}

.cpd-from-date-input,
.cpd-to-date-input {
  width: 140px !important;
  min-width: 140px !important;
  flex: 0 0 140px;
  height: 38px !important;
  line-height: normal !important;
  border-radius: 6px !important;
  border: 1px solid #ccc !important;
  font-size: 12px !important;
  color: #575757 !important;
  padding: 0 8px !important;
  box-sizing: border-box !important;
  outline: none !important;
  transition: all 0.3s ease !important;
}
/* Keep macOS WebKit's native time text vertically centered without widening the input. */
.cpd-from-date-input::-webkit-datetime-edit,
.cpd-to-date-input::-webkit-datetime-edit {
  padding: 0 !important;
  line-height: normal !important;
}

.cpd-from-date-input::-webkit-date-and-time-value,
.cpd-to-date-input::-webkit-date-and-time-value {
  min-height: 1.2em;
  text-align: left;
}

.cpd-from-date-input:hover,
.cpd-to-date-input:hover {
  border-color: #f59325 !important;
}

.cpd-from-date-input:focus,
.cpd-to-date-input:focus {
  border-color: #f59325 !important;
  box-shadow: 0 0 0 2px rgba(245, 147, 37, 0.2) !important;
}

/* AntD picker overrides */
.ant-picker {
  transition: all 0.3s ease;
  border: 1px solid #ccc;
}

.ant-picker:hover {
  border-color: #f59325;
}

.ant-picker-focused,
.ant-picker-outlined:focus,
.ant-picker-outlined:focus-within {
  border-color: #f59325 !important;
  box-shadow: 0 0 0 2px rgba(245, 147, 37, 0.2) !important;
}

.ant-picker .ant-picker-input > input {
  color: #575757 !important;
  font-weight: 400;
  font-size: 12px !important;
}

.ant-picker-clear,
.ant-picker-suffix {
  color: #f59325;
}

.ant-picker-active-bar {
  background-color: #f59325 !important;
}

.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,
.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,
.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner {
  background-color: #f59325 !important;
  color: #fff !important;
}

.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-in-range::before {
  background-color: rgba(245, 147, 37, 0.15) !important;
}

.ant-picker-dropdown .ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner {
  background-color: #f59325 !important;
  color: #fff !important;
}

.ant-picker-ok button {
  background-color: #f59325 !important;
  border-color: #f59325 !important;
  color: #fff !important;
}

.ant-picker-ok button:hover {
  background-color: #d47f1f !important;
  border-color: #d47f1f !important;
}

.ant-picker-now-btn,
.ant-picker-today-btn {
  color: #f59325 !important;
}

.ant-picker-footer-extra {
  display: flex;
  justify-content: center;
}

.cpd-today-link {
  border: none !important;
  background: none !important;
  box-shadow: none !important;
  padding: 0;
  cursor: pointer;
  color: #f59325;
  font-size: 13px;
  outline: none;
}

.cpd-today-link:hover {
  text-decoration: underline;
  background: none !important;
  border: none !important;
}

/* ── Tiles wrap ────────────────────────────────────────────────────────────── */
.tiles-wrap {
    padding: 4px 0;
}

/* ── Group container with left color bar ──────────────────────────────────── */
.tiles-group {
    width: 100%;
    padding: 12px;
    background-color: #fff;
    border-radius: 14px;
    position: relative;
}

.tiles-group::before {
    content: '';
    position: absolute;
    left: 0;
    top: 0;
    width: 4px;
    height: 100%;
    border-top-left-radius: 14px;
    border-bottom-left-radius: 14px;
    background-color: transparent;
}

.tiles-group.tiles-group--ondemandcare::before  { background-color: #efa518; }
.tiles-group.tiles-group--scheduledcare::before  { background-color: #57a4ff; }
.tiles-group.tiles-group--incidentalcare::before { background-color: #c7c7c7; }
.tiles-group.tiles-group--allalerts::before      { background-color: #84C96B; }
.tiles-group.tiles-group--overview::before       { background-color: transparent; }

.tiles-row {
    display: flex;
    flex-wrap: nowrap;
    align-items: stretch;
    width: 100%;
    margin-top: 10px;
    margin-bottom: 10px;
}

/* ── Shared card ─────────────────────────────────────────────────────────── */
.tiles-card {
    height: auto;
    min-height: 92px;
    border-radius: 4px;
    border: 1px solid #E9E9E9;
    background-color: white;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 8px;
    margin-top: -2px;
    max-width: 200px;
    width: 100%;
}

.tiles-card > .tiles-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between;
    gap: 0px;
    width: 100%;
    height: 100%;
}

.tiles-content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.tiles-count {
    font-size: 18px;
    font-weight: 600 !important;
    text-align: center;
    display: block;
    margin-top: 7px;
    margin-bottom: 0px !important;
}

.tiles-label {
    font-size: 14px;
    text-align: center;
    display: block;
    font-weight: 500 !important;
}

/* ── On-Demand Care ──────────────────────────────────────────────────────── */
.tiles-od-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    width: 96%;
    margin-left: 30px;
    flex-wrap: nowrap;
    gap: 0;
}

.tiles-od-list {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    flex-wrap: wrap;
    gap: 8px;
    flex: 1 1 auto;
    min-width: 0;
}

.tiles-od-item {
    flex: 1 1 120px;
    min-width: 110px;
    max-width: 200px;
    display: flex;
    flex-direction: column;
}

.tiles-od-item > .tiles-card {
    flex: 1;
    min-height: 88px;
    height: 88px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.tiles-od-item .tiles-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    justify-content: start;
}

.tiles-od-item .tiles-label {
    line-height: 1.3;
    text-align: center;
    margin-top: 10px;
}

.tiles-od-item.tiles-active > .tiles-card {
    border-color: #ee931a;
    box-shadow: 0 0 0 2px rgba(238, 147, 26, 0.25);
    background-color: #fff8f0;
}

.tiles-od-illus {
    position: absolute;
    top: 8px;
    right: 8px;
}

/* ── Scheduled / Incidental Care ─────────────────────────────────────────── */
.tiles-sc-content {
    flex: 0 0 100%;
    max-width: 100%;
    padding: 0;
}

.tiles-sc-illus {
    position: absolute;
    top: 8px;
    right: 8px;
}

.tiles-sc-list {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    flex-wrap: nowrap;
    gap: 8px;
    width: 100%;
    height: 100%;
    margin-left: 50px;
}

.tiles-sc-item {
    flex: 1 1 150px;
    max-width: 200px;
    display: flex;
    flex-direction: column;
}

.tiles-sc-item > .tiles-card {
    flex: 1;
    width: 100%;
    min-height: 88px;
    height: 88px;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.tiles-sc-item .tiles-content {
    display: flex;
    flex-direction: column;
    flex: 1;
    justify-content: start;
}

.tiles-sc-item .tiles-label {
    line-height: 1.3;
    text-align: center;
    margin-top: 10px;
}

/* ── Overview ────────────────────────────────────────────────────────────── */
.tiles-ov-total {
    flex: 0 0 150px;
    width: 150px;
    padding: 0 4px;
    margin-left: 10px;
    display: flex;
    align-items: stretch;
}

.tiles-ov-total .tiles-card {
    min-height: 92px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.tiles-ov-total .tiles-content { display: flex; flex-direction: column; flex: 1; justify-content: start; }
.tiles-ov-total .tiles-label   { line-height: 1.3; text-align: center; margin-top: 10px; }

.tiles-ov-time {
    flex: 0 0 150px;
    width: 150px;
    padding: 0 4px;
    display: flex;
    align-items: stretch;
    margin-left: 8px;
}

.tiles-ov-time .tiles-card {
    min-height: 92px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.tiles-ov-time .tiles-content { display: flex; flex-direction: column; flex: 1; justify-content: start; }
.tiles-ov-time .tiles-label   { line-height: 1.3; text-align: center; margin-top: 10px; }

.tiles-ov-gap {
    width: 24px;
    flex: 0 0 24px;
}

.tiles-combo {
    flex: 0 1 340px;
    width: 340px;
    max-width: 340px;
    min-width: 160px;
    margin-right: 2px;
    margin-left: 4px;
    padding: 0 4px;
}

.tiles-combo-sep { margin-left: 16px; }

.tiles-combo-card {
    margin-left: 4px;
    position: relative;
    display: flex;
    align-items: center;
    height: 100%;
    min-height: 92px;
    margin-top: -2px;
    padding: 10px 14px;
    background-color: white;
    border-radius: 4px;
    border: 1px solid #E9E9E9;
}

.tiles-combo-card > .tiles-content {
    align-items: flex-start;
    justify-content: center;
    margin-left: 8px;
    flex: 1;
    min-width: 0;
    white-space: normal;
}

.tiles-bar-od,
.tiles-bar-sc,
.tiles-bar-ic {
    position: absolute;
    left: 0;
    top: 0;
    bottom: 0;
    width: 6px;
    height: 100%;
    border-radius: 3px 0 0 3px;
}

.tiles-bar-od { background-color: #efa518; }
.tiles-bar-sc { background-color: #57a4ff; }
.tiles-bar-ic { background-color: #c7c7c7; }

.tiles-combo-title {
    font-size: 13px;
    font-weight: 700;
    color: #333;
    text-align: left;
    display: block;
    margin-bottom: 6px;
}

.tiles-combo-label {
    font-size: 14px;
    text-align: left;
    display: flex;
    align-items: center;
    font-weight: 500;
    width: 100%;
}

.tiles-combo-lbl-text {
    flex: 1;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tiles-divider {
    margin: 5px 0;
    border: none;
    border-top: 1px solid #e9e9e9;
    width: 90%;
}

.tiles-combo-val {
    font-size: 15px;
    font-weight: bold;
    margin-left: 8px;
    white-space: nowrap;
    flex-shrink: 0;
    min-width: 90px;
}

.tiles-illus-wrap {
    position: absolute;
    top: 8px;
    right: 8px;
}

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width: 1280px) {
    .tiles-od-item { min-width: 80px; max-width: 150px; }
    .tiles-od-row  { flex-wrap: wrap; }
}

@media (min-width: 769px) and (max-width: 1960px) {
    .tiles-ov-time                              { margin-left: 8px; }
    .tiles-ov-gap                               { width: 22px; flex: 0 0 22px; }
    .tiles-combo                                { width: 320px; flex: 0 1 320px; max-width: 320px; }
    .tiles-combo-card                           { margin-left: 8px; }
    .tiles-ov-total > .tiles-card,
    .tiles-ov-time  > .tiles-card               { max-width: 160px; }
    .tiles-combo-label                          { font-size: 13px; }
    .tiles-combo-val                            { min-width: 75px; font-size: 13px; }
}

@media (min-width: 769px) and (max-width: 1745px) {
    .tiles-ov-gap                               { width: 18px; flex: 0 0 18px; }
    .tiles-combo                                { width: 305px; flex: 0 1 305px; max-width: 305px; }
    .tiles-combo-sep                            { margin-left: 10px; }
    .tiles-ov-total > .tiles-card,
    .tiles-ov-time  > .tiles-card               { max-width: 142px; }
    .tiles-count                                { font-size: 20px; }
    .tiles-label, .tiles-combo-label            { font-size: 13px; font-weight: 500 !important; }
    .tiles-combo-val                            { font-size: 13px; margin-left: 8px; min-width: 72px; }
    .tiles-combo-card                           { margin-left: 4px; padding-left: 10px; }
}

@media (min-width: 769px) and (max-width: 1600px) {
    .tiles-ov-time                              { margin-left: 6px; }
    .tiles-ov-gap                               { width: 14px; flex: 0 0 14px; }
    .tiles-combo                                { width: 280px; flex: 0 1 280px; max-width: 280px; }
    .tiles-combo-sep                            { margin-left: 8px; }
    .tiles-ov-total > .tiles-card,
    .tiles-ov-time  > .tiles-card               { max-width: 152px; }
    .tiles-count                                { font-size: 18px; }
    .tiles-label, .tiles-combo-label            { font-size: 12px; font-weight: 500 !important; }
    .tiles-combo-val                            { font-size: 12px; margin-left: 6px; min-width: 62px; }
    .tiles-combo-card                           { margin-left: 3px; padding-left: 8px; }
}

@media (min-width: 769px) and (max-width: 1450px) {
    .tiles-ov-time                              { margin-left: 6px; }
    .tiles-ov-gap                               { width: 10px; flex: 0 0 10px; }
    .tiles-combo                                { width: 255px; flex: 0 1 255px; max-width: 255px; }
    .tiles-ov-total > .tiles-card,
    .tiles-ov-time  > .tiles-card               { max-width: 130px; padding: 5px; }
    .tiles-count                                { font-size: 16px; }
    .tiles-label, .tiles-combo-label            { font-size: 11px; font-weight: 500 !important; }
    .tiles-combo-val                            { font-size: 11px; margin-left: 4px; min-width: 52px; }
    .tiles-combo-card                           { margin-left: 2px; padding-left: 8px; }
}

@media (min-width: 769px) and (max-width: 1280px) {
    .tiles-ov-time                              { margin-left: 4px; }
    .tiles-ov-gap                               { width: 8px; flex: 0 0 8px; }
    .tiles-combo                                { width: 210px; flex: 0 1 210px; max-width: 210px; }
    .tiles-ov-total > .tiles-card,
    .tiles-ov-time  > .tiles-card               { max-width: 110px; padding: 4px; }
    .tiles-count                                { font-size: 14px; }
    .tiles-label, .tiles-combo-label            { font-size: 10px; font-weight: 500 !important; }
    .tiles-combo-val                            { display: block; font-size: 10px; margin-left: 0; }
    .tiles-group                                { padding: 2px; }
}

@media (max-width: 768px) {
    .tiles-row         { flex-wrap: wrap; height: auto; overflow-x: auto; margin-left: 0; }
    .tiles-sc-content  { flex: 0 0 100%; max-width: 100%; }
    .tiles-sc-list     { flex-wrap: wrap; margin-left: 0; }
    .tiles-sc-item     { flex: 1 1 calc(50% - 4px); }
    .tiles-od-row      { margin-left: 0; width: 100%; }
    .tiles-od-list     { gap: 6px; }
    .tiles-od-item     { flex: 1 1 calc(50% - 6px); max-width: calc(50% - 6px); min-width: 120px; }
    .tiles-combo       { flex: 1 1 100%; width: 100%; }
    .tiles-ov-total,
    .tiles-ov-time     { width: auto; max-width: 100%; margin-left: 0 !important; }
    .tiles-combo-card  { margin-left: 0; padding-left: 8px; }
}

@media (max-width: 576px) {
    .tiles-wrap   { margin-left: 10px; margin-right: 10px; }
    .tiles-sc-item { flex: 1 1 100%; }
}

/* ── Shared chart utilities ──────────────────────────────────────────────── */
.chart-click-btn {
    margin-right: 0 !important;
    margin-top: 0 !important;
}

.chart-scroll-slider {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 6px;
    background: #e4e4e4;
    border-radius: 3px;
    outline: none;
    cursor: pointer;
    margin-top: 4px;
}

.chart-scroll-slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 40px;
    height: 6px;
    border-radius: 3px;
    background: #F5A623;
    cursor: pointer;
}

.chart-scroll-slider::-moz-range-thumb {
    width: 40px;
    height: 6px;
    border-radius: 3px;
    border: none;
    background: #F5A623;
    cursor: pointer;
}

/* ── Group-by select ─────────────────────────────────────────────────────── */
.overview-btn {
    appearance: none;
    -webkit-appearance: none;
    padding: 5px 28px 5px 12px !important;
    font-size: 12px !important;
    font-weight: 500;
    color: #444;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2710%27 height=%276%27 viewBox=%270 0 10 6%27%3E%3Cpath d=%27M1 1l4 4 4-4%27 stroke=%27%23999%27 stroke-width=%271.5%27 fill=%27none%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E") no-repeat right 10px center;
    border: 1px solid #e8e8e8;
    border-radius: 20px !important;
    height: 30px;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    transition: border-color 0.15s, box-shadow 0.15s;
    outline: none;
    min-width: 100px;
}

.overview-btn:hover { border-color: #f5a623; }

.overview-btn:focus {
    border-color: #f5a623;
    box-shadow: 0 0 0 3px rgba(245, 166, 35, 0.12);
}

/* ── Legend pills ────────────────────────────────────────────────────────── */
.legend-item {
    border: 1px solid #d8d8d8;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 4px 10px !important;
    border-radius: 20px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
    white-space: nowrap;
    font-size: 12px;
    font-weight: 500;
}

/* ── Events / Time toggle ────────────────────────────────────────────────── */
.event-time-toggle {
    display: inline-flex;
    background: #f0f0f0;
    border-radius: 20px;
    overflow: hidden;
    border: 1px solid #e0e0e0;
    margin-top: 0;
    margin-bottom: 0;
}

.toggle-btn {
    border: none;
    background: transparent;
    padding: 4px 14px;
    font-size: 12px;
    font-weight: 500;
    color: #888;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 5px;
    transition: background 0.15s, color 0.15s;
}

.toggle-btn.active {
    background: #f5a623;
    color: #fff;
    border-radius: 20px;
}

.toggle-btn .tick {
    font-size: 11px;
    font-weight: bold;
}

/* ── Grouped-by-hour button ──────────────────────────────────────────────── */
.grouped-hour-btn {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, #fff8f0 0%, #fff 100%);
    border: 1px solid #f5a623;
    border-radius: 20px;
    color: #d4800a;
    font-size: 12px;
    font-weight: 500;
    padding: 5px 14px;
    cursor: pointer;
    height: 30px;
    box-shadow: 0 1px 3px rgba(245, 166, 35, 0.15);
    transition: background 0.15s, box-shadow 0.15s;
}

.grouped-hour-btn svg { flex-shrink: 0; opacity: 0.85; }

.grouped-hour-btn:hover {
    background: #fff4e5;
    box-shadow: 0 2px 6px rgba(245, 166, 35, 0.25);
}

/* ── Modal overlay ───────────────────────────────────────────────────────── */
.caretrend-modal-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: 32px;
    z-index: 9999;
    overflow-y: auto;
}

.caretrend-modal {
    background: #fff;
    border-radius: 16px;
    width: 100%;
    min-width: 680px;
    max-width: min(1100px, calc(100vw - 120px));
    max-height: 75vh;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    padding: 24px;
    box-shadow: 0px 18px 48px rgba(0, 0, 0, 0.18);
}

.caretrend-modal-top {
    position: relative;
    padding-right: 36px;
}

.caretrend-modal-close {
    position: absolute;
    top: 0;
    right: 0;
    border: none;
    background: transparent;
    font-size: 22px;
    line-height: 1;
    cursor: pointer;
    color: #555;
}

.caretrend-modal-close:hover { color: #000; }

.caretrend-modal-chart {
    flex: 1;
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    justify-content: stretch;
    width: 100%;
    padding-top: 12px;
}

.caretrend-modal-chart > div {
    flex: 1;
    min-height: 0;
}

/* ── Chart header layout ─────────────────────────────────────────────────── */
.trends-header-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 15px;
}

.trends-header-title {
    display: flex;
    align-items: center;
    gap: 10px;
    flex: 0 0 auto;
    background: linear-gradient(135deg, #fff8f0, #fff);
    border: 1px solid #f5e4cc;
    border-radius: 10px;
    padding: 6px 14px;
}

.trends-header-icon { display: flex; align-items: center; }

.trends-header-heading {
    margin: 0;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
}

.trends-header-controls {
    display: flex;
    align-items: center;
    gap: 10px;
}

.trends-header-legend {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-left: auto;
}

.legend-container {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.align-legend-right { justify-content: flex-end; }

/* ── Inline chart state placeholders ────────────────────────────────────── */
.caretrend-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
}

.caretrend-nodata { color: #999; font-size: 14px; }

.caretrend-retry-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    color: #555;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ── Loading spinner ─────────────────────────────────────────────────────── */
.caretrend-spinner {
    display: inline-block;
    width: 36px;
    height: 36px;
    border: 3px solid #f0e0c8;
    border-top-color: #f5a623;
    border-radius: 50%;
    animation: caretrend-spin 0.7s linear infinite;
}

@keyframes caretrend-spin {
    to { transform: rotate(360deg); }
}

/* ── Colour dot variants ─────────────────────────────────────────────────── */
.rounded-div-orange,
.rounded-div-gray,
.rounded-div-yellow,
.rounded-div-green {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    flex-shrink: 0;
}

.rounded-div-orange { background-color: #F5A623; }
.rounded-div-gray   { background-color: #4A90E2; }
.rounded-div-yellow { background-color: #9B9B9B; }
.rounded-div-green  { background-color: #8dc76c; }

/* ── OverviewTables layout ────────────────────────────────────────────────────
   Scoped under .residents-table-scope to avoid collisions with other tables.
   Class names follow the ov-table- prefix for dashboard-level elements.
────────────────────────────────────────────────────────────────────────────── */

@keyframes ehrSpin {
    from { transform: rotate(0deg); }
    to   { transform: rotate(360deg); }
}

.ehr-refresh-spin {
    animation: ehrSpin 1s linear infinite;
    display: inline-block;
}

.residents-table-scope {
    font-size: 13px;
}

/* Bootstrap table background override */
.residents-table-scope .table > :not(caption) > * > * {
    background-color: transparent;
}

.residents-table-scope .common-table-wrapper {
    padding: 20px;
    background-color: #fff;
    border-radius: 14px;
    margin: 8px 0;
}

.residents-table-scope .common-table {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
}

/* ── Table header bar ─────────────────────────────────────────────────────── */
.residents-table-scope .table-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 0;
    flex-wrap: wrap;
    margin-bottom: 20px;
}

.residents-table-scope .table-header .left {
    display: flex;
    align-items: center;
    gap: 12px;
}

.residents-table-scope .table-header .right {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: auto;
}

.residents-table-scope .table-header .title {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: linear-gradient(135deg, #fff8f0 0%, #fff 100%);
    border: 1px solid #f5e4cc;
    border-radius: 10px;
    padding: 6px 14px;
    font-weight: 600;
    font-size: 14px;
    color: #333;
    letter-spacing: 0.2px;
    white-space: nowrap;
}

/* ── Search input ─────────────────────────────────────────────────────────── */
.residents-table-scope .table-header .search-wrapper {
    position: relative;
    display: flex;
    align-items: center;
}

.residents-table-scope .table-header .search {
    min-width: 220px;
    padding: 7px 36px 7px 12px;
    border: 1px solid #e5e5e5;
    border-radius: 20px;
    font-size: 13px;
    color: #333;
    background: #fafafa;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
    transition: border-color 0.15s, box-shadow 0.15s;
    outline: none;
}

.residents-table-scope .table-header .search:focus {
    border-color: #f5a623;
    box-shadow: 0 0 0 3px rgba(245, 166, 35, 0.12);
    background: #fff;
}

.residents-table-scope .table-header .search::placeholder {
    font-size: 13px;
    color: #aaa;
}

/* ── Row grid ─────────────────────────────────────────────────────────────── */
.residents-table-scope .row {
    display: grid;
    grid-template-columns:
        minmax(180px, 1fr)
        minmax(80px,  1fr)
        minmax(160px, 3fr)
        minmax(160px, 2fr)
        minmax(160px, 2fr)
        minmax(160px, 2fr);
    align-items: stretch;
    border-bottom: 1px solid #e6e6e6;
}

/* Explicit column placement — prevents auto-placement shifting when bars-cell is hidden */
.residents-table-scope .row > div:nth-child(1) { grid-column: 1; }
.residents-table-scope .row > div:nth-child(2) { grid-column: 2; }
.residents-table-scope .row > div:nth-child(3) { grid-column: 3; }
.residents-table-scope .row > div:nth-child(4) { grid-column: 4; }
.residents-table-scope .row > div:nth-child(5) { grid-column: 5; }
.residents-table-scope .row > div:nth-child(6) { grid-column: 6; }

.residents-table-scope .row.header {
    background: #fff;
    font-weight: 700;
    font-size: 14px;
    color: #555;
    letter-spacing: 0.3px;
    text-transform: uppercase;
    border-bottom: 2px solid #ececec;
}

.residents-table-scope .row.header .cell {
    word-break: normal;
    overflow-wrap: normal;
    white-space: normal;
    font-size: 14px;
    overflow: hidden;
}

.residents-table-scope .row:not(.header):nth-child(even) { background: #fafbfc; }
.residents-table-scope .row:not(.header):nth-child(odd)  { background: #ffffff; }
.residents-table-scope .row:not(.header):hover            { background: #fff8f0; }

/* ── Split header cells ───────────────────────────────────────────────────── */
.residents-table-scope .row.header .cell.split {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    padding-bottom: 12px;
    border-right: 1px solid #d9d9d9;
}

.residents-table-scope .row.header .cell.split > div {
    flex: 1 1 0;
    min-width: 0;
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-size: inherit;
    font-weight: inherit;
    text-align: left;
}

/* Orange underline — nth-child(4) On-Demand */
.residents-table-scope .row.header .cell.split::after {
    content: "";
    position: absolute;
    left: 10%;
    right: 10%;
    bottom: 0;
    border-bottom: 2px solid #f28c18;
}

/* Blue underline — nth-child(5) Scheduled Care */
.residents-table-scope .row.header .cell.split:nth-child(5)::after {
    border-bottom: 2px solid #5b9dff;
}

/* Gray underline — nth-child(6) Incidental Care */
.residents-table-scope .row.header .cell.split:nth-child(6)::after {
    border-bottom: 2px solid #9e9e9e;
}

.residents-table-scope .row.header .cell.resident {
    flex-direction: row;
    align-items: center;
    justify-content: flex-start;
    gap: 8px;
}

/* ── Generic cell ─────────────────────────────────────────────────────────── */
.residents-table-scope .cell {
    display: flex;
    align-items: center;
    padding: 10px 14px;
    font-size: 12px;
    color: #3a3a3a;
    height: 100%;
    box-sizing: border-box;
    min-width: 0;
    background: inherit;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
}

.residents-table-scope .cell.split {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: 12px;
    border-right: 1px solid #d9d9d9;
    text-align: left;
}

.residents-table-scope .cell.split > div {
    flex: 1 1 0;
    min-width: 0;
    color: #3a3a3a;
    font-weight: 500;
    font-size: 13px;
    word-break: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    text-align: left;
}

.residents-table-scope .row:not(.header) .cell.split > div {
    margin-left: 10px;
}

.residents-table-scope .cell.resident {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
}

.residents-table-scope .cell.resident .name {
    font-weight: 500;
    color: #2d2d2d;
    font-size: 13px;
    width: 100%;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.residents-table-scope .cell.resident .sub {
    font-size: 11px;
    color: #999;
    margin-top: 2px;
    width: 100%;
    min-width: 0;
    word-break: break-word;
    overflow-wrap: anywhere;
}

.residents-table-scope .cell.events {
    justify-content: flex-start;
}

.residents-table-scope .cell.bar-header {
    flex-direction: column;
    justify-content: flex-end;
    align-items: flex-start;
    font-size: 13px;
    min-width: 200px;
    padding-bottom: 10px;
}

.residents-table-scope .cell.bars-cell {
    justify-content: flex-start;
    align-items: center;
    min-width: 200px;
}

.residents-table-scope .width-large { min-width: 0; }

/* ── Badge ────────────────────────────────────────────────────────────────── */
.residents-table-scope .badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #fff3e0 !important;
    color: #c25f00;
    font-weight: 700;
    font-size: 12px;
    min-width: 32px;
    height: 24px;
    padding: 0 8px;
    border-radius: 12px;
    border: 1px solid #ffe0b2;
    letter-spacing: 0.2px;
}

.residents-table-scope .table .badge { 
    background: #fff3e0 !important;
    border-radius: 12px !important; 
}

/* ── Bars ─────────────────────────────────────────────────────────────────── */
.residents-table-scope .bars {
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: flex-start;
    width: 100%;
}

.residents-table-scope .bar {
    height: 8px;
    border-radius: 4px;
    min-width: 4px;
    transition: width 0.3s ease;
}

.residents-table-scope .bar.orange         { background: #f28c18; }
.residents-table-scope .bar.blue           { background: #5b9dff; }
.residents-table-scope .bar.gray           { background: #9e9e9e; }
.residents-table-scope .bar.on_demand      { background: #f28c18; }
.residents-table-scope .bar.scheduled_care { background: #5b9dff; }
.residents-table-scope .bar.incidental_care{ background: #9e9e9e; }

.residents-table-scope .sort-cell {
    cursor: default;
    pointer-events: none;
}

.residents-table-scope .sort-trigger {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    pointer-events: auto;
}

.residents-table-scope .sort-trigger:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}
.residents-table-scope .sort-icons {
    display: inline-flex;
    flex-direction: row;
    line-height: 0;
    vertical-align: middle;
    margin-left: 6px;
}

.residents-table-scope .sort-icons img {
    width: 12px;
    height: 12px;
}

/* ── Legend pills ─────────────────────────────────────────────────────────── */
.residents-table-scope .legend-container {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
}

.residents-table-scope .ov-legend-pill {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border: 1px solid #e0e0e0;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 500;
    color: #444;
    background: #fff;
    white-space: nowrap;
}

.residents-table-scope .ov-legend-dot {
    width: 9px;
    height: 9px;
    border-radius: 50%;
    flex-shrink: 0;
}

/* ── Pagination ───────────────────────────────────────────────────────────── */

/* Scroll container for the table body */
.residents-table-scope .common-table-scroll {
    width: 100%;
}

/* State rows: empty / loading / error */
.residents-table-scope .ov-state-row {
    text-align: center;
    padding: 32px 16px;
    font-size: 13px;
    color: #555;
}

/* Loading row — height matches 10 data rows (~44px each) so the card never resizes */
.residents-table-scope .ov-loading-row {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 440px;
}

/* Spinner shown inside the loading row */
.residents-table-scope .ov-loading-spinner {
    width: 32px;
    height: 32px;
    border: 3px solid #f0e0cc;
    border-top-color: #f28c18;
    border-radius: 50%;
    animation: ehrSpin 0.75s linear infinite;
    display: inline-block;
    flex-shrink: 0;
}

/* Retry button inside the error state row */
.residents-table-scope .ov-retry-btn {
    background: transparent;
    border: none;
    cursor: pointer;
    color: #555;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.residents-table-scope .ov-retry-btn:hover { color: #f5a623; }

/* Search clear (×) button */
.residents-table-scope .search-clear-btn {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    background: transparent;
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: initial;
    cursor: pointer;
    font-size: 25px;
    line-height: 1;
    color: rgb(96, 96, 96);
    padding: 0px;
}

/* Search lens icon */
.residents-table-scope .search-lens-icon {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    pointer-events: none;
    width: 14px;
    height: 14px;
}

.common-table-pagination {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    flex-wrap: wrap;
    gap: 8px;
    position: sticky;
    left: 0;
    width: 100%;
}

.common-table-pagination .ctp-info {
    font-size: 13px;
    color: #555;
    white-space: nowrap;
}

.common-table-pagination .ctp-right {
    display: flex;
    align-items: center;
    gap: 12px;
}

.common-table-pagination .ctp-page-label {
    font-size: 13px;
    color: #555;
    white-space: nowrap;
}

.common-table-pagination .ctp-controls {
    display: flex;
    align-items: center;
    gap: 4px;
}

.common-table-pagination .ctp-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 10px !important;
    border: 1px solid #e0e0e0;
    background: #fff;
    border-radius: 4px;
    font-size: 14px;
    line-height: 1;
    cursor: pointer;
    color: #333;
    transition: background-color 0.15s, color 0.15s, border-color 0.15s;
}

/* Prev/Next arrow buttons — the font glyph is not vertically centered inside its em-box,
   so hide it (font-size: 0) and draw a perfectly centered chevron with a rotated border.
   Targeted positionally (prev = first button, next = last button) rather than by aria-label
   so the styling survives translation of the aria-label text. */
.common-table-pagination .ctp-controls .ctp-btn:first-of-type,
.common-table-pagination .ctp-controls .ctp-btn:last-of-type {
    font-size: 0;
}

.common-table-pagination .ctp-controls .ctp-btn:first-of-type::before,
.common-table-pagination .ctp-controls .ctp-btn:last-of-type::before {
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border-top: 1.5px solid currentColor;
    border-right: 1.5px solid currentColor;
}

/* Rotate toward the left; nudge right to offset the diagonal so it reads centered */
.common-table-pagination .ctp-controls .ctp-btn:first-of-type::before {
    transform: translateX(2px) rotate(-135deg);
}

/* Rotate toward the right; nudge left to offset the diagonal so it reads centered */
.common-table-pagination .ctp-controls .ctp-btn:last-of-type::before {
    transform: translateX(-2px) rotate(45deg);
}

.common-table-pagination .ctp-btn:hover:not(:disabled):not(.ctp-btn--active) {
    background: #f5f5f5;
    border-color: #bbb;
}

.common-table-pagination .ctp-btn:disabled:not(.ctp-btn--active) { cursor: not-allowed; opacity: 0.5; }
.common-table-pagination .ctp-btn--active { cursor: default; }

.common-table-pagination .ctp-btn--active {
    background: #F59325;
    color: #fff;
    border-color: #F59325;
    font-weight: 600;
}

.common-table-pagination .ctp-ellipsis {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    font-size: 14px;
    color: #888;
    user-select: none;
}

/* ── Responsive ───────────────────────────────────────────────────────────── */
@media (max-width: 1599px) {
    .residents-table-scope .cell        { font-size: 13px; padding: 12px; }
    .residents-table-scope .row.header  { font-size: 12px; }
    .residents-table-scope .badge       { font-size: 11px; }
}

@media (max-width: 1279px) {
    .residents-table-scope .row {
        grid-template-columns:
            minmax(140px, 1fr) minmax(60px, 0.7fr) minmax(100px, 2fr)
            minmax(120px, 1.5fr) minmax(120px, 1.5fr) minmax(120px, 1.5fr);
    }
    .residents-table-scope .cell                        { font-size: 12px; padding: 10px 8px; }
    .residents-table-scope .row.header                  { font-size: 11px; }
    .residents-table-scope .width-large                 { min-width: 140px !important; }
    .residents-table-scope .cell.bar-header,
    .residents-table-scope .cell.bars-cell              { min-width: 100px; }
}

/* Tablet — hide bars column; explicit grid-column keeps split cells in correct tracks */
@media (max-width: 1023px) {
    .residents-table-scope .row {
        grid-template-columns:
            minmax(130px, 1.5fr) minmax(60px, 0.7fr) 0px
            minmax(110px, 1.5fr) minmax(110px, 1.5fr) minmax(110px, 1.5fr);
    }
    .residents-table-scope .cell.bar-header,
    .residents-table-scope .cell.bars-cell { display: none; }
    .residents-table-scope .cell           { font-size: 12px; padding: 10px 8px; }
    .residents-table-scope .table-header   { flex-wrap: wrap; gap: 8px; }
    .residents-table-scope .table-header .search { min-width: 160px; }
}

@media (max-width: 767px) {
    .residents-table-scope .row {
        grid-template-columns:
            minmax(110px, 1.5fr) minmax(50px, 0.6fr) 0px
            minmax(90px, 1fr) minmax(90px, 1fr) minmax(90px, 1fr);
    }
    .residents-table-scope .cell.bar-header,
    .residents-table-scope .cell.bars-cell  { display: none; }
    .residents-table-scope .cell            { font-size: 11px; padding: 8px 6px; }
    .residents-table-scope .cell.split > div { font-size: 11px; }
    .residents-table-scope .table-header    { flex-direction: column; align-items: flex-start; gap: 8px; }
    .residents-table-scope .table-header .search { min-width: 100%; }
    .residents-table-scope .badge           { font-size: 10px; min-width: 26px; }
}

@media (max-width: 480px) {
    .residents-table-scope .row {
        grid-template-columns:
            minmax(90px, 1.5fr) minmax(44px, 0.6fr) 0px
            minmax(80px, 1fr) minmax(80px, 1fr) 0px;
    }
    .residents-table-scope .cell.bar-header,
    .residents-table-scope .cell.bars-cell,
    .residents-table-scope .cell.split:last-child { display: none; }
    .residents-table-scope .cell { padding: 6px 4px; font-size: 11px; }
}

/* ── OnDemandTables layout ────────────────────────────────────────────────────
   Scoped under .od-table-scope to avoid collisions with other tables.
   Class names follow the od- prefix for all on-demand table elements.
────────────────────────────────────────────────────────────────────────────── */

@keyframes odSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.od-table-scope {
  font-size: 12px;
}

.od-table-wrapper {
  padding: 20px;
  background-color: #fff;
  border-radius: 14px;
  margin: 8px 0;
}

.od-table {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}

/* ── Table header bar ─────────────────────────────────────────────────────── */
.od-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.od-header-bar-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.od-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #fff8f0 0%, #fff 100%);
  border: 1px solid #f5e4cc;
  border-radius: 10px;
  padding: 6px 14px;
  font-weight: 600;
  font-size: 14px;
  color: #333;
  letter-spacing: 0.2px;
  white-space: nowrap;
}

/* ── Search input ─────────────────────────────────────────────────────────── */
.od-search-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.od-search {
  min-width: 220px;
  padding: 7px 36px 7px 12px;
  border: 1px solid #e5e5e5;
  border-radius: 20px;
  font-size: 13px;
  color: #333;
  background: #fafafa;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: border-color 0.15s, box-shadow 0.15s;
  outline: none;
}

.od-search:focus {
  border-color: #f5a623;
  box-shadow: 0 0 0 3px rgba(245, 166, 35, 0.12);
  background: #fff;
}

.od-search::placeholder {
  font-size: 13px;
  color: #aaa;
}

.od-search-icon {
  position: absolute;
  right: 10px;
  width: 16px;
  height: 16px;
  opacity: 0.5;
  pointer-events: none;
}

.od-search-clear {
    position: absolute;
    top: 50%;
    right: 12px;
    transform: translateY(-50%);
    background: transparent;
    border-width: medium;
    border-style: none;
    border-color: currentcolor;
    border-image: initial;
    cursor: pointer;
    font-size: 25px;
    line-height: 1;
    color: rgb(96, 96, 96);
    padding: 0px;
}

.od-search-clear:hover {
  color: #333;
}

/* ── Row grid — Assistance table ──────────────────────────────────────────── */
.od-table-scope--assistance .od-row {
  display: grid;
  grid-template-columns:
    minmax(200px, 2fr)
    minmax(90px,  1fr)
    minmax(160px, 2fr)
    minmax(180px, 3fr)
    minmax(160px, 2fr);
  align-items: stretch;
  border-bottom: 1px solid #e6e6e6;
}

/* ── Row grid — Person table (Residents / Staff) ──────────────────────────── */
.od-table-scope--person .od-row {
  display: grid;
  grid-template-columns:
    minmax(180px, 1fr)
    minmax(90px,  1fr)
    minmax(150px, 2fr)
    minmax(200px, 4fr)
    minmax(240px, 3fr);
  align-items: stretch;
  border-bottom: 1px solid #e6e6e6;
}

.od-row--header {
  background: #fff;
  font-weight: 700;
  font-size: 14px;
  color: #555;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  border-bottom: 2px solid #ececec;
}

.od-row--header .od-cell {
  word-break: normal;
  overflow-wrap: normal;
  white-space: normal;
  font-size: 14px;
  flex-wrap: nowrap;
  overflow: hidden;
}

/* Name column header — override column direction so sort icons stay inline with text */
.od-row--header .od-cell--name {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
}

/* Split column header child divs — enforce header font size */
.od-row--header .od-cell--split > div {
  font-size: 14px;
}

.od-row--header .od-cell--split > div > .od-cell {
  width: 100%;
  padding: 0;
  justify-content: flex-start;
  text-align: left;
}

.od-row:not(.od-row--header):nth-child(even) { background: #fafbfc; }
.od-row:not(.od-row--header):nth-child(odd)  { background: #ffffff; }
.od-row:not(.od-row--header):hover           { background: #fff8f0; }

/* ── Generic cell ─────────────────────────────────────────────────────────── */
.od-cell {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  font-size: 12px;
  color: #3a3a3a;
  height: 100%;
  box-sizing: border-box;
  min-width: 0;
  background: inherit;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

/* ── Name cell ────────────────────────────────────────────────────────────── */
.od-cell--name {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.od-name {
  font-weight: 500;
  color: #2d2d2d;
  font-size: 13px;
  width: 100%;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.od-sub {
  font-size: 11px;
  color: #999;
  margin-top: 2px;
  width: 100%;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.od-inactive-label {
  font-size: 11px;
  color: rgb(153, 153, 153);
  font-weight: 400;
}

/* ── Events cell ──────────────────────────────────────────────────────────── */
.od-cell--events {
  justify-content: flex-start;
}

.od-cell--avg,
.od-cell--total {
  justify-content: flex-start;
  text-align: left;
}

/* ── Sort icons ───────────────────────────────────────────────────────────── */
.od-sort-icons {
  display: inline-flex;
  flex-direction: row;
  line-height: 0;
  vertical-align: middle;
  margin-left: 6px;
  flex-shrink: 0;
}

.od-sort-icons img {
  width: 12px;
  height: 12px;
}

/* ── Badge ────────────────────────────────────────────────────────────────── */
.od-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff3e0;
  color: #e65100;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 10px;
  min-width: 32px;
}

/* ── Bar cells ────────────────────────────────────────────────────────────── */
.od-cell--bar-header {
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  min-width: 160px;
  padding-bottom: 10px;
}

.od-cell--bars {
  justify-content: flex-start;
  align-items: center;
  min-width: 160px;
}

.od-bars {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

.od-bar {
  height: 8px;
  border-radius: 4px;
  transition: width 0.3s ease;
  min-width: 4px;
}

.od-bar--on-demand {
  background: #f28c18;
}

/* ── Split cell ───────────────────────────────────────────────────────────── */
.od-cell--split {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  text-align: left;
}

.od-cell--split > div {
  flex: 1 1 0;
  min-width: 0;
  color: #3a3a3a;
  font-weight: 500;
  font-size: 13px;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
}

.od-row--header .od-cell--split {
  position: relative;
  padding-bottom: 12px;
}

.od-row--header .od-cell--split::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: 0;
  border-bottom: 2px solid #f28c18;
}

/* ── Loading and state rows ───────────────────────────────────────────────── */
.od-loading-row {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 440px;
  width: 100%;
}

.od-loading-spinner {
  display: inline-block;
  width: 32px;
  height: 32px;
  border: 3px solid #f0e0cc;
  border-top-color: #f28c18;
  border-radius: 50%;
  animation: odSpin 0.75s linear infinite;
}

.od-state-row {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 120px;
  font-size: 14px;
  color: #888;
  width: 100%;
}

.od-retry-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 1px solid #f28c18;
  color: #f28c18;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 13px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.od-retry-btn:hover {
  background: #f28c18;
  color: #fff;
}

/* ── Table scroll container ───────────────────────────────────────────────── */
.od-table-scroll {
  overflow-x: auto;
}

.od-rows {
  min-width: 600px;
}

.od-sort-cell {
  cursor: default;
  pointer-events: none;
}

.od-sort-trigger {
  display: inline-flex;
  pointer-events: auto;
  align-items: center;
  cursor: pointer;
}

.od-sort-trigger:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* ── IncidentalCareTables layout ──────────────────────────────────────────────
   Scoped under .ict-table-scope to avoid collisions with other tables.
   Class names follow the ict- prefix for all incidental-care table elements.
────────────────────────────────────────────────────────────────────────────── */

@keyframes ictSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.ict-table-scope {
  font-size: 12px;
}

.ict-table-wrapper {
  padding: 20px;
  background-color: #fff;
  border-radius: 14px;
  margin: 8px 0;
}

.ict-table {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}

/* ── Table header bar ─────────────────────────────────────────────────────── */
.ict-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.ict-header-bar-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.ict-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #fff8f0 0%, #fff 100%);
  border: 1px solid #f5e4cc;
  border-radius: 10px;
  padding: 6px 14px;
  font-weight: 600;
  font-size: 14px;
  color: #333;
  letter-spacing: 0.2px;
  white-space: nowrap;
}

/* ── Search input ─────────────────────────────────────────────────────────── */
.ict-search-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.ict-search {
  min-width: 220px;
  padding: 7px 36px 7px 12px;
  border: 1px solid #e5e5e5;
  border-radius: 20px;
  font-size: 13px;
  color: #333;
  background: #fafafa;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: border-color 0.15s, box-shadow 0.15s;
  outline: none;
}

.ict-search:focus {
  border-color: #9b9b9b;
  box-shadow: 0 0 0 3px rgba(155, 155, 155, 0.15);
  background: #fff;
}

.ict-search::placeholder {
  font-size: 13px;
  color: #aaa;
}

.ict-search-icon {
  position: absolute;
  right: 10px;
  width: 16px;
  height: 16px;
  opacity: 0.5;
  pointer-events: none;
}

.ict-search-clear {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 25px;
  line-height: 1;
  color: #606060;
  padding: 0;
}

.ict-search-clear:hover {
  color: #333;
}

/* ── Row grid — 4 columns (all three IC tables share the same layout) ─────── */
.ict-table-scope .ict-row {
  display: grid;
  grid-template-columns:
    minmax(220px, 2fr)
    minmax(100px, 1fr)
    minmax(180px, 2fr)
    minmax(360px, 3fr);
  align-items: stretch;
  border-bottom: 1px solid #e6e6e6;
}

.ict-row--header {
  background: #fff;
  font-weight: 700;
  font-size: 13px;
  color: #555;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  border-bottom: 2px solid #ececec;
}

.ict-row--header .ict-cell {
  word-break: normal;
  overflow-wrap: normal;
  white-space: normal;
  font-size: 13px;
  flex-wrap: nowrap;
}

/* Name column header — override column direction so sort icons stay inline */
.ict-row--header .ict-cell--name {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
}

/* Split column header child divs — enforce header font size */
.ict-row--header .ict-cell--split > div {
  font-size: 13px;
}

.ict-row--header .ict-cell--split > div > .ict-cell {
  width: 100%;
  padding: 0;
  justify-content: center;
  text-align: center;
}

.ict-row:not(.ict-row--header):nth-child(even) { background: #fafbfc; }
.ict-row:not(.ict-row--header):nth-child(odd)  { background: #ffffff; }
.ict-row:not(.ict-row--header):hover           { background: #fff8f0; }
.ict-row--clickable                            { cursor: pointer; }

/* ── Generic cell ─────────────────────────────────────────────────────────── */
.ict-cell {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  font-size: 12px;
  color: #3a3a3a;
  height: 100%;
  box-sizing: border-box;
  min-width: 0;
  background: inherit;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

/* ── Name cell ────────────────────────────────────────────────────────────── */
.ict-cell--name {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.ict-name {
  font-weight: 500;
  color: #2d2d2d;
  font-size: 13px;
  width: 100%;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.ict-sub {
  font-size: 11px;
  color: #999;
  margin-top: 2px;
  width: 100%;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.ict-inactive-label {
  font-size: 11px;
  color: #b00;
  font-weight: 400;
}

/* ── Events cell ──────────────────────────────────────────────────────────── */
.ict-cell--events {
  justify-content: flex-start;
}

/* ── Sort icons ───────────────────────────────────────────────────────────── */
.ict-sort-icons {
  display: inline-flex;
  flex-direction: row;
  line-height: 0;
  vertical-align: middle;
  margin-left: 6px;
  flex-shrink: 0;
}

.ict-sort-icons img {
  width: 12px;
  height: 12px;
}

/* ── Badge — gray theme matching incidental care ──────────────────────────── */
.ict-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff3e0;
  color: #e65100;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 10px;
  min-width: 32px;
}

/* ── Bar cells ────────────────────────────────────────────────────────────── */
.ict-cell--bar-header {
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  min-width: 160px;
  padding-bottom: 10px;
}

.ict-cell--bars {
  justify-content: flex-start;
  align-items: center;
  min-width: 160px;
}

.ict-bars {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

.ict-bar {
  height: 8px;
  border-radius: 4px;
  background: #9b9b9b;
  transition: width 0.3s ease;
  min-width: 4px;
}

/* ── Split cell ───────────────────────────────────────────────────────────── */
.ict-cell--split {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  text-align: left;
}

.ict-cell--split > div {
  flex: 1 1 0;
  min-width: 0;
  color: #3a3a3a;
  font-weight: 500;
  font-size: 13px;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  display: flex;
  align-items: center;
  /* Center the Total / Avg time values (and their headers) within each half */
  justify-content: center;
  text-align: center;
}

.ict-row--header .ict-cell--split {
  position: relative;
  padding-bottom: 12px;
}

.ict-row--header .ict-cell--split::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: 0;
  border-bottom: 2px solid #9b9b9b;
}

/* ── Loading and state rows ───────────────────────────────────────────────── */
.ict-loading-row {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 440px;
  width: 100%;
}

.ict-loading-spinner {
  display: inline-block;
  width: 32px;
  height: 32px;
  border: 3px solid #f0e0cc;
  border-top-color: #f28c18;
  border-radius: 50%;
  animation: ictSpin 0.75s linear infinite;
}

.ict-state-row {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 120px;
  font-size: 14px;
  color: #888;
  width: 100%;
}

.ict-retry-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 1px solid #9b9b9b;
  color: #9b9b9b;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 13px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.ict-retry-btn:hover {
  background: #9b9b9b;
  color: #fff;
}

/* ── Table scroll container ───────────────────────────────────────────────── */
.ict-table-scroll {
  overflow-x: auto;
}

.ict-rows {
  min-width: 600px;
}

.ict-sort-cell {
  cursor: default;
  pointer-events: none;
}

.ict-sort-trigger {
  display: inline-flex;
  pointer-events: auto;
  align-items: center;
  cursor: pointer;
}

.ict-sort-trigger:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* == AllAlertsTables layout ================================================
   Scoped under .aat-table-scope to avoid collisions with other tables.
   Visual pattern mirrors OnDemandTables (od-) with green accent (#8dc76c).
=========================================================================== */

@keyframes aatSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.aat-table-scope { font-size: 12px; }

.aat-table-wrapper {
  padding: 20px;
  background-color: #fff;
  border-radius: 14px;
  margin: 8px 0;
}

.aat-table {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}

/* -- Header bar ------------------------------------------------------------ */
.aat-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.aat-header-bar-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.aat-title {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #fff8f0 0%, #fff 100%);
  border: 1px solid #f5e4cc;
  border-radius: 10px;
  padding: 6px 14px;
  font-weight: 600;
  font-size: 14px;
  color: #333;
  letter-spacing: 0.2px;
  white-space: nowrap;
}

.aat-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: #fff3e0;
  color: #e65100;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 10px;
  min-width: 32px;
}

/* -- Search ---------------------------------------------------------------- */
.aat-search-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.aat-search {
  min-width: 220px;
  padding: 7px 36px 7px 12px;
  border: 1px solid #e5e5e5;
  border-radius: 20px;
  font-size: 13px;
  color: #333;
  background: #fafafa;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05);
  transition: border-color 0.15s, box-shadow 0.15s;
  outline: none;
}

.aat-search:focus {
  border-color: #8dc76c;
  box-shadow: 0 0 0 3px rgba(141,199,108,0.15);
  background: #fff;
}

.aat-search::placeholder { font-size: 13px; color: #aaa; }

.aat-search-icon {
  position: absolute;
  right: 10px;
  width: 16px;
  height: 16px;
  opacity: 0.5;
  pointer-events: none;
}

.aat-search-clear {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 25px;
  line-height: 1;
  color: rgb(96,96,96);
  padding: 0;
}

.aat-search-clear:hover { color: #333; }

/* -- Row grids ------------------------------------------------------------- */
.aat-table-scope--assistance .aat-row {
  display: grid;
  grid-template-columns:
    minmax(220px,2fr) minmax(100px,1fr) minmax(180px,3fr)
    minmax(160px,1.5fr) minmax(160px,1.5fr);
  align-items: stretch;
  border-bottom: 1px solid #e6e6e6;
}

.aat-table-scope--person .aat-row {
  display: grid;
  grid-template-columns:
    minmax(200px,2.5fr) minmax(90px,1fr) minmax(160px,2fr)
    minmax(140px,1.5fr) minmax(130px,1.5fr) minmax(120px,1.5fr) minmax(140px,1.5fr);
  align-items: stretch;
  border-bottom: 1px solid #e6e6e6;
}

/* -- Header row ------------------------------------------------------------ */
.aat-row--header {
  background: #fff;
  font-weight: 700;
  font-size: 13px;
  color: #555;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  border-bottom: 2px solid #ececec;
}

.aat-row--header .aat-cell {
  word-break: normal;
  overflow-wrap: normal;
  white-space: normal;
  font-size: 13px;
  flex-wrap: nowrap;
}

.aat-row--header .aat-cell--name {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
}

/* Metric header cells share the same column width as their values.
   The green underline is a full-cell border-bottom, and both header text +
   values are centered so they line up under the underline. */
.aat-row--header .aat-cell--metric {
  justify-content: center;
  border-bottom: 2px solid #8dc76c;
  position: relative;
  text-align: center;
}

.aat-row--header .aat-cell--metric .aat-sort-icons {
  position: absolute;
  right: 4px;
  margin-left: 0;
}

/* Center the time values (Total / Avg) under their centered headers. */
.aat-cell--metric {
  justify-content: center;
  text-align: center;
}

/* -- Data row states ------------------------------------------------------- */
.aat-row:not(.aat-row--header):nth-child(even) { background: #fafbfc; }
.aat-row:not(.aat-row--header):nth-child(odd)  { background: #ffffff; }
.aat-row:not(.aat-row--header):hover           { background: #fff8f0; }
.aat-row--clickable                            { cursor: pointer; }
.aat-row--clickable:focus-visible              { outline: 2px solid #f28c18; outline-offset: -2px; }

/* -- Generic cell ---------------------------------------------------------- */
.aat-cell {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  font-size: 12px;
  color: #3a3a3a;
  height: 100%;
  box-sizing: border-box;
  min-width: 0;
  background: inherit;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

/* -- Name cell ------------------------------------------------------------- */
.aat-cell--name {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.aat-name-text {
  font-weight: 500;
  color: #2d2d2d;
  font-size: 13px;
  width: 100%;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.aat-name-sub {
  font-size: 11px;
  color: #999;
  margin-top: 2px;
  width: 100%;
  min-width: 0;
}

.aat-inactive-label {
  font-size: 11px;
  color: #b00;
  font-weight: 400;
}

/* -- Sort icons (two images side-by-side, mirrors od-sort-icons) ----------- */
.aat-sort-icons {
  display: inline-flex;
  flex-direction: row;
  line-height: 0;
  vertical-align: middle;
  margin-left: 6px;
  flex-shrink: 0;
}

.aat-sort-icons img { width: 12px; height: 12px; }

/* -- Bar cells ------------------------------------------------------------- */
.aat-cell--bar-header {
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  min-width: 160px;
  padding-bottom: 10px;
}

.aat-cell--bars {
  justify-content: flex-start;
  align-items: center;
  min-width: 160px;
}

.aat-bars { display: flex; flex-direction: column; gap: 4px; width: 100%; }

.aat-bar {
  height: 8px;
  border-radius: 4px;
  transition: width 0.3s ease;
  min-width: 4px;
  background: #8dc76c;
}

/* -- State rows ------------------------------------------------------------ */
.aat-loading-row {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 440px;
  width: 100%;
}

.aat-loading-spinner {
  display: inline-block;
  width: 32px;
  height: 32px;
  border: 3px solid #f0e0cc;
  border-top-color: #f28c18;
  border-radius: 50%;
  animation: aatSpin 0.75s linear infinite;
}

.aat-state-row {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 120px;
  font-size: 14px;
  color: #888;
  width: 100%;
}

.aat-retry-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: 1px solid #f28c18;
  color: #f28c18;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 13px;
  cursor: pointer;
  transition: background 0.15s, color 0.15s;
}

.aat-retry-btn:hover { background: #f28c18; color: #fff; }

/* -- Scroll container ------------------------------------------------------ */
.aat-table-scroll { overflow-x: auto; }
.aat-rows { min-width: 600px; }

.aat-sort-cell {
  cursor: default;
  pointer-events: none;
}

.aat-sort-trigger {
  display: inline-flex;
  pointer-events: auto;
  align-items: center;
  cursor: pointer;
}

.aat-sort-trigger:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* ── Overlay & Backdrop ─────────────────────────────────────────────────────── */

.aap-overlay {
  position: fixed;
  inset: 0;
  z-index: 1050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 24px 16px;
  overflow-y: auto;
}

.aap-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
}

/* ── Dialog Box ─────────────────────────────────────────────────────────────── */

.aap-dialog {
  position: relative;
  z-index: 1;
  background: #fff;
  border-radius: 14px;
  width: 96%;
  max-width: 1600px;
  max-height: 80vh;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
  display: flex;
  flex-direction: column;
  min-height: 300px;
  overflow: hidden;
}

/* ── Dialog Header ──────────────────────────────────────────────────────────── */

.aap-dialog-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 16px 24px;
  border-bottom: 1px solid #ececec;
  border-radius: 14px 14px 0 0;
  background: linear-gradient(135deg, #fff8f0, #fff);
  flex-shrink: 0;
}

.aap-dialog-title {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.aap-type-badge {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color: #e65100;
  background: #fff3e0;
  border: 1px solid #f5e4cc;
  border-radius: 8px;
  padding: 3px 10px;
}

.aap-dialog-name {
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

.aap-close-btn {
  background: none;
  border: none;
  font-size: 24px;
  line-height: 1;
  color: #888;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 4px;
  transition: color 0.15s, background 0.15s;
}

.aap-close-btn:hover {
  color: #333;
  background: #f0f0f0;
}

/* ── Dialog Body ────────────────────────────────────────────────────────────── */

.aap-dialog-body {
  padding: 20px 24px 28px;
  display: flex;
  flex-direction: column;
  gap: 24px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

.aap-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-shrink: 0;
}

.aap-section-title {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  align-self: flex-start;
  background: linear-gradient(135deg, #fff8f0, #fff);
  border: 1px solid #f5e4cc;
  border-radius: 10px;
  padding: 6px 14px;
}

/* ── Summary Tiles ──────────────────────────────────────────────────────────── */

.aap-tiles-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
}

.aap-tile {
  background: #fff;
  border: 1px solid #ececec;
  border-radius: 10px;
  padding: 14px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  text-align: center;
  transition: box-shadow 0.15s;
  position: relative;
}

.aap-tile:hover {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}

.aap-tile-info-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  opacity: 0.6;
  cursor: default;
  position: absolute;
  top: 8px;
  right: 10px;
}

.aap-tile-value {
  font-size: 18px;
  font-weight: 700;
  color: #333;
  line-height: 1;
}

.aap-tile-label {
  font-size: 11px;
  color: #888;
  line-height: 1.3;
}

/* ── Tiles Loading State ────────────────────────────────────────────────────── */

.aap-tiles-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
}

.aap-tiles-spinner {
  display: inline-block;
  width: 28px;
  height: 28px;
  border: 3px solid #ececec;
  border-top-color: #f28c18;
  border-radius: 50%;
  animation: aap-spin 0.75s linear infinite;
}

@keyframes aap-spin {
  to {
    transform: rotate(360deg);
  }
}

/* ── Events Table ───────────────────────────────────────────────────────────── */

.aap-events-table-wrap {
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: hidden;
  border: 1px solid #ececec;
  border-radius: 8px;
}

.aap-events-table-scroll {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.aap-events-table {
  display: grid;
  width: 100%;
  min-width: 1900px;
}

/* 12-column variant used when the Assistance Provided column is hidden */
.aap-events-table--no-assistance .aap-events-row {
  grid-template-columns: minmax(120px, 1.5fr) minmax(100px, 1.1fr) minmax(175px, 1.3fr) minmax(115px, 1.2fr) minmax(165px, 1.3fr) minmax(155px, 1.3fr) minmax(135px, 1.2fr) minmax(145px, 1.2fr) minmax(135px, 1.2fr) minmax(140px, 1.3fr) minmax(120px, 1.3fr) minmax(90px, 1fr);
}

.aap-events-row {
  display: grid;
  grid-template-columns: minmax(120px, 1.5fr) minmax(100px, 1.1fr) minmax(175px, 1.3fr) minmax(115px, 1.2fr) minmax(165px, 1.3fr) minmax(155px, 1.3fr) minmax(135px, 1.2fr) minmax(145px, 1.2fr) minmax(135px, 1.2fr) minmax(140px, 1.3fr) minmax(120px, 1.3fr) minmax(90px, 1fr) minmax(175px, 1.4fr);
  border-bottom: 1px solid #f0f0f0;
}

.aap-events-row--header {
  background: #fff;
  border-bottom: 2px solid #ececec;
  position: sticky;
  top: 0;
  z-index: 1;
}

.aap-events-row:not(.aap-events-row--header):hover {
  background: #fff8f0;
}

.aap-events-cell {
  padding: 10px 12px;
  font-size: 13px;
  color: #444;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.aap-events-row--header .aap-events-cell {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.4px;
  color: #555;
  flex-wrap: wrap;
  align-items: flex-start;
}

/* English: single line — center icons vertically, clip overflow */
.aap-events-row--header-en .aap-events-cell {
  flex-wrap: nowrap;
  white-space: nowrap;
  overflow: hidden;
  align-items: center;
}

.aap-events-row--header-en .aap-events-cell .aap-sort-icons {
  align-self: center;
  margin-top: 0;
}

/* ── Events Sort Icons ──────────────────────────────────────────────────────── */

.aap-sort-icons {
  display: inline-flex;
  flex-direction: row;
  gap: 2px;
  align-items: center;
  flex-shrink: 0;
  align-self: flex-start;
  margin-top: 1px;
}

.aap-sort-icons img {
  width: 12px;
  height: 12px;
  display: block;
}

.aap-sort-trigger {
  align-items: center;
  background: none;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  margin: 0;
  padding: 2px;
}

.aap-sort-trigger:focus-visible {
  border-radius: 2px;
  outline: 2px solid #f39f09;
  outline-offset: 1px;
}

/* ── Events Loading & Empty States ─────────────────────────────────────────── */

.aap-events-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
}

.aap-events-spinner {
  display: inline-block;
  width: 28px;
  height: 28px;
  border: 3px solid #ececec;
  border-top-color: #f28c18;
  border-radius: 50%;
  animation: aap-spin 0.75s linear infinite;
}

.aap-events-empty {
  text-align: center;
  padding: 32px;
  font-size: 14px;
  color: #aaa;
}

/* ── Assistance Provided cell — flex layout for name + icon/button ──────────── */

.aap-events-cell--assistance {
  display: flex;
  align-items: center;
  gap: 4px;
}

/* ── Assistance Provided — Expand Button ────────────────────────────────────── */

.aap-expand-btn {
  background: none;
  border: none;
  padding: 0 2px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
  margin-left: 4px;
}

.aap-expand-btn img {
  width: 12px;
  height: 12px;
  display: block;
}

/* ── Assistance Detail Sub-rows ─────────────────────────────────────────────── */

.aap-events-row--detail {
  background: #f9f9f9;
  border-left: 3px solid #f69d3a;
}

.aap-events-cell--detail-name {
  font-style: italic;
  color: #555;
  display: flex;
  align-items: center;
  gap: 4px;
}

/* ── Detail Row Notes Button ────────────────────────────────────────────────── */

.aap-notes-btn {
  background: none;
  border: none;
  padding: 0 2px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.aap-notes-icon {
  width: 18px;
  height: 18px;
  display: block;
  filter: invert(62%) sepia(90%) saturate(600%) hue-rotate(1deg) brightness(98%) contrast(97%);
}

/* ── Alert Name cell — flex layout for name + tempo-call icon ────────────────── */

.aap-events-cell--alert {
  display: flex;
  align-items: center;
  gap: 4px;
  min-width: 0;
}

.aap-events-cell--alert > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

/* ── Tempo (Two-Way Audio) Call Icon Button ─────────────────────────────────── */

.aap-tempo-btn {
  background: #76787a;
  border: none;
  border-radius: 5px;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  min-width: 28px;
  flex-shrink: 0;
}

.aap-tempo-icon {
  width: 12px;
  height: 21px;
  display: block;
  padding: 0;
  opacity: 1;
  visibility: visible;
}

/* ── Tempo Call Tooltip ─────────────────────────────────────────────────────── */

.custom-tempo-tooltip-allalerts {
  background-color: #fff !important;
  border-radius: 8px !important;
  border-top: 6px solid #8dc76c !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, .5) !important;
  color: #393a3b !important;
  font-size: 14px !important;
  opacity: 1 !important;
  padding: 12px 20px !important;
  z-index: 9999 !important;
  --rt-opacity: 1;
  max-height: 300px !important;
  overflow: hidden !important;
}

.aap-tempo-tt {
  display: flex;
  flex-direction: column;
  gap: 8px;
  max-height: 260px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  padding-right: 4px;
}

.aap-tempo-tt::-webkit-scrollbar {
  width: 4px;
}

.aap-tempo-tt::-webkit-scrollbar-track {
  background: transparent;
}

.aap-tempo-tt::-webkit-scrollbar-thumb {
  background: #d0d0d0;
  border-radius: 4px;
}

.aap-tempo-tt::-webkit-scrollbar-thumb:hover {
  background: #aaa;
}

.aap-tempo-tile {
  border: 1px solid #ebebeb;
  border-radius: 8px;
  padding: 10px 12px;
  background-color: #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
}

.aap-tempo-row {
  display: grid;
  grid-template-columns: 72px 1fr;
  align-items: center;
  gap: 6px;
  margin: 0;
  padding: 3px 0;
}

.aap-tempo-label {
  color: #9a9a9a;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  white-space: nowrap;
}

.aap-tempo-value {
  color: #2d2d2d;
  font-size: 13px;
  font-weight: 500;
}

.aap-tempo-empty {
  color: #e53935;
  font-size: 13px;
  font-weight: 500;
}
.aap-events-row--expandable {
  cursor: pointer;
}

.aap-events-row--expandable:focus-visible {
  outline: 2px solid #f39f09;
  outline-offset: -2px;
}

.custom-tempo-tooltip-allalerts {
  max-width: 420px !important;
  overflow-wrap: anywhere;
  white-space: normal !important;
}

/* ── Sub-Assistance Table Rows ──────────────────────────────────────────────── */

.aarp-sub-row {
  display: grid;
  grid-template-columns: minmax(160px, 2fr) minmax(80px, 1fr) minmax(150px, 1.5fr) minmax(150px, 1.5fr) minmax(120px, 1.2fr);
  border-bottom: 1px solid #f0f0f0;
}

.aarp-sub-row--header {
  background: #fff;
  border-bottom: 2px solid #ececec;
  position: sticky;
  top: 0;
  z-index: 1;
}

.aarp-sub-row--header .aap-events-cell {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  color: #555;
}

.aarp-sort-trigger {
  align-items: center;
  background: none;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  margin: 0;
  padding: 2px;
}

.aarp-sort-trigger:focus-visible {
  border-radius: 2px;
  outline: 2px solid #f39f09;
  outline-offset: 1px;
}

.aarp-sub-row--clickable {
  cursor: pointer;
}

.aarp-sub-row--clickable:hover {
  background: #f5fdf7;
}

.aarp-sub-row--clickable:focus-visible {
  outline: 2px solid #27ae60;
  outline-offset: -2px;
}

/* ── Bar Cell ───────────────────────────────────────────────────────────────── */

.aarp-bar-cell {
  align-items: center;
  padding-right: 16px;
}

.aarp-bar {
  height: 10px;
  border-radius: 5px;
  min-width: 4px;
  transition: width 0.2s ease;
}

/* ── Breadcrumb ─────────────────────────────────────────────────────────────── */

.aarp-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.aarp-breadcrumb-back {
  background: none;
  border: none;
  padding: 0;
  font-size: 16px;
  font-weight: 600;
  color: #f28c18;
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.aarp-breadcrumb-back:hover {
  color: #e07a0a;
}

.aarp-breadcrumb-sep {
  font-size: 16px;
  color: #bbb;
}

.aarp-breadcrumb-current {
  font-size: 16px;
  font-weight: 600;
  color: #333;
}

/* ── Overlay ─────────────────────────────────────────────────────────────────── */

.icp-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 24px 16px;
  overflow-y: auto;
}

/* ── Panel ───────────────────────────────────────────────────────────────────── */

.icp-panel {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
  width: 96%;
  max-width: 1600px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ── Header ──────────────────────────────────────────────────────────────────── */

.icp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid #e5e5e5;
  background: #fafafa;
  flex-shrink: 0;
}

.icp-header-left {
  display: flex;
  align-items: center;
  min-width: 0;
}

.icp-title {
  font-size: 15px;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.icp-close {
  background: none;
  border: none;
  font-size: 22px;
  line-height: 1;
  color: #888;
  cursor: pointer;
  padding: 0 4px;
  flex-shrink: 0;
  margin-left: 12px;
}

.icp-close:hover {
  color: #333;
}

/* ── Breadcrumb ──────────────────────────────────────────────────────────────── */

.icp-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
}

.icp-breadcrumb-back {
  background: none;
  border: none;
  color: #f28c18;
  cursor: pointer;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
}

.icp-breadcrumb-back:hover {
  text-decoration: underline;
}

.icp-breadcrumb-sep {
  color: #aaa;
  font-size: 13px;
}

.icp-breadcrumb-current {
  color: #333;
  font-weight: 500;
}

/* ── Body ────────────────────────────────────────────────────────────────────── */

.icp-body {
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

/* ── Section wrapper ─────────────────────────────────────────────────────────── */

.icp-section {
  width: 100%;
  flex-shrink: 0;
}

.icp-section--trend {
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
  min-height: 180px;
}

/* ── Summary tiles ───────────────────────────────────────────────────────────── */

.icp-tiles-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.icp-tile {
  flex: 0 0 230px;
  width: 230px;
  background: #fafafa;
  border: 1px solid #ebebeb;
  border-radius: 6px;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.icp-tile-count {
  font-size: 20px;
  font-weight: 700;
  color: #242a30;
  text-align: center;
  width: 100%;
}

.icp-tile-label {
  font-size: 12px;
  color: #777;
  text-align: center;
  width: 100%;
}

.icp-tiles-loading {
  padding: 12px;
  font-size: 13px;
  color: #888;
}

/* ── Trend loading / empty ───────────────────────────────────────────────────── */

.icp-trend-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
}

.icp-trend-empty {
  padding: 24px 20px;
  font-size: 13px;
  color: #888;
  text-align: center;
}

/* ── Sub-assistance table ────────────────────────────────────────────────────── */

.icp-sub-table-wrap {
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
}

.icp-sub-title {
  align-items: center;
  background: linear-gradient(135deg, #fff8f0, #fff);
  border: 1px solid #f5e4cc;
  border-radius: 10px;
  color: #333;
  display: inline-flex;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 600;
  gap: 8px;
  letter-spacing: .2px;
  margin-bottom: 10px;
  padding: 6px 14px;
  white-space: nowrap;
}

.icp-sub-table {
  width: 100%;
}

.icp-sub-row {
  display: grid;
  grid-template-columns: 2fr 1fr 1.4fr 1.4fr;
  border-bottom: 1px solid #f5f5f5;
}

.icp-sub-row--header {
  background: #f7f7f7;
}

.icp-sub-row--clickable {
  cursor: pointer;
}

.icp-sub-row--clickable:hover {
  background: #fff8f0;
}

.icp-sub-cell {
  padding: 8px 12px;
  font-size: 13px;
  color: #444;
  display: flex;
  align-items: center;
  gap: 4px;
}

.icp-sub-cell--header {
  font-weight: 600;
  color: #555;
  font-size: 12px;
}

.icp-sub-cell--bars {
  padding: 6px 12px;
}

.icp-sub-bars {
  width: 100%;
  background: #f0f0f0;
  border-radius: 3px;
  height: 8px;
  overflow: hidden;
}

.icp-sub-bar {
  height: 100%;
  background: #8dc76c;
  border-radius: 3px;
  transition: width 0.2s ease;
}

.icp-sub-badge {
  background: #f28c18;
  color: #fff;
  border-radius: 10px;
  padding: 1px 8px;
  font-size: 12px;
  font-weight: 600;
}

.icp-sort-icons {
  display: inline-flex;
  flex-direction: row;
  gap: 2px;
  align-items: center;
  margin-left: 4px;
  flex-shrink: 0;
}

.icp-sort-icons img {
  width: 12px;
  height: 12px;
  display: block;
}

.icp-sort-trigger {
  align-items: center;
  background: none;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  margin: 0;
  padding: 2px;
}

.icp-sort-trigger:focus-visible {
  border-radius: 2px;
  outline: 2px solid #f39f09;
  outline-offset: 1px;
}

/* ── Loading / empty states ──────────────────────────────────────────────────── */

.icp-state-row,
.icp-events-loading,
.icp-events-empty {
  padding: 20px;
  font-size: 13px;
  color: #888;
  text-align: center;
}

.icp-loading-row {
  display: flex;
  justify-content: center;
  padding: 20px;
}

.icp-loading-spinner {
  width: 22px;
  height: 22px;
  border: 3px solid #f0f0f0;
  border-top-color: #f28c18;
  border-radius: 50%;
  display: inline-block;
  animation: icp-spin 0.7s linear infinite;
}

@keyframes icp-spin {
  to { transform: rotate(360deg); }
}

/* ── Events table ────────────────────────────────────────────────────────────── */

.icp-events-section-title {
  align-items: center;
  background: linear-gradient(135deg, #fff8f0, #fff);
  border: 1px solid #f5e4cc;
  border-radius: 10px;
  color: #333;
  display: inline-flex;
  font-family: Inter, sans-serif;
  font-size: 14px;
  font-weight: 600;
  gap: 8px;
  letter-spacing: .2px;
  margin-bottom: 10px;
  padding: 6px 14px;
  white-space: nowrap;
}

.icp-events-table-wrap {
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
  width: 100%;
}

.icp-events-table-scroll {
  overflow-x: auto;
  width: 100%;
}

.icp-events-table {
  min-width: 860px;
  width: 100%;
}

.icp-events-row {
  display: grid;
  border-bottom: 1px solid #f5f5f5;
}

.icp-events-row--header {
  background: #fff;
  border-bottom: 2px solid #ececec;
  position: sticky;
  top: 0;
  z-index: 1;
}

.icp-events-row:not(.icp-events-row--header):hover {
  background: #fff8f0;
}

.icp-events-cell {
  padding: 10px 12px;
  font-size: 13px;
  color: #444;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.icp-events-row--header .icp-events-cell {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.4px;
  color: #555;
  flex-wrap: wrap;
  align-items: flex-start;
}

/* English: single line — center icons vertically, clip overflow */
.icp-events-row--header-en .icp-events-cell {
  flex-wrap: nowrap;
  white-space: nowrap;
  overflow: hidden;
  align-items: center;
}

/* ── Notes icon ──────────────────────────────────────────────────────────────── */

.icp-notes-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.icp-notes-icon {
  width: 18px;
  height: 18px;
  display: block;
  filter: invert(62%) sepia(90%) saturate(600%) hue-rotate(1deg) brightness(98%) contrast(97%);
}

/* ── Responsive ──────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
  .icp-overlay {
    padding: 12px 8px;
    align-items: flex-start;
  }

  .icp-panel {
    max-width: 100%;
  }

  .icp-tiles-row {
    flex-direction: column;
  }

}

/* ── Sub-assistance table grid (5 columns: name | events | bar | avg | total) */
.icp-sub-assistance-scope .row {
  grid-template-columns:
    minmax(180px, 2fr)
    minmax(80px,  1fr)
    minmax(140px, 2.5fr)
    minmax(150px, 1.5fr)
    minmax(150px, 1.5fr);
}

.icp-sub-assistance-scope .row > div:nth-child(1) { grid-column: 1; }
.icp-sub-assistance-scope .row > div:nth-child(2) { grid-column: 2; }
.icp-sub-assistance-scope .row > div:nth-child(3) { grid-column: 3; }
.icp-sub-assistance-scope .row > div:nth-child(4) { grid-column: 4; }
.icp-sub-assistance-scope .row > div:nth-child(5) { grid-column: 5; }

/* Center the Avg (col 4) and Total (col 5) time values + their headers */
.icp-sub-assistance-scope .row > div:nth-child(4),
.icp-sub-assistance-scope .row > div:nth-child(5) {
  justify-content: center;
  text-align: center;
}

.icp-sub-loading-row {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px;
}

.icp-sub-empty-row {
  padding: 20px 16px;
  font-size: 13px;
  color: #888;
  text-align: center;
}

/* ── Overlay ─────────────────────────────────────────────────────────────────── */

.scp-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 24px 16px;
  overflow-y: auto;
}

/* ── Panel ───────────────────────────────────────────────────────────────────── */

.scp-panel {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
  width: 96%;
  max-width: 1600px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ── Header ──────────────────────────────────────────────────────────────────── */

.scp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid #e5e5e5;
  background: #fafafa;
  flex-shrink: 0;
}

.scp-header-left {
  display: flex;
  align-items: center;
  min-width: 0;
}

.scp-title {
  font-size: 15px;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.scp-close {
  background: none;
  border: none;
  font-size: 22px;
  line-height: 1;
  color: #888;
  cursor: pointer;
  padding: 0 4px;
  flex-shrink: 0;
  margin-left: 12px;
}

.scp-close:hover {
  color: #333;
}

/* ── Breadcrumb ──────────────────────────────────────────────────────────────── */

.scp-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
}

.scp-breadcrumb-back {
  background: none;
  border: none;
  color: #f28c18;
  cursor: pointer;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
}

.scp-breadcrumb-back:hover {
  text-decoration: underline;
}

.scp-breadcrumb-sep {
  color: #aaa;
  font-size: 13px;
}

.scp-breadcrumb-current {
  color: #333;
  font-weight: 500;
}

/* ── Body ────────────────────────────────────────────────────────────────────── */

.scp-body {
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

/* ── Section wrapper ─────────────────────────────────────────────────────────── */

.scp-section {
  width: 100%;
  flex-shrink: 0;
}

.scp-section--trend {
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
  min-height: 180px;
}

/* ── Summary tiles ───────────────────────────────────────────────────────────── */

.scp-tiles-row {
  display: flex;
  gap: 12px;
  flex-wrap: wrap;
}

.scp-tile {
  flex: 0 0 230px;
  width: 230px;
  background: #fafafa;
  border: 1px solid #ebebeb;
  border-radius: 6px;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  position: relative;
}

.scp-tile-count {
  font-size: 20px;
  font-weight: 700;
  color: #242a30;
  text-align: center;
  width: 100%;
}

.scp-tile-top {
  display: flex;
  align-items: center;
  gap: 6px;
}

.scp-tile-info-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  opacity: 0.6;
  cursor: pointer;
  position: absolute;
  top: 8px;
  right: 10px;
}

.scp-tile-label {
  font-size: 12px;
  color: #777;
  text-align: center;
  width: 100%;
}

.scp-tiles-loading {
  padding: 12px;
  font-size: 13px;
  color: #888;
}

/* ── Trend loading / empty ───────────────────────────────────────────────────── */

.scp-trend-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
}

.scp-trend-empty {
  padding: 24px 20px;
  font-size: 13px;
  color: #888;
  text-align: center;
}

/* ── Sub-care-tasks table ────────────────────────────────────────────────────── */

.scp-sub-table-title {
  align-items: center;
  background: linear-gradient(135deg, #f0f5ff, #fff);
  border: 1px solid #c8daff;
  border-radius: 10px;
  color: #333;
  display: inline-flex;
  font-size: 14px;
  font-weight: 600;
  gap: 8px;
  letter-spacing: 0.2px;
  margin-bottom: 10px;
  padding: 6px 14px;
  white-space: nowrap;
}

/* Override sct-badge inside the popup sub-table with the orange tint palette */
.scp-section .scp-sub-badge {
  background: #fff3e0 !important;
  border: 1px solid #ffe0b2;
  color: #c25f00;
  border-radius: 10px;
  padding: 1px 8px;
  font-size: 12px;
  font-weight: 600;
}

.scp-sort-icons {
  display: inline-flex;
  flex-direction: row;
  gap: 2px;
  align-items: center;
  margin-left: 4px;
  flex-shrink: 0;
}

.scp-sort-icons img {
  width: 12px;
  height: 12px;
  display: block;
}

.scp-sort-trigger {
  align-items: center;
  background: none;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  margin: 0;
  padding: 2px;
}

.scp-sort-trigger:focus-visible {
  border-radius: 2px;
  outline: 2px solid #f39f09;
  outline-offset: 1px;
}

/* ── Loading / empty states ──────────────────────────────────────────────────── */

.scp-events-loading,
.scp-events-empty,
.scp-sub-empty-row,
.scp-sub-loading-row {
  padding: 20px;
  font-size: 13px;
  color: #888;
  text-align: center;
}

.scp-sub-loading-row {
  display: flex;
  justify-content: center;
}

.scp-loading-spinner {
  width: 22px;
  height: 22px;
  border: 3px solid #f0e0cc;
  border-top-color: #f28c18;
  border-radius: 50%;
  display: inline-block;
  animation: scp-spin 0.7s linear infinite;
}

@keyframes scp-spin {
  to {
    transform: rotate(360deg);
  }
}

/* ── Events section title ────────────────────────────────────────────────────── */

.scp-events-section-title {
  align-items: center;
  background: linear-gradient(135deg, #fff8f0, #fff);
  border: 1px solid #f5e4cc;
  border-radius: 10px;
  color: #333;
  display: inline-flex;
  font-size: 14px;
  font-weight: 600;
  gap: 8px;
  letter-spacing: 0.2px;
  margin-bottom: 10px;
  padding: 6px 14px;
  white-space: nowrap;
}

/* ── Events table ────────────────────────────────────────────────────────────── */

.scp-events-table-wrap {
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
  width: 100%;
}

.scp-events-table-scroll {
  overflow-x: auto;
  width: 100%;
}

.scp-events-table {
  min-width: 860px;
  width: 100%;
}

.scp-events-row {
  display: grid;
  border-bottom: 1px solid #f5f5f5;
}

.scp-events-row--header {
  background: #fff;
  border-bottom: 2px solid #ececec;
  position: sticky;
  top: 0;
  z-index: 1;
}

.scp-events-row:not(.scp-events-row--header):hover {
  background: #fff8f0;
}

.scp-events-cell {
  padding: 10px 12px;
  font-size: 13px;
  color: #444;
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: normal;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.scp-events-row--header .scp-events-cell {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.4px;
  color: #555;
  flex-wrap: wrap;
  align-items: flex-start;
}

/* English: single line — center icons vertically, clip overflow */
.scp-events-row--header-en .scp-events-cell {
  flex-wrap: nowrap;
  white-space: nowrap;
  overflow: hidden;
  align-items: center;
}

/* ── Notes icon ──────────────────────────────────────────────────────────────── */

.scp-notes-btn {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.custom-tempo-tooltip-scld {
  background-color: white !important;
  padding: 12px 20px !important;
  border-radius: 8px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
  color: #393A3B !important;
  font-size: 14px !important;
  z-index: 9999 !important;
  border-top: 6px solid #5b9dff !important;
}

.scp-notes-icon {
  width: 18px;
  height: 18px;
  display: block;
  filter: invert(62%) sepia(90%) saturate(600%) hue-rotate(1deg) brightness(98%) contrast(97%);
}
.custom-tempo-tooltip-scld {
  max-width: 360px !important;
  overflow-wrap: anywhere;
  white-space: normal !important;
}

@keyframes odp-spin {
  to {
    transform: rotate(360deg);
  }
}

/* ── Overlay ─────────────────────────────────────────────────────────────────── */

.odp-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.45);
  z-index: 1050;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: 24px 16px;
  overflow-y: auto;
}

/* ── Panel ───────────────────────────────────────────────────────────────────── */

.odp-panel {
  background: #fff;
  border-radius: 14px;
  box-shadow: 0 8px 40px rgba(0, 0, 0, 0.18);
  width: 96%;
  max-width: 1600px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* ── Header ──────────────────────────────────────────────────────────────────── */

.odp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 20px;
  border-bottom: 1px solid #e5e5e5;
  background: #fafafa;
  flex-shrink: 0;
}

.odp-header-left {
  display: flex;
  align-items: center;
  min-width: 0;
}

.odp-title {
  font-size: 15px;
  font-weight: 600;
  color: #333;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.odp-close {
  background: none;
  border: none;
  font-size: 22px;
  line-height: 1;
  color: #888;
  cursor: pointer;
  padding: 0 4px;
  flex-shrink: 0;
  margin-left: 12px;
}

.odp-close:hover {
  color: #333;
}

/* ── Breadcrumb ──────────────────────────────────────────────────────────────── */

.odp-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 14px;
}

.odp-breadcrumb-back {
  background: none;
  border: none;
  color: #e07916;
  cursor: pointer;
  padding: 0;
  font-size: 14px;
  font-weight: 600;
}

.odp-breadcrumb-back:hover {
  text-decoration: underline;
}

.odp-breadcrumb-sep {
  color: #aaa;
  font-size: 13px;
}

.odp-breadcrumb-current {
  color: #333;
  font-weight: 500;
}

/* ── Body ────────────────────────────────────────────────────────────────────── */

.odp-body {
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}

/* ── Section wrapper ─────────────────────────────────────────────────────────── */

.odp-section {
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  flex-shrink: 0;
}

.odp-section--trend {
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
  min-height: 180px;
}

/* ── Summary tiles ───────────────────────────────────────────────────────────── */

.odp-tiles-grid {
  display: flex;
  gap: 12px;
  flex-wrap: nowrap;
  overflow-x: auto;
}

.odp-tile {
  flex: 1 1 0;
  min-width: 120px;
  background: #fafafa;
  border: 1px solid #ebebeb;
  border-radius: 6px;
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  position: relative;
}

.odp-tile-info-icon {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
  opacity: 0.6;
  cursor: default;
  position: absolute;
  top: 8px;
  right: 10px;
}

.odp-tile-value {
  font-size: 20px;
  font-weight: 700;
  color: #242a30;
}

.odp-tile-label {
  font-size: 12px;
  color: #777;
}

.odp-tiles-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
}

/* ── Trend loading / empty ───────────────────────────────────────────────────── */

.odp-trend-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
}

.odp-trend-empty {
  padding: 24px 20px;
  font-size: 13px;
  color: #888;
  text-align: center;
}

/* ── Spinner ─────────────────────────────────────────────────────────────────── */

.odp-loading-spinner {
  width: 22px;
  height: 22px;
  border: 3px solid #f0f0f0;
  border-top-color: #f28c18;
  border-radius: 50%;
  display: inline-block;
  animation: odp-spin 0.7s linear infinite;
}

/* ── Events section title ────────────────────────────────────────────────────── */

.odp-events-section-title {
  align-items: center;
  background: linear-gradient(135deg, #fff8f0, #fff);
  border: 1px solid #f5e4cc;
  border-radius: 10px;
  color: #333;
  display: inline-flex;
  font-size: 14px;
  font-weight: 600;
  gap: 8px;
  letter-spacing: 0.2px;
  margin-bottom: 10px;
  padding: 6px 14px;
  white-space: nowrap;
}

/* ── Events table ────────────────────────────────────────────────────────────── */

.odp-events-table-wrap {
  border: 1px solid #f0f0f0;
  border-radius: 6px;
  overflow: hidden;
  width: 100%;
}

.odp-events-table-scroll {
  overflow-x: auto;
  width: 100%;
}

.odp-events-table {
  min-width: 2300px;
  width: 100%;
}

.odp-events-row {
  display: grid;
  min-width: 100%;
  border-bottom: 1px solid #f5f5f5;
}

.odp-events-row--header {
  background: #fff;
  border-bottom: 2px solid #ececec;
  position: sticky;
  top: 0;
  z-index: 1;
}

.odp-events-row--header .odp-events-cell {
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.4px;
  color: #555;
  /* non-English: text wraps, sort icons follow on the last line */
  flex-wrap: wrap;
  align-items: flex-start;
}

/* English: single line — center icons vertically, clip overflow */
.odp-events-row--header-en .odp-events-cell {
  flex-wrap: nowrap;
  white-space: nowrap;
  overflow: hidden;
  align-items: center;
}

.odp-events-row--header-en .odp-events-cell .odp-sort-icons {
  align-self: center;
  margin-top: 0;
}

.odp-events-row:not(.odp-events-row--header):hover {
  background: #fff8f0;
}

.odp-events-row--detail {
  background: rgb(249, 249, 249);
  border-left: 3px solid #f69d3a;
}

/* ── Multiple-assistance sub-row visual styling ──────────────────────────────── */
/* grid-template-columns is controlled by inline style to match the header exactly */

.residents-table-scope .table-row-popup-events-subrow {
  background: #fff8f0;
  border-bottom: 1px solid #f5e0c8;
  border-left: 3px solid #f69d3a;
}

.residents-table-scope .table-row-popup-events-table.ondemand-popup .table-row-popup-events-subrow {
  min-width: 2100px;
}

.odp-events-cell {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 12px;
  font-size: 13px;
  color: #444;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  box-sizing: border-box;
}

.odp-events-cell--notes {
  justify-content: flex-start;
  flex-wrap: nowrap;
  gap: 6px;
  padding-left: 4px;
  padding-right: 14px;
}

.odp-events-cell--detail-name {
  font-style: italic;
  color: #555;
}

/* ── Sort icons ──────────────────────────────────────────────────────────────── */

.odp-sort-trigger {
  align-items: center;
  background: none;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  margin: 0;
  padding: 2px;
}

.odp-sort-trigger:focus-visible {
  border-radius: 2px;
  outline: 2px solid #f39f09;
  outline-offset: 1px;
}

.odp-sort-icons {
  display: inline-flex;
  flex-direction: row;
  gap: 2px;
  margin-left: 4px;
  flex-shrink: 0;
  align-self: flex-start;
  margin-top: 1px;
}

.odp-sort-icons img {
  width: 12px;
  height: 12px;
}

/* ── Expand / collapse button ────────────────────────────────────────────────── */

.odp-expand-btn {
  background: none;
  border: none;
  padding: 2px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.odp-expand-btn img {
  width: 12px;
  height: 12px;
}

/* ── Notes button & icon ─────────────────────────────────────────────────────── */

.odp-notes-btn {
  background: none;
  border: none;
  padding: 0 2px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  flex-shrink: 0;
}

.odp-notes-icon {
  width: 22px;
  height: 22px;
  display: block;
  filter: invert(62%) sepia(90%) saturate(600%) hue-rotate(1deg) brightness(98%) contrast(97%);
}

/* ── Detail indent ───────────────────────────────────────────────────────────── */

.odp-detail-indent {
  padding-left: 12px;
  color: #555;
}

/* ── Events loading / empty ──────────────────────────────────────────────────── */

.odp-events-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 80px;
}

.odp-events-empty {
  padding: 24px 16px;
  font-size: 13px;
  color: #888;
  text-align: center;
}

/* ── Sub-assistance table (5-col grid override) ──────────────────────────────── */

.odp-sub-assistance-scope {
  width: 100%;
}

.odp-sub-assistance-scope .row {
  grid-template-columns:
    minmax(180px, 2fr) minmax(80px, 1fr) minmax(140px, 1.5fr) minmax(60px, 1.5fr) minmax(150px, 2fr);
}

.odp-sub-assistance-scope .row>div:nth-child(1) {
  grid-column: 1;
}

.odp-sub-assistance-scope .row>div:nth-child(2) {
  grid-column: 2;
}

.odp-sub-assistance-scope .row>div:nth-child(3) {
  grid-column: 3;
}

.odp-sub-assistance-scope .row>div:nth-child(4) {
  grid-column: 4;
}

.odp-sub-assistance-scope .row>div:nth-child(5) {
  grid-column: 5;
}

/* Left-align the Avg (col 3) and Total (col 5) time values + their headers */
.odp-sub-assistance-scope .row>div:nth-child(3),
.odp-sub-assistance-scope .row>div:nth-child(5) {
  justify-content: flex-start;
  text-align: left;
}

.odp-sub-loading-row {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px;
}

.odp-sub-empty-row {
  padding: 20px 16px;
  font-size: 13px;
  color: #888;
  text-align: center;
}

/* ── Responsive ──────────────────────────────────────────────────────────────── */

@media (max-width: 768px) {
  .odp-overlay {
    padding: 12px 8px;
    align-items: flex-start;
  }

  .odp-panel {
    max-width: 100%;
  }

  .odp-tiles-grid {
    flex-direction: column;
  }
}

.odp-events-row--expandable {
  cursor: pointer;
}

.odp-events-row--expandable:focus-visible {
  outline: 2px solid #f39f09;
  outline-offset: -2px;
}

.custom-tempo-tooltip {
  max-width: 360px !important;
  overflow-wrap: anywhere;
  white-space: normal !important;
}

.odp-events-cell--alert {
  min-width: 0;
}

.odp-events-cell--alert>span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.odp-tempo-btn {
  padding: 0 2px;
  border: 0;
  background: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  cursor: pointer;
}

.odp-tempo-icon {
  width: 26px;
  height: 26px;
  display: block;
  filter: invert(62%) sepia(90%) saturate(600%) hue-rotate(1deg) brightness(98%) contrast(97%);
}

.odp-tempo-tooltip {
  white-space: normal !important;
  padding: 8px 10px !important;
  max-height: 300px !important;
  overflow: hidden !important;
}

.odp-tempo-tooltip .odp-tempo-call-list {
  max-height: 280px !important;
  overflow-y: auto !important;
  overscroll-behavior: contain;
  padding-right: 4px;
}

.odp-tempo-call-row {
  background-color: #fff;
  border: 1px solid #ebebeb;
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .07);
  padding: 6px 8px;
}

.odp-tempo-call-row+.odp-tempo-call-row {
  margin-top: 8px;
}
.odp-tempo-detail-row {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  column-gap: 12px;
  align-items: start;
}

.odp-tempo-detail-row + .odp-tempo-detail-row {
  margin-top: 5px;
}

.odp-tempo-label {
  color: #9a9a9a;
}

.odp-tempo-value {
  min-width: 0;
  text-align: left;
  overflow-wrap: anywhere;
}

.odp-tempo-status--missed {
  color: #dc3545;
  font-weight: 600;
}

.odp-tempo-status--completed {
  color: #28a745;
  font-weight: 600;
}

/* ── ScheduledCareTables layout ───────────────────────────────────────────────
   Scoped under .sct-table-scope to avoid collisions with other tables.
   Class names follow the sct- prefix for all scheduled-care table elements.
   Color theme: #4A90E2 / #5b9dff (scheduled-care blue).
────────────────────────────────────────────────────────────────────────────── */

@keyframes sctSpin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

.sct-table-scope {
  font-size: 12px;
}

.sct-table-wrapper {
  padding: 20px;
  background-color: #fff;
  border-radius: 14px;
  margin: 8px 0;
}

.sct-table {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}

/* ── Table header bar ─────────────────────────────────────────────────────── */
.sct-header-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 0;
  flex-wrap: wrap;
  margin-bottom: 20px;
}

.sct-header-bar-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sct-title {
    align-items: center;
    background: linear-gradient(135deg, #fff8f0, #fff);
    border: 1px solid #f5e4cc;
    border-radius: 10px;
    color: #333;
    display: inline-flex;
    font-family: Inter, sans-serif;
    font-size: 14px;
    font-weight: 600;
    gap: 8px;
    letter-spacing: .2px;
    padding: 6px 14px;
    white-space: nowrap;
}

/* ── Search input ─────────────────────────────────────────────────────────── */
.sct-search-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.sct-search {
  min-width: 220px;
  padding: 7px 36px 7px 12px;
  border: 1px solid #e5e5e5;
  border-radius: 20px;
  font-size: 13px;
  color: #333;
  background: #fafafa;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  transition: border-color 0.15s, box-shadow 0.15s;
  outline: none;
}

.sct-search:focus {
  border-color: #4a90e2;
  box-shadow: 0 0 0 3px rgba(74, 144, 226, 0.15);
  background: #fff;
}

.sct-search::placeholder {
  font-size: 13px;
  color: #aaa;
}

.sct-search-icon {
  position: absolute;
  right: 10px;
  width: 16px;
  height: 16px;
  opacity: 0.5;
  pointer-events: none;
}

.sct-search-clear {
  position: absolute;
  top: 50%;
  right: 12px;
  transform: translateY(-50%);
  background: transparent;
  border: none;
  cursor: pointer;
  font-size: 25px;
  line-height: 1;
  color: #606060;
  padding: 0;
}

.sct-search-clear:hover {
  color: #333;
}

/* ── Row grid — standard 4-column layout (tasks, residents, linked staff) ─── */
.sct-table-scope .sct-row {
  display: grid;
  grid-template-columns:
    minmax(220px, 2fr)
    minmax(100px, 1fr)
    minmax(180px, 2fr)
    minmax(360px, 3fr);
  align-items: stretch;
  border-bottom: 1px solid #e6e6e6;
}

/* ── EHR tasks row grid — 4 flat columns (no bar column) ─────────────────── */
.sct-table-scope .sct-row--ehr {
  display: grid;
  grid-template-columns:
    minmax(200px, 2fr)
    minmax(160px, 1.5fr)
    minmax(160px, 1.5fr)
    minmax(160px, 1.5fr);
  align-items: stretch;
  border-bottom: 1px solid #e6e6e6;
}

.sct-row--header {
  background: #fff;
  font-weight: 700;
  font-size: 14px;
  color: #555;
  letter-spacing: 0.3px;
  text-transform: uppercase;
  border-bottom: 2px solid #ececec;
}

.sct-row--header .sct-cell {
  word-break: normal;
  overflow-wrap: normal;
  white-space: normal;
  font-size: 14px;
  flex-wrap: nowrap;
  overflow: hidden;
}

.sct-row--header .sct-cell--name {
  flex-direction: row;
  align-items: center;
  justify-content: flex-start;
}

.sct-row--header .sct-cell--split > div {
  font-size: 14px;
}

.sct-row--header .sct-cell--split > div > .sct-cell {
  width: 100%;
  padding: 0;
  justify-content: flex-start;
  text-align: left;
}

.sct-row:not(.sct-row--header):nth-child(even) { background: #fafbfc; }
.sct-row:not(.sct-row--header):nth-child(odd)  { background: #ffffff; }
.sct-row:not(.sct-row--header):hover           { background: #fff8f0; }
.sct-row--ehr:not(.sct-row--header):nth-child(even) { background: #fafbfc; }
.sct-row--ehr:not(.sct-row--header):nth-child(odd)  { background: #ffffff; }
.sct-row--ehr:not(.sct-row--header):hover           { background: #fff8f0; }
.sct-row--clickable                               { cursor: pointer; }

/* ── Generic cell ─────────────────────────────────────────────────────────── */
.sct-cell {
  display: flex;
  align-items: center;
  padding: 10px 14px;
  font-size: 12px;
  color: #3a3a3a;
  height: 100%;
  box-sizing: border-box;
  min-width: 0;
  background: inherit;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
}

/* ── Name cell ────────────────────────────────────────────────────────────── */
.sct-cell--name {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}

.sct-name {
  font-weight: 500;
  color: #2d2d2d;
  font-size: 13px;
  width: 100%;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.sct-sub {
  font-size: 11px;
  color: #999;
  margin-top: 2px;
  width: 100%;
  min-width: 0;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.sct-inactive-label {
  font-size: 11px;
  color: #b00;
  font-weight: 400;
}

/* ── Events cell ──────────────────────────────────────────────────────────── */
.sct-cell--events {
  justify-content: flex-start;
}

/* ── Sort icons ───────────────────────────────────────────────────────────── */
.sct-sort-icons {
  display: inline-flex;
  flex-direction: row;
  line-height: 0;
  vertical-align: middle;
  margin-left: 6px;
  flex-shrink: 0;
}

.sct-sort-icons img {
  width: 12px;
  height: 12px;
}

/* ── Badge — blue theme matching scheduled care ───────────────────────────── */
.sct-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #ffe0b2;
  background: #fff3e0 !important;
  color: #c25f00;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 600;
  padding: 2px 10px;
  min-width: 32px;
}

/* ── Bar cells ────────────────────────────────────────────────────────────── */
.sct-cell--bar-header {
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  min-width: 160px;
  padding-bottom: 10px;
}

.sct-cell--bars {
  justify-content: flex-start;
  align-items: center;
  min-width: 160px;
}

.sct-bars {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: 100%;
}

.sct-bar {
  height: 8px;
  border-radius: 4px;
  background: #5b9dff;
  transition: width 0.3s ease;
  min-width: 4px;
}

/* ── Split cell ───────────────────────────────────────────────────────────── */
.sct-cell--split {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  text-align: left;
}

.sct-cell--split > div {
  flex: 1 1 0;
  min-width: 0;
  color: #3a3a3a;
  font-weight: 500;
  font-size: 13px;
  word-break: break-word;
  overflow-wrap: break-word;
  white-space: normal;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  text-align: left;
}

.sct-row--header .sct-cell--split {
  position: relative;
  padding-bottom: 12px;
}

.sct-row--header .sct-cell--split::after {
  content: "";
  position: absolute;
  left: 10%;
  right: 10%;
  bottom: 0;
  border-bottom: 2px solid #5b9dff;
}

/* ── Loading and state rows ───────────────────────────────────────────────── */
.sct-loading-row {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 440px;
  width: 100%;
}

.sct-loading-spinner {
  display: inline-block;
  width: 32px;
  height: 32px;
  border: 3px solid #f0e0cc;
  border-top-color: #f28c18;
  border-radius: 50%;
  animation: sctSpin 0.75s linear infinite;
}

.sct-state-row {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 120px;
  font-size: 14px;
  color: #888;
  width: 100%;
}

.sct-retry-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: transparent;
  border: none;
  cursor: pointer;
  color: #555;
  font-size: 13px;
  padding: 0;
}

.sct-retry-btn:hover {
  color: #4a90e2;
}

.sct-retry-btn .fa {
  font-size: 16px;
}

.sct-sort-cell {
  cursor: default;
  pointer-events: none;
}

.sct-sort-trigger {
  display: inline-flex;
  pointer-events: auto;
  align-items: center;
  cursor: pointer;
}

.sct-sort-trigger:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}

/* ── CarePointDashboard layout ───────────────────────────────────────────── */
.cpd-wrapper {
    padding: 0 6px 6px 6px;
    background-color: #f2f3f5;
    min-height: 100vh;
}

/* White rounded card used for each dashboard section */
.cpd-card {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.07);
    margin-bottom: 12px;
    margin-top: 12px;
    overflow: hidden;
}

.arb-chart-figure {
    margin: 0;
    width: 100%;
}

.arb-chart {
    display: block;
}

.arb-bar-text {
    font-family: Helvetica, sans-serif;
    font-size: 80%;
}

.arb-bar-lightblue {
    fill: #bac8de;
}

.arb-bar-mediumblue {
    fill: #8faadc;
}

.arb-bar-grey {
    fill: #bfbfbf;
}

.arb-bar-black {
    fill: #000000;
}

.bpr-table-header {
    background-color: #fff;
    font-style: italic;
    text-decoration: underline;
    font-weight: bold;
    color: #707478;
    font-size: 12.5px;
    padding: 4px 6px;
}

.bpr-text-center {
    text-align: center;
}

.bpr-text-right {
    text-align: right;
}

.bpr-data-row {
    align-items: center;
    margin-top: 8px;
}

.bpr-unplanned-label {
    font-size: 14px;
    color: #707478;
}

.bpr-events-cell {
    font-size: 14px;
    color: #707478;
}

.bpr-events-link {
    text-decoration: underline;
    cursor: pointer;
    color: #337ab7;
}

.bpr-events-link:hover {
    color: #1a5f9e;
}

.bpr-perf-label {
    height: 20px;
    line-height: 20px;
    overflow: hidden;
    font-size: 80%;
    text-decoration: underline;
    color: #707478;
}

.bpr-svg-wrap {
    display: flex;
    align-items: center;
}

.bpr-total-time {
    text-align: center;
    font-size: 14px;
    color: #707478;
}

.bpr-popover {
    font-size: 12.5px;
    color: #333;
    line-height: 1.6;
    text-align: left;
}

.bpr-popover-row {
    white-space: nowrap;
}

.atr-table-header {
    background-color: #fff;
    font-style: italic;
    text-decoration: underline;
    font-weight: bold;
    color: #707478;
    font-size: 12.5px;
    padding: 4px 6px;
}

.atr-text-center {
    text-align: center;
}

.atr-text-right {
    text-align: right;
}

.atr-sort-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    text-decoration: underline;
    cursor: pointer;
}

.atr-data-row {
    align-items: center;
    margin-top: 14px;
    padding: 6px 0;
    font-size: 14px;
    color: #707478;
}

.atr-events-link {
    text-decoration: underline;
    cursor: pointer;
    color: #337ab7;
}

.atr-events-link:hover {
    color: #1a5f9e;
}

.atr-bar-wrap {
    display: flex;
    align-items: center;
}

.atr-total-time {
    text-align: right;
}

.atr-bar-figure {
    margin: 0;
    width: 100%;
}

.atr-chart {
    display: block;
}

.atr-bar-text {
    font-family: Helvetica, sans-serif;
    font-size: 80%;
}

.atr-bar-grey {
    fill: #bfbfbf;
}

.atr-bar-black {
    fill: #000000;
}

.atr-empty-message {
    text-align: center;
    color: #707478;
    font-size: 14px;
    margin: 16px 0;
}

.atr-cancelled-section {
    margin-top: 16px;
}

.atr-cancelled-row {
    margin-top: 5px;
    font-size: 14px;
    color: #707478;
}

.atr-divider {
    border: 0;
    border-top: 1px solid #e0e0e0;
    margin: 16px 0;
}

.atr-popover {
    font-size: 12.5px;
    color: #333;
    line-height: 1.6;
    text-align: left;
}

.atr-popover-row {
    white-space: nowrap;
}

.ddat-section {
    padding: 8px 0 16px 0;
    border-bottom: 1px solid #e0e4e8;
    margin-bottom: 8px;
}

.ddat-th {
    font-size: 14px;
    font-weight: 600;
    color: #707478;
    text-decoration: underline;
}

.ddat-font80 {
    font-size: 80%;
}

.ddat-center {
    text-align: center;
}

.ddat-right {
    text-align: right;
}

.ddat-row {
    font-size: 14px;
    margin-top: 5px;
}

.ddat-name {
    text-transform: capitalize;
}

.ddat-bp-link {
    cursor: pointer;
    color: #337ab7;
}

.ddat-bp-link:hover {
    color: #1a5f9e;
}

.ddat-perf-label {
    height: 20px;
    line-height: 20px;
    overflow: hidden;
    font-size: 80%;
    color: #707478;
    text-decoration: underline;
}

.ddat-staff-color span {
    color: red;
}

.ddat-svg-wrap {
    display: flex;
    align-items: center;
}

.ddat-overall {
    font-size: 14px;
    color: #707478;
}

.ddat-empty {
    font-size: 14px;
    color: #707478;
}

.ddat-popover {
    font-size: 12.5px;
    color: #333;
    line-height: 1.6;
    text-align: left;
}

.ddat-popover-row {
    white-space: nowrap;
}


.ddia-section {
    padding: 10px 0 4px 0;
    margin-top: 12px;
}

.ddia-head-row {
    padding-bottom: 4px;
}

.ddia-th {
    font-size: 12px;
    font-weight: 600;
    color: #707478;
    text-decoration: underline;
}

.ddia-center {
    text-align: center;
}

.ddia-right {
    text-align: right;
}

.ddia-row {
    font-size: 14px;
    margin-top: 5px;
}

.ddia-datemeta {
    font-size: 14px;
    color: #707478;
}

.ddia-date {
    font-size: 14px;
    color: #707478;
}

.ddia-alerttype {
    text-transform: capitalize;
}

.ddia-perf-label {
    height: 20px;
    line-height: 20px;
    overflow: hidden;
    font-size: 80%;
    color: #707478;
    text-decoration: underline;
}

.ddia-staff-color span {
    color: red;
}

.ddia-svg-wrap {
    display: flex;
    align-items: center;
}

.ddia-assistance {
    text-transform: capitalize;
    padding-top: 40px;
}

.ddia-assistance-link {
    cursor: pointer;
    color: #01579b;
    text-decoration: underline;
}

.ddia-assistance-tooltip {
    max-width: 340px;
    min-width: 200px;
    text-align: left;
    text-transform: capitalize;
    font-size: 14px;
}

.ddia-assistance-tooltip-header {
    font-weight: 600;
    margin-bottom: 6px;
    font-size: 15px;
}

.ddia-assistance-tooltip-body {
    font-weight: 400;
}

.ddia-assistance-line {
    line-height: 1.3;
}

.ddia-person {
    text-transform: capitalize;
    padding-top: 40px;
}

.ddia-staff-tag {
    color: red;
}

.ddia-notes {
    width: 100%;
    min-height: 48px;
    font-size: 13px;
    resize: vertical;
    border: 1px solid #ccc;
    border-radius: 3px;
    padding: 4px;
}


.pdd-panel {
    background-color: #f7f9fb;
    border: 1px solid #e0e0e0;
    border-radius: 4px;
    margin: 4px 0 12px 0;
    padding: 8px 12px;
}

.rdr-title-banner {
    height: 44px;
    line-height: 44px;
    text-align: center;
    color: #2d3a42;
    border-radius: 6px;
    background-color: #f4f6f8;
    border: 1px solid #e0e4e8;
}

.rdr-title-text {
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.rdr-header-row {
    margin-top: 12px;
}

.rdr-table-header {
    font-style: italic;
    text-decoration: underline;
    font-weight: bold;
    color: #707478;
    font-size: 12.5px;
    padding: 4px 6px;
}

.rdr-text-center {
    text-align: center;
}

.rdr-text-right {
    text-align: right;
}

.rdr-sort-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    text-decoration: underline;
    cursor: pointer;
}

.rdr-data-row {
    align-items: center;
    margin-top: 14px;
    padding: 6px 0;
    font-size: 14px;
    color: #707478;
}

.rdr-name-text {
    color: #337ab7;
}

.rdr-name-btn {
    background: none;
    border: none;
    padding: 0;
    color: #337ab7;
    cursor: pointer;
    text-decoration: none;
    text-align: left;
    text-transform: capitalize;
}

.rdr-name-btn:hover {
    color: #1a5f9e;
    text-decoration: underline;
}

.rdr-staff-tag {
    color: red;
    margin-left: 4px;
}

.rdr-events-link {
    text-decoration: underline;
    cursor: pointer;
    color: #337ab7;
}

.rdr-events-link:hover {
    color: #1a5f9e;
}

.rdr-perf-label {
    height: 20px;
    line-height: 20px;
    overflow: hidden;
    font-size: 80%;
    text-decoration: underline;
    color: #707478;
}

.rdr-staff-color span {
    color: red;
}

.rdr-svg-wrap {
    display: flex;
    align-items: center;
}

.rdr-staff-spent,
.rdr-overall-time {
    font-size: 14px;
    color: #707478;
}

.rdr-divider {
    border: 0;
    border-top: 1px solid #e0e0e0;
    margin: 16px 0;
}

.rdr-popover {
    font-size: 12.5px;
    color: #333;
    line-height: 1.6;
    text-align: left;
}

.rdr-popover-row {
    white-space: nowrap;
}

.sdr-title-banner {
    height: 44px;
    line-height: 44px;
    text-align: center;
    color: #2d3a42;
    border-radius: 6px;
    background-color: #f4f6f8;
    border: 1px solid #e0e4e8;
}

.sdr-title-text {
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}

.sdr-header-row {
    margin-top: 12px;
}

.sdr-table-header {
    font-style: italic;
    text-decoration: underline;
    font-weight: bold;
    color: #707478;
    font-size: 12.5px;
    padding: 4px 6px;
}

.sdr-text-center {
    text-align: center;
}

.sdr-text-right {
    text-align: right;
}

.sdr-sort-btn {
    background: none;
    border: none;
    padding: 0;
    margin: 0;
    font: inherit;
    color: inherit;
    text-decoration: underline;
    cursor: pointer;
}

.sdr-data-row {
    align-items: center;
    margin-top: 14px;
    padding: 6px 0;
    font-size: 14px;
    color: #707478;
}

.sdr-name-text {
    color: #337ab7;
}

.sdr-name-btn {
    background: none;
    border: none;
    padding: 0;
    color: #337ab7;
    cursor: pointer;
    text-decoration: none;
    text-align: left;
    text-transform: capitalize;
}

.sdr-name-btn:hover {
    color: #1a5f9e;
    text-decoration: underline;
}

.sdr-staff-tag {
    color: red;
    margin-left: 4px;
}

.sdr-events-link {
    text-decoration: underline;
    cursor: pointer;
    color: #337ab7;
}

.sdr-events-link:hover {
    color: #1a5f9e;
}

.sdr-perf-label {
    height: 20px;
    line-height: 20px;
    overflow: hidden;
    font-size: 80%;
    text-decoration: underline;
    color: #707478;
}

.sdr-staff-color span {
    color: red;
}

.sdr-svg-wrap {
    display: flex;
    align-items: center;
}

.sdr-staff-spent,
.sdr-overall-time {
    font-size: 14px;
    color: #707478;
}

.sdr-divider {
    border: 0;
    border-top: 1px solid #e0e0e0;
    margin: 16px 0;
}

.sdr-popover {
    font-size: 12.5px;
    color: #333;
    line-height: 1.6;
    text-align: left;
}

.sdr-popover-row {
    white-space: nowrap;
}

.mrl-container {
    display: flex;
    flex-direction: column;
    height: 100%;
    font-size: 12px;
}

.mrl-sort-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    padding: 6px 8px;
}

.mrl-sort-label {
    color: #707478;
    white-space: nowrap;
    font-size: 12px;
}

.mrl-sort-select {
    font-size: 12px;
    height: 30px;
    padding: 2px 24px 2px 6px;
    border: 1px solid #ccc;
    border-radius: 4px;
    background-color: #fff;
    appearance: auto;
    -webkit-appearance: auto;
    width: 140px;
    flex-shrink: 0;
    outline: none;
    cursor: pointer;
}

.mrl-sort-select:focus,
.mrl-sort-select:active {
    border-color: #f59325;
    background-color: #fff;
    outline: none;
    box-shadow: none;
}

.mrl-list-header {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 6px 10px;
    background-color: #f4f6f9;
    border-top: 1px solid #dde2e8;
    border-bottom: 1px solid #dde2e8;
    box-sizing: border-box;
}

.mrl-list-title {
    font-size: 13px;
    font-weight: 600;
    color: #444;
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.mrl-click-hint {
    font-size: 12px;
    color: #707478;
    display: block;
    text-align: left;
    padding: 2px 8px 4px;
}



.mrl-search-form {
    padding: 0;
    margin: 0;
}

.mrl-search-input {
    font-size: 12px;
    height: 30px;
    width: 100%;
    display: block;
    border-top: none;
    border-radius: 0;
}

.mrl-table-wrapper {
    flex: 1;
    overflow-y: auto;
    max-height: 455px;
    overflow-x: auto;
}

.mrl-table {
    font-size: 11px;
    width: 100%;
    margin-bottom: 0;
}

.mrl-table thead th {
    font-size: 11px;
    padding: 4px 6px;
    white-space: nowrap;
    background-color: #f5f5f5;
}

.mrl-row {
    cursor: pointer;
}

.mrl-row:hover {
    background-color: #f0f6ff;
}

.mrl-row-alert {
    background-color: #fff3cd;
}

.mrl-table td {
    font-size: 11px;
    padding: 4px 6px;
    vertical-align: middle;
}

.mrl-cell-name {
    min-width: 90px;
}

.mrl-cell-location {
    min-width: 80px;
}

.mrl-cell-alert {
    min-width: 70px;
}

.mrl-cell-status {
    min-width: 70px;
}

.mrl-cell-battery {
    min-width: 50px;
    white-space: nowrap;
}

.mrl-state-cell {
    text-align: center;
    padding: 24px;
}

.mrl-error-text {
    color: #c00;
    font-size: 12px;
    margin-bottom: 8px;
}

.mrl-retry-btn {
    background: #f59325;
    color: #fff;
    border: none;
    padding: 4px 14px;
    border-radius: 4px;
    font-size: 12px;
    cursor: pointer;
}

.mrl-retry-btn:hover {
    background: #d47e1a;
}

.mrl-suite {
    color: #888;
    font-size: 10px;
}

.mrl-alert-highlight {
    opacity: 0.92;
}

.mrl-alert-not-sent {
    color: #c00;
    font-size: 11px;
}

.mrl-alt-status-not-taken {
    color: #c00;
    font-weight: 600;
}

.mrl-blink {
    animation: mrl-blink-anim 1s step-start infinite;
}

@keyframes mrl-blink-anim {
    50% { opacity: 0; }
}

.mrl-battery-cell {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    font-size: 10px;
}

.mrl-battery-icon {
    height: 16px;
    width: auto;
}

.mrl-battery-icon-low {
    height: 16px;
    width: auto;
    filter: hue-rotate(180deg) saturate(2);
}

.mrl-agency-alert-button { background-color: #DAE2ED; }
.mrl-agency-alert-fall { background-color: #EFE9CC; }
.mrl-agency-alert-noncommunicating { background-color: #FFF2CB; }
.mrl-agency-alert-lowbattery { background-color: #FDE3D6; }
.mrl-agency-alert-geofence { background-color: #E3EFD9; }

.mrl-empty {
    text-align: center;
    color: #999;
    padding: 16px;
}

.mrl-minify-btn {
    display: block;
    position: absolute;
    margin-left: -13px;
    margin-top: -65px;
}

.mrl-btn-minify {
    background: none;
    border-radius: 3px;
    padding: 4px 8px;
    cursor: pointer;
    color: #ffffff;
    background-color: #f59325 !important;
    border: 1px solid #f59325 !important;
    font-size: 13px;
    transition: background 0.15s;
}

.mrl-btn-minify:hover {
    border: 1px solid #ffffff !important;
    background: #f8b28b;
}

.mrl-tempo-note {
    font-size: 10px;
    color: #888;
    padding: 6px 4px 2px;
    margin: 0;
    line-height: 1.4;
}

.mvl-container {
    margin: 0;
    min-height: 500px;
}

.mvl-map-col {
    position: relative;
    padding-right: 0;
    height: 500px;
}

.mvl-map-col-hidden {
    display: none;
}

.mvl-map-canvas {
    width: 100%;
    height: 500px;
    background-color: #e8e8e8;
}

/* Overlay shown while the map is loading or on error */
.mvl-map-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background: rgba(232, 232, 232, 0.85);
    z-index: 5;
}

.mvl-marker-tooltip {
    position: absolute;
    z-index: 1000;
    background: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 8px 10px;
    font-size: 11px;
    max-width: 220px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    pointer-events: none;
}

.mvl-sidebar-col {
    display: flex;
    flex-direction: column;
    height: 500px;
    overflow: visible;
    border-left: 1px solid #ddd;
    padding-left: 8px;
    padding-right: 4px;
    background-color: #fff;
    transition: all 0.2s ease;
    position: relative;
    border-radius: 8px;
}

/* Minify tab — floats on the left edge of the sidebar, vertically centred */
.mvl-minify-tab {
    position: absolute;
    left: -18px;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: #f59325;
    border: none;
    color: #fff;
    width: 18px;
    height: 48px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px 0 0 4px;
    font-size: 12px;
    padding: 0;
}

/* When sidebar is full width (col-12), move button inside so it is not off-screen */
.mvl-minify-tab.mvl-minify-tab-expanded {
    left: 0;
    border-radius: 0 4px 4px 0;
}

.mvl-minify-tab:hover {
    background: #d47e1a;
}

.mvl-back-btn {
    background: none;
    border: none;
    font-size: 14px;
    color: #f59325;
    cursor: pointer;
    padding: 4px 6px 2px;
    align-self: flex-start;
}

.mvl-back-btn:hover {
    color: #d47e1a;
}

.mvl-info-panel-wrapper {
    flex: 1;
    overflow: hidden;
}

.mvl-map-error {
    color: #c00;
    font-size: 12px;
    padding: 8px;
    text-align: center;
}

/* Compact person detail panel — fills the col-md-4 column that wraps it */
.mvl-person-panel {
    background: #fff;
    padding: 8px 10px;
    border-radius: 8px;
    border: 1px solid #dee2e6;
    width: 100%;
    overflow: hidden;
}

.mvl-person-scroll {
    overflow-x: auto;
    overflow-y: hidden;
}

.mvl-person-entries-row {
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 0;
    min-width: max-content;
}

.mvl-person-entry {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 10px;
    min-width: 200px;
    flex-shrink: 0;
    padding: 0 8px;
}

.mvl-person-divider {
    align-self: stretch;
    width: 1px;
    background-color: #dee2e6;
    margin: 0 8px;
    flex-shrink: 0;
}

.mvl-person-avatar {
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}

.mvl-person-avatar-img {
    width: 44px;
    height: 44px;
    object-fit: cover;
    border-radius: 50%;
}

.mvl-person-initials {
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: #e0e0e0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    font-weight: 600;
    color: #555;
}

.mvl-person-details {
    flex: 1;
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.mvl-person-name {
    font-weight: bold;
    font-size: 13px;
    margin-bottom: 2px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.mvl-person-role {
    color: #707478;
    font-size: 12px;
    margin-bottom: 2px;
}

.mvl-person-meta {
    color: #707478;
    font-size: 11px;
    margin-bottom: 1px;
}

.mvl-person-actions {
    list-style: none;
    padding: 0;
    margin: 4px 0 0;
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.mvl-person-address {
    font-size: 10px;
    color: #707478;
    margin-top: 6px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    min-width: max-content;
}

.mvl-fos-btn {
    text-decoration: none;
    color: #337ab7;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-size: 10px;
    white-space: nowrap;
}

.mvl-fos-btn:hover {
    color: #23527c;
}
.agency-alert-agents-action-icon {
    cursor: pointer;
    padding: 4px;
    border-radius: 4px;
    transition: opacity 0.2s ease, background-color 0.2s ease;
}

.agency-alert-agents-action-icon:hover {
    opacity: 0.75;
}

.agency-alert-agents-action-icon.disabled {
    cursor: not-allowed;
    opacity: 0.4;
    pointer-events: none;
}

.agency-alert-agents-actions {
    display: flex;
    align-items: center;
    gap: 6px;
}

.risk-category-card {
    border: none;
}

.risk-category-header {
    background-color: #6c757d;
    color: #fff;
    padding: 10px 15px;
    font-weight: 600;
    letter-spacing: 0.5px;
}

.risk-category-body {
    padding: 20px;
}

.risk-category-bucket-list {
    margin-left: 30px;
    margin-top: 8px;
    margin-bottom: 8px;
}

.risk-category-actions {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin-top: 30px;
    margin-bottom: 20px;
}

.risk-category-error {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 20px 0;
    gap: 10px;
}

.agency-client-row-name-cell {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}

.agency-client-row-avatar {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}

.agency-client-row-initials {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #6c757d;
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    flex-shrink: 0;
    user-select: none;
}

.agency-client-row-name-info {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.agency-client-row-fname {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 13px;
}

.agency-client-row-flag-icon {
    color: #dc3545;
    font-size: 13px;
    cursor: pointer;
    vertical-align: middle;
}

.agency-client-row-not-in-facility {
    display: inline-block;
    background-color: #dc3545;
    color: #fff;
    font-size: 11px;
    padding: 1px 6px;
    border-radius: 3px;
    margin-top: 2px;
}

.agency-client-row-notempo-badge {
    background-color: #b6b2b2;
    color: #fff;
    font-size: 11px;
    padding: 1px 6px;
    border-radius: 3px;
}

.agency-client-row-comment-btn {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    margin-left: auto;
    flex-shrink: 0;
}

.agency-client-row-comment-icon {
    width: 16px;
    height: 16px;
}

.agency-client-row-carecircle-link {
    background: none;
    border: none;
    padding: 0;
    color: #0d6efd;
    cursor: pointer;
    text-decoration: underline;
    font-size: inherit;
}

.agency-client-row-carecircle-link:hover {
    color: #0a58ca;
}

.agency-client-row-actions {
    display: flex;
    align-items: center;
    gap: 4px;
    white-space: nowrap;
}

.agency-client-row-action-btn {
    background: none;
    border: none;
    padding: 2px 4px;
    cursor: pointer;
    color: #707478;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 0;
}

.agency-client-row-action-flagged {
    gap: 1px;
}

.agency-client-row-action-flag {
    font-size: 7px;
    color: #dc3545;
    vertical-align: super;
    line-height: 1;
    margin-left: 1px;
}

.agency-client-row-action-btn i {
    color: #707478;
}

.agency-client-row-action-btn:hover {
    color: #444;
}

.agency-client-row-action-btn:hover i {
    color: #444;
}

.agency-client-row-action-disabled {
    color: #bbb;
    cursor: not-allowed;
    pointer-events: none;
}

.agency-client-row-action-delete {
    color: #707478;
}

.agency-client-row-action-delete i {
    color: #707478 !important;
}

.agency-client-row-action-delete:hover {
    color: #a71d2a;
}

.agency-client-row-action-sep {
    color: #ccc;
    font-size: 12px;
}

.agency-client-card {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    background-color: #fff;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 16px 12px 12px;
    text-align: center;
    height: 100%;
}

.agency-client-card-reactivate-btn {
    position: absolute;
    top: 8px;
    right: 8px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: #28a745;
    font-size: 16px;
}

.agency-client-card-reactivate-btn:hover {
    color: #1a6e2e;
}

.agency-client-card-trash-btn {
    background: none;
    border: none;
    padding: 3px 5px;
    cursor: pointer;
    color: #707478;
    font-size: 13px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    flex-shrink: 0;
}

.agency-client-card-trash-btn:hover {
    color: #444;
}

.agency-client-card-img-wrapper {
    width: 64px;
    height: 64px;
    border-radius: 50%;
    overflow: hidden;
    margin-bottom: 10px;
    flex-shrink: 0;
}

.agency-client-card-avatar {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.agency-client-card-initials {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #6c757d;
    color: #fff;
    font-size: 20px;
    font-weight: 600;
    border-radius: 50%;
    user-select: none;
}

.agency-client-card-body {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    width: 100%;
    flex: 1;
}

.agency-client-card-name {
    font-size: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 5px;
    flex-wrap: wrap;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.agency-client-card-flag-icon {
    color: #dc3545;
    font-size: 13px;
    cursor: pointer;
    flex-shrink: 0;
}

.agency-client-card-care-type {
    font-size: 12px;
    color: #888;
}

.agency-client-card-address {
    font-size: 11px;
    color: #666;
    word-break: break-word;
    text-align: center;
}

.agency-client-card-not-in-facility {
    display: inline-block;
    background-color: #dc3545;
    color: #fff;
    font-size: 11px;
    padding: 1px 6px;
    border-radius: 3px;
}

.agency-client-card-deleted-info {
    display: flex;
    justify-content: space-between;
    width: 100%;
    font-size: 11px;
    color: #666;
}

.agency-client-card-tags {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4px;
    margin-top: 4px;
}

.agency-client-card-tag {
    background-color: #e2e3e5;
    color: #383d41;
    font-size: 11px;
    padding: 1px 6px;
    border-radius: 3px;
}

.agency-client-card-alert-group {
    font-size: 11px;
    color: #555;
}

.agency-client-card-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin-top: auto;
    padding-top: 8px;
    border-top: 1px solid #f0f0f0;
}

.agency-client-card-actions {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-wrap: wrap;
}

.agency-client-card-action-btn {
    background: none;
    border: none;
    padding: 3px 5px;
    cursor: pointer;
    color: #707478;
    font-size: 13px;
    display: inline-flex;
    align-items: center;
    gap: 0;
}

.agency-client-card-action-flagged {
    gap: 1px;
}

.agency-client-card-action-flag {
    font-size: 7px;
    color: #dc3545;
    vertical-align: super;
    line-height: 1;
    margin-left: 1px;
}

.agency-client-card-action-btn:hover {
    color: #444;
}

.agency-client-card-action-btn i {
    color: #707478;
}

.agency-client-card-action-btn:hover i {
    color: #444;
}

.agency-client-card-action-disabled {
    color: #bbb;
    cursor: not-allowed;
    pointer-events: none;
}

.agency-client-card-action-delete {
    color: #707478;
}

.agency-client-card-action-delete i {
    color: #707478 !important;
}

.agency-client-card-action-delete:hover {
    color: #a71d2a;
}

.agency-client-card-action-sep {
    color: #ccc;
    font-size: 12px;
}

.agency-clients-view-toggle {
    display: flex;
    align-items: center;
    gap: 4px;
}

.agency-clients-view-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid #fff;
    border-radius: 4px;
    background-color: #fff;
    color: #6c757d;
    cursor: pointer;
    flex-shrink: 0;
    transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.agency-clients-view-btn:hover {
    background-color: rgb(226, 231, 235);
    color: #343a40;
    border-color: #fff;
}

.agency-clients-view-btn.active {
    background-color: rgb(226, 231, 235);
    color: #343a40;
    border-color: #fff;
}

.reset-email-modal-backdrop {
    background-color: rgba(0, 0, 0, 0.5);
}

.reset-email-modal-backdrop .modal-content p,
.reset-email-modal-backdrop .modal-content .invalid-feedback {
    font-size: 0.8rem;
}

.reset-email-modal-backdrop .col-form-label {
    font-size: 0.8rem;
}

.reset-email-modal-backdrop p {
    font-size: 0.8rem;
}

.agency-client-reset-password-backdrop {
    background-color: rgba(0, 0, 0, 0.5);
}

.agency-client-reset-password-backdrop .modal-content label,
.agency-client-reset-password-backdrop .modal-content p {
    font-size: 0.8rem;
}

.agency-clients-form-settings-nav {
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    display: inline-flex;
    align-items: center;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

.agency-clients-form-settings-nav:hover .agency-clients-form-settings-body {
    background-color: #d97e10;
}

.agency-clients-form-settings-nav:hover .agency-clients-form-settings-body::after {
    border-left-color: #d97e10;
}

.agency-clients-form-settings-body {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background-color: #f59325;
    padding: 0 28px 0 14px;
    height: 36px;
    transition: background-color 0.15s;
}

.agency-clients-form-settings-body::after {
    content: "";
    position: absolute;
    right: -18px;
    top: 0;
    width: 0;
    height: 0;
    border-top: 18px solid transparent;
    border-bottom: 18px solid transparent;
    border-left: 18px solid #f59325;
    transition: border-left-color 0.15s;
}

.agency-clients-form-settings-label {
    color: #fff;
    font-weight: 600;
    font-size: 0.875rem;
    white-space: nowrap;
    line-height: 1;
}

.coming-soon-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-height: calc(100vh - 120px);
  text-align: center;
}

.coming-soon-icon {
  color: #000000;
  font-size: 80px;
  margin-bottom: 24px;
}

.coming-soon-message {
  color: #000000;
  font-size: 28px;
  font-weight: 600;
  margin-bottom: 10px;
}

.coming-soon-desc {
  font-size: 14px;
  color: #647788;
}

@charset "UTF-8";
.react-datepicker__navigation-icon::before, .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  border-color: #ccc;
  border-style: solid;
  border-width: 3px 3px 0 0;
  content: "";
  display: block;
  height: 9px;
  position: absolute;
  top: 6px;
  width: 9px;
}
.react-datepicker-wrapper {
  display: inline-block;
  padding: 0;
  border: 0;
}

.react-datepicker {
  font-family: "Helvetica Neue", helvetica, arial, sans-serif;
  font-size: 0.8rem;
  background-color: #fff;
  color: #000;
  border: 1px solid #aeaeae;
  border-radius: 0.3rem;
  display: inline-block;
  position: relative;
  line-height: initial;
}

.react-datepicker--time-only .react-datepicker__time-container {
  border-left: 0;
}
.react-datepicker--time-only .react-datepicker__time,
.react-datepicker--time-only .react-datepicker__time-box {
  border-bottom-left-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}

.react-datepicker-popper {
  z-index: 1;
  line-height: 0;
}
.react-datepicker-popper .react-datepicker__triangle {
  stroke: #aeaeae;
}
.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle {
  fill: #f0f0f0;
  color: #f0f0f0;
}
.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle {
  fill: #fff;
  color: #fff;
}

.react-datepicker__header {
  text-align: center;
  background-color: #f0f0f0;
  border-bottom: 1px solid #aeaeae;
  border-top-left-radius: 0.3rem;
  padding: 8px 0;
  position: relative;
}
.react-datepicker__header--time {
  padding-bottom: 8px;
  padding-left: 5px;
  padding-right: 5px;
}
.react-datepicker__header--time:not(.react-datepicker__header--time--only) {
  border-top-left-radius: 0;
}
.react-datepicker__header:not(.react-datepicker__header--has-time-select) {
  border-top-right-radius: 0.3rem;
}

.react-datepicker__year-dropdown-container--select,
.react-datepicker__month-dropdown-container--select,
.react-datepicker__month-year-dropdown-container--select,
.react-datepicker__year-dropdown-container--scroll,
.react-datepicker__month-dropdown-container--scroll,
.react-datepicker__month-year-dropdown-container--scroll {
  display: inline-block;
  margin: 0 15px;
}

.react-datepicker__current-month,
.react-datepicker-time__header,
.react-datepicker-year-header {
  margin-top: 0;
  color: #000;
  font-weight: bold;
  font-size: 0.944rem;
}

h2.react-datepicker__current-month {
  padding: 0;
  margin: 0;
}

.react-datepicker-time__header {
  text-overflow: ellipsis;
  white-space: nowrap;
  overflow: hidden;
}

.react-datepicker__navigation {
  align-items: center;
  background: none;
  display: flex;
  justify-content: center;
  text-align: center;
  cursor: pointer;
  position: absolute;
  top: 2px;
  padding: 0;
  border: none;
  z-index: 1;
  height: 32px;
  width: 32px;
  text-indent: -999em;
  overflow: hidden;
}
.react-datepicker__navigation--previous {
  left: 2px;
}
.react-datepicker__navigation--next {
  right: 2px;
}
.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button) {
  right: 85px;
}
.react-datepicker__navigation--years {
  position: relative;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.react-datepicker__navigation--years-previous {
  top: 4px;
}
.react-datepicker__navigation--years-upcoming {
  top: -4px;
}
.react-datepicker__navigation:hover *::before {
  border-color: rgb(165.75, 165.75, 165.75);
}

.react-datepicker__navigation-icon {
  position: relative;
  top: -1px;
  font-size: 20px;
  width: 0;
}
.react-datepicker__navigation-icon--next {
  left: -2px;
}
.react-datepicker__navigation-icon--next::before {
  transform: rotate(45deg);
  left: -7px;
}
.react-datepicker__navigation-icon--previous {
  right: -2px;
}
.react-datepicker__navigation-icon--previous::before {
  transform: rotate(225deg);
  right: -7px;
}

.react-datepicker__month-container {
  float: left;
}

.react-datepicker__year {
  margin: 0.4rem;
  text-align: center;
}
.react-datepicker__year-wrapper {
  display: flex;
  flex-wrap: wrap;
  max-width: 180px;
}
.react-datepicker__year .react-datepicker__year-text {
  display: inline-block;
  width: 4rem;
  margin: 2px;
}

.react-datepicker__month {
  margin: 0.4rem;
  text-align: center;
}
.react-datepicker__month .react-datepicker__month-text,
.react-datepicker__month .react-datepicker__quarter-text {
  display: inline-block;
  width: 4rem;
  margin: 2px;
}

.react-datepicker__input-time-container {
  clear: both;
  width: 100%;
  float: left;
  margin: 5px 0 10px 15px;
  text-align: left;
}
.react-datepicker__input-time-container .react-datepicker-time__caption {
  display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container {
  display: inline-block;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input {
  display: inline-block;
  margin-left: 10px;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input {
  width: auto;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time] {
  -moz-appearance: textfield;
}
.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter {
  margin-left: 5px;
  display: inline-block;
}

.react-datepicker__time-container {
  float: right;
  border-left: 1px solid #aeaeae;
  width: 85px;
}
.react-datepicker__time-container--with-today-button {
  display: inline;
  border: 1px solid #aeaeae;
  border-radius: 0.3rem;
  position: absolute;
  right: -87px;
  top: 0;
}
.react-datepicker__time-container .react-datepicker__time {
  position: relative;
  background: white;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box {
  width: 85px;
  overflow-x: hidden;
  margin: 0 auto;
  text-align: center;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list {
  list-style: none;
  margin: 0;
  height: calc(195px + 1.7rem / 2);
  overflow-y: scroll;
  padding-right: 0;
  padding-left: 0;
  width: 100%;
  box-sizing: content-box;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item {
  height: 30px;
  padding: 5px 10px;
  white-space: nowrap;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover {
  cursor: pointer;
  background-color: #f0f0f0;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected {
  background-color: #216ba5;
  color: white;
  font-weight: bold;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover {
  background-color: #216ba5;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled {
  color: #ccc;
}
.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover {
  cursor: default;
  background-color: transparent;
}

.react-datepicker__week-number {
  color: #ccc;
  display: inline-block;
  width: 1.7rem;
  line-height: 1.7rem;
  text-align: center;
  margin: 0.166rem;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable {
  cursor: pointer;
}
.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover {
  border-radius: 0.3rem;
  background-color: #f0f0f0;
}
.react-datepicker__week-number--selected {
  border-radius: 0.3rem;
  background-color: #216ba5;
  color: #fff;
}
.react-datepicker__week-number--selected:hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}

.react-datepicker__day-names {
  white-space: nowrap;
  margin-bottom: -8px;
}

.react-datepicker__week {
  white-space: nowrap;
}

.react-datepicker__day-name,
.react-datepicker__day,
.react-datepicker__time-name {
  color: #000;
  display: inline-block;
  width: 1.7rem;
  line-height: 1.7rem;
  text-align: center;
  margin: 0.166rem;
}

.react-datepicker__day,
.react-datepicker__month-text,
.react-datepicker__quarter-text,
.react-datepicker__year-text {
  cursor: pointer;
}
.react-datepicker__day:not([aria-disabled=true]):hover,
.react-datepicker__month-text:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text:not([aria-disabled=true]):hover,
.react-datepicker__year-text:not([aria-disabled=true]):hover {
  border-radius: 0.3rem;
  background-color: #f0f0f0;
}
.react-datepicker__day--today,
.react-datepicker__month-text--today,
.react-datepicker__quarter-text--today,
.react-datepicker__year-text--today {
  font-weight: bold;
}
.react-datepicker__day--highlighted,
.react-datepicker__month-text--highlighted,
.react-datepicker__quarter-text--highlighted,
.react-datepicker__year-text--highlighted {
  border-radius: 0.3rem;
  background-color: #3dcc4a;
  color: #fff;
}
.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,
.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover {
  background-color: rgb(49.8551020408, 189.6448979592, 62.5632653061);
}
.react-datepicker__day--highlighted-custom-1,
.react-datepicker__month-text--highlighted-custom-1,
.react-datepicker__quarter-text--highlighted-custom-1,
.react-datepicker__year-text--highlighted-custom-1 {
  color: magenta;
}
.react-datepicker__day--highlighted-custom-2,
.react-datepicker__month-text--highlighted-custom-2,
.react-datepicker__quarter-text--highlighted-custom-2,
.react-datepicker__year-text--highlighted-custom-2 {
  color: green;
}
.react-datepicker__day--holidays,
.react-datepicker__month-text--holidays,
.react-datepicker__quarter-text--holidays,
.react-datepicker__year-text--holidays {
  position: relative;
  border-radius: 0.3rem;
  background-color: #ff6803;
  color: #fff;
}
.react-datepicker__day--holidays .overlay,
.react-datepicker__month-text--holidays .overlay,
.react-datepicker__quarter-text--holidays .overlay,
.react-datepicker__year-text--holidays .overlay {
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px;
  border-radius: 4px;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
}
.react-datepicker__day--holidays:not([aria-disabled=true]):hover,
.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,
.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover {
  background-color: rgb(207, 82.9642857143, 0);
}
.react-datepicker__day--holidays:hover .overlay,
.react-datepicker__month-text--holidays:hover .overlay,
.react-datepicker__quarter-text--holidays:hover .overlay,
.react-datepicker__year-text--holidays:hover .overlay {
  visibility: visible;
  opacity: 1;
}
.react-datepicker__day--selected, .react-datepicker__day--in-selecting-range, .react-datepicker__day--in-range,
.react-datepicker__month-text--selected,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--selected,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--selected,
.react-datepicker__year-text--in-selecting-range,
.react-datepicker__year-text--in-range {
  border-radius: 0.3rem;
  background-color: #216ba5;
  color: #fff;
}
.react-datepicker__day--selected:not([aria-disabled=true]):hover, .react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover, .react-datepicker__day--in-range:not([aria-disabled=true]):hover,
.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,
.react-datepicker__year-text--selected:not([aria-disabled=true]):hover,
.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,
.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}
.react-datepicker__day--keyboard-selected,
.react-datepicker__month-text--keyboard-selected,
.react-datepicker__quarter-text--keyboard-selected,
.react-datepicker__year-text--keyboard-selected {
  border-radius: 0.3rem;
  background-color: rgb(186.25, 217.0833333333, 241.25);
  color: rgb(0, 0, 0);
}
.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,
.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover {
  background-color: rgb(28.75, 93.2196969697, 143.75);
}
.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range),
.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,
.react-datepicker__month-text--in-range,
.react-datepicker__quarter-text--in-range,
.react-datepicker__year-text--in-range) {
  background-color: rgba(33, 107, 165, 0.5);
}
.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range), .react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range),
.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,
.react-datepicker__month-text--in-selecting-range,
.react-datepicker__quarter-text--in-selecting-range,
.react-datepicker__year-text--in-selecting-range) {
  background-color: #f0f0f0;
  color: #000;
}
.react-datepicker__day--disabled,
.react-datepicker__month-text--disabled,
.react-datepicker__quarter-text--disabled,
.react-datepicker__year-text--disabled {
  cursor: default;
  color: #ccc;
}
.react-datepicker__day--disabled .overlay,
.react-datepicker__month-text--disabled .overlay,
.react-datepicker__quarter-text--disabled .overlay,
.react-datepicker__year-text--disabled .overlay {
  position: absolute;
  bottom: 70%;
  left: 50%;
  transform: translateX(-50%);
  background-color: #333;
  color: #fff;
  padding: 4px;
  border-radius: 4px;
  white-space: nowrap;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity 0.3s ease-in-out;
}

.react-datepicker__input-container {
  position: relative;
  display: inline-block;
  width: 100%;
}
.react-datepicker__input-container .react-datepicker__calendar-icon {
  position: absolute;
  padding: 0.5rem;
  box-sizing: content-box;
}

.react-datepicker__view-calendar-icon input {
  padding: 6px 10px 5px 25px;
}

.react-datepicker__year-read-view,
.react-datepicker__month-read-view,
.react-datepicker__month-year-read-view {
  border: 1px solid transparent;
  border-radius: 0.3rem;
  position: relative;
}
.react-datepicker__year-read-view:hover,
.react-datepicker__month-read-view:hover,
.react-datepicker__month-year-read-view:hover {
  cursor: pointer;
}
.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow {
  border-top-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-read-view--down-arrow,
.react-datepicker__month-read-view--down-arrow,
.react-datepicker__month-year-read-view--down-arrow {
  transform: rotate(135deg);
  right: -16px;
  top: 0;
}

.react-datepicker__year-dropdown,
.react-datepicker__month-dropdown,
.react-datepicker__month-year-dropdown {
  background-color: #f0f0f0;
  position: absolute;
  width: 50%;
  left: 25%;
  top: 30px;
  z-index: 1;
  text-align: center;
  border-radius: 0.3rem;
  border: 1px solid #aeaeae;
}
.react-datepicker__year-dropdown:hover,
.react-datepicker__month-dropdown:hover,
.react-datepicker__month-year-dropdown:hover {
  cursor: pointer;
}
.react-datepicker__year-dropdown--scrollable,
.react-datepicker__month-dropdown--scrollable,
.react-datepicker__month-year-dropdown--scrollable {
  height: 150px;
  overflow-y: scroll;
}

.react-datepicker__year-option,
.react-datepicker__month-option,
.react-datepicker__month-year-option {
  line-height: 20px;
  width: 100%;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.react-datepicker__year-option:first-of-type,
.react-datepicker__month-option:first-of-type,
.react-datepicker__month-year-option:first-of-type {
  border-top-left-radius: 0.3rem;
  border-top-right-radius: 0.3rem;
}
.react-datepicker__year-option:last-of-type,
.react-datepicker__month-option:last-of-type,
.react-datepicker__month-year-option:last-of-type {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  border-bottom-left-radius: 0.3rem;
  border-bottom-right-radius: 0.3rem;
}
.react-datepicker__year-option:hover,
.react-datepicker__month-option:hover,
.react-datepicker__month-year-option:hover {
  background-color: #ccc;
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming {
  border-bottom-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,
.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous {
  border-top-color: rgb(178.5, 178.5, 178.5);
}
.react-datepicker__year-option--selected,
.react-datepicker__month-option--selected,
.react-datepicker__month-year-option--selected {
  position: absolute;
  left: 15px;
}

.react-datepicker__close-icon {
  cursor: pointer;
  background-color: transparent;
  border: 0;
  outline: 0;
  padding: 0 6px 0 0;
  position: absolute;
  top: 0;
  right: 0;
  height: 100%;
  display: table-cell;
  vertical-align: middle;
}
.react-datepicker__close-icon::after {
  cursor: pointer;
  background-color: #216ba5;
  color: #fff;
  border-radius: 50%;
  height: 16px;
  width: 16px;
  padding: 2px;
  font-size: 12px;
  line-height: 1;
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  content: "×";
}
.react-datepicker__close-icon--disabled {
  cursor: default;
}
.react-datepicker__close-icon--disabled::after {
  cursor: default;
  background-color: #ccc;
}

.react-datepicker__today-button {
  background: #f0f0f0;
  border-top: 1px solid #aeaeae;
  cursor: pointer;
  text-align: center;
  font-weight: bold;
  padding: 5px 0;
  clear: left;
}

.react-datepicker__portal {
  position: fixed;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8);
  left: 0;
  top: 0;
  justify-content: center;
  align-items: center;
  display: flex;
  z-index: 2147483647;
}
.react-datepicker__portal .react-datepicker__day-name,
.react-datepicker__portal .react-datepicker__day,
.react-datepicker__portal .react-datepicker__time-name {
  width: 3rem;
  line-height: 3rem;
}
@media (max-width: 400px), (max-height: 550px) {
  .react-datepicker__portal .react-datepicker__day-name,
  .react-datepicker__portal .react-datepicker__day,
  .react-datepicker__portal .react-datepicker__time-name {
    width: 2rem;
    line-height: 2rem;
  }
}
.react-datepicker__portal .react-datepicker__current-month,
.react-datepicker__portal .react-datepicker-time__header {
  font-size: 1.44rem;
}

.react-datepicker__children-container {
  width: 13.8rem;
  margin: 0.4rem;
  padding-right: 0.2rem;
  padding-left: 0.2rem;
  height: auto;
}

.react-datepicker__aria-live {
  position: absolute;
  clip-path: circle(0);
  border: 0;
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  width: 1px;
  white-space: nowrap;
}

.react-datepicker__calendar-icon {
  width: 1em;
  height: 1em;
  vertical-align: -0.125em;
}

@font-face {
    font-family: 'primeicons';
    font-display: block;
    src: url(/ff0c4cd79b2ffca2de54.eot);
    src: url(/ff0c4cd79b2ffca2de54.eot?#iefix) format('embedded-opentype'), url(/024b32cc7bf399b1a847.woff2) format('woff2'), url(/8931fda1930c3bd21e96.woff) format('woff'), url(/a5c2a53d1ff7a9ff5933.ttf) format('truetype'), url(/6ed59f962963a4a73af2.svg?#primeicons) format('svg');
    font-weight: normal;
    font-style: normal;
}

.pi {
    font-family: 'primeicons';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.pi:before {
    --webkit-backface-visibility:hidden;
    backface-visibility: hidden;
}

.pi-fw {
    width: 1.28571429em;
    text-align: center;
}

.pi-spin {
    -webkit-animation: fa-spin 2s infinite linear;
    animation: fa-spin 2s infinite linear;
}

@media (prefers-reduced-motion: reduce) {
  .pi-spin {
    -webkit-animation-delay: -1ms;
    animation-delay: -1ms;
    -webkit-animation-duration: 1ms;
    animation-duration: 1ms;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
  }
}

@-webkit-keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

@keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

.pi-folder-plus:before {
    content: "\ea05";
}

.pi-receipt:before {
    content: "\ea06";
}

.pi-asterisk:before {
    content: "\ea07";
}

.pi-face-smile:before {
    content: "\ea08";
}

.pi-pinterest:before {
    content: "\ea09";
}

.pi-expand:before {
    content: "\ea0a";
}

.pi-pen-to-square:before {
    content: "\ea0b";
}

.pi-wave-pulse:before {
    content: "\ea0c";
}

.pi-turkish-lira:before {
    content: "\ea0d";
}

.pi-spinner-dotted:before {
    content: "\ea0e";
}

.pi-crown:before {
    content: "\ea0f";
}

.pi-pause-circle:before {
    content: "\ea10";
}

.pi-warehouse:before {
    content: "\ea11";
}

.pi-objects-column:before {
    content: "\ea12";
}

.pi-clipboard:before {
    content: "\ea13";
}

.pi-play-circle:before {
    content: "\ea14";
}

.pi-venus:before {
    content: "\ea15";
}

.pi-cart-minus:before {
    content: "\ea16";
}

.pi-file-plus:before {
    content: "\ea17";
}

.pi-microchip:before {
    content: "\ea18";
}

.pi-twitch:before {
    content: "\ea19";
}

.pi-building-columns:before {
    content: "\ea1a";
}

.pi-file-check:before {
    content: "\ea1b";
}

.pi-microchip-ai:before {
    content: "\ea1c";
}

.pi-trophy:before {
    content: "\ea1d";
}

.pi-barcode:before {
    content: "\ea1e";
}

.pi-file-arrow-up:before {
    content: "\ea1f";
}

.pi-mars:before {
    content: "\ea20";
}

.pi-tiktok:before {
    content: "\ea21";
}

.pi-arrow-up-right-and-arrow-down-left-from-center:before {
    content: "\ea22";
}

.pi-ethereum:before {
    content: "\ea23";
}

.pi-list-check:before {
    content: "\ea24";
}

.pi-thumbtack:before {
    content: "\ea25";
}

.pi-arrow-down-left-and-arrow-up-right-to-center:before {
    content: "\ea26";
}

.pi-equals:before {
    content: "\ea27";
}

.pi-lightbulb:before {
    content: "\ea28";
}

.pi-star-half:before {
    content: "\ea29";
}

.pi-address-book:before {
    content: "\ea2a";
}

.pi-chart-scatter:before {
    content: "\ea2b";
}

.pi-indian-rupee:before {
    content: "\ea2c";
}

.pi-star-half-fill:before {
    content: "\ea2d";
}

.pi-cart-arrow-down:before {
    content: "\ea2e";
}

.pi-calendar-clock:before {
    content: "\ea2f";
}

.pi-sort-up-fill:before {
    content: "\ea30";
}

.pi-sparkles:before {
    content: "\ea31";
}

.pi-bullseye:before {
    content: "\ea32";
}

.pi-sort-down-fill:before {
    content: "\ea33";
}

.pi-graduation-cap:before {
    content: "\ea34";
}

.pi-hammer:before {
    content: "\ea35";
}

.pi-bell-slash:before {
    content: "\ea36";
}

.pi-gauge:before {
    content: "\ea37";
}

.pi-shop:before {
    content: "\ea38";
}

.pi-headphones:before {
    content: "\ea39";
}

.pi-eraser:before {
    content: "\ea04";
}

.pi-stopwatch:before {
    content: "\ea01";
}

.pi-verified:before {
    content: "\ea02";
}

.pi-delete-left:before {
    content: "\ea03";
}

.pi-hourglass:before {
    content: "\e9fe";
}

.pi-truck:before {
    content: "\ea00";
}

.pi-wrench:before {
    content: "\e9ff";
}

.pi-microphone:before {
    content: "\e9fa";
}

.pi-megaphone:before {
    content: "\e9fb";
}

.pi-arrow-right-arrow-left:before {
    content: "\e9fc";
}

.pi-bitcoin:before {
    content: "\e9fd";
}

.pi-file-edit:before {
    content: "\e9f6";
}

.pi-language:before {
    content: "\e9f7";
}

.pi-file-export:before {
    content: "\e9f8";
}

.pi-file-import:before {
    content: "\e9f9";
}

.pi-file-word:before {
    content: "\e9f1";
}

.pi-gift:before {
    content: "\e9f2";
}

.pi-cart-plus:before {
    content: "\e9f3";
}

.pi-thumbs-down-fill:before {
    content: "\e9f4";
}

.pi-thumbs-up-fill:before {
    content: "\e9f5";
}

.pi-arrows-alt:before {
    content: "\e9f0";
}

.pi-calculator:before {
    content: "\e9ef";
}

.pi-sort-alt-slash:before {
    content: "\e9ee";
}

.pi-arrows-h:before {
    content: "\e9ec";
}

.pi-arrows-v:before {
    content: "\e9ed";
}

.pi-pound:before {
    content: "\e9eb";
}

.pi-prime:before {
    content: "\e9ea";
}

.pi-chart-pie:before {
    content: "\e9e9";
}

.pi-reddit:before {
    content: "\e9e8";
}

.pi-code:before {
    content: "\e9e7";
}

.pi-sync:before {
    content: "\e9e6";
}

.pi-shopping-bag:before {
    content: "\e9e5";
}

.pi-server:before {
    content: "\e9e4";
}

.pi-database:before {
    content: "\e9e3";
}

.pi-hashtag:before {
    content: "\e9e2";
}

.pi-bookmark-fill:before {
    content: "\e9df";
}

.pi-filter-fill:before {
    content: "\e9e0";
}

.pi-heart-fill:before {
    content: "\e9e1";
}

.pi-flag-fill:before {
    content: "\e9de";
}

.pi-circle:before {
    content: "\e9dc";
}

.pi-circle-fill:before {
    content: "\e9dd";
}

.pi-bolt:before {
    content: "\e9db";
}

.pi-history:before {
    content: "\e9da";
}

.pi-box:before {
    content: "\e9d9";
}

.pi-at:before {
    content: "\e9d8";
}

.pi-arrow-up-right:before {
    content: "\e9d4";
}

.pi-arrow-up-left:before {
    content: "\e9d5";
}

.pi-arrow-down-left:before {
    content: "\e9d6";
}

.pi-arrow-down-right:before {
    content: "\e9d7";
}

.pi-telegram:before {
    content: "\e9d3";
}

.pi-stop-circle:before {
    content: "\e9d2";
}

.pi-stop:before {
    content: "\e9d1";
}

.pi-whatsapp:before {
    content: "\e9d0";
}

.pi-building:before {
    content: "\e9cf";
}

.pi-qrcode:before {
    content: "\e9ce";
}

.pi-car:before {
    content: "\e9cd";
}

.pi-instagram:before {
    content: "\e9cc";
}

.pi-linkedin:before {
    content: "\e9cb";
}

.pi-send:before {
    content: "\e9ca";
}

.pi-slack:before {
    content: "\e9c9";
}

.pi-sun:before {
    content: "\e9c8";
}

.pi-moon:before {
    content: "\e9c7";
}

.pi-vimeo:before {
    content: "\e9c6";
}

.pi-youtube:before {
    content: "\e9c5";
}

.pi-flag:before {
    content: "\e9c4";
}

.pi-wallet:before {
    content: "\e9c3";
}

.pi-map:before {
    content: "\e9c2";
}

.pi-link:before {
    content: "\e9c1";
}

.pi-credit-card:before {
    content: "\e9bf";
}

.pi-discord:before {
    content: "\e9c0";
}

.pi-percentage:before {
    content: "\e9be";
}

.pi-euro:before {
    content: "\e9bd";
}

.pi-book:before {
    content: "\e9ba";
}

.pi-shield:before {
    content: "\e9b9";
}

.pi-paypal:before {
    content: "\e9bb";
}

.pi-amazon:before {
    content: "\e9bc";
}

.pi-phone:before {
    content: "\e9b8";
}

.pi-filter-slash:before {
    content: "\e9b7";
}

.pi-facebook:before {
    content: "\e9b4";
}

.pi-github:before {
    content: "\e9b5";
}

.pi-twitter:before {
    content: "\e9b6";
}

.pi-step-backward-alt:before {
    content: "\e9ac";
}

.pi-step-forward-alt:before {
    content: "\e9ad";
}

.pi-forward:before {
    content: "\e9ae";
}

.pi-backward:before {
    content: "\e9af";
}

.pi-fast-backward:before {
    content: "\e9b0";
}

.pi-fast-forward:before {
    content: "\e9b1";
}

.pi-pause:before {
    content: "\e9b2";
}

.pi-play:before {
    content: "\e9b3";
}

.pi-compass:before {
    content: "\e9ab";
}

.pi-id-card:before {
    content: "\e9aa";
}

.pi-ticket:before {
    content: "\e9a9";
}

.pi-file-o:before {
    content: "\e9a8";
}

.pi-reply:before {
    content: "\e9a7";
}

.pi-directions-alt:before {
    content: "\e9a5";
}

.pi-directions:before {
    content: "\e9a6";
}

.pi-thumbs-up:before {
    content: "\e9a3";
}

.pi-thumbs-down:before {
    content: "\e9a4";
}

.pi-sort-numeric-down-alt:before {
    content: "\e996";
}

.pi-sort-numeric-up-alt:before {
    content: "\e997";
}

.pi-sort-alpha-down-alt:before {
    content: "\e998";
}

.pi-sort-alpha-up-alt:before {
    content: "\e999";
}

.pi-sort-numeric-down:before {
    content: "\e99a";
}

.pi-sort-numeric-up:before {
    content: "\e99b";
}

.pi-sort-alpha-down:before {
    content: "\e99c";
}

.pi-sort-alpha-up:before {
    content: "\e99d";
}

.pi-sort-alt:before {
    content: "\e99e";
}

.pi-sort-amount-up:before {
    content: "\e99f";
}

.pi-sort-amount-down:before {
    content: "\e9a0";
}

.pi-sort-amount-down-alt:before {
    content: "\e9a1";
}

.pi-sort-amount-up-alt:before {
    content: "\e9a2";
}

.pi-palette:before {
    content: "\e995";
}

.pi-undo:before {
    content: "\e994";
}

.pi-desktop:before {
    content: "\e993";
}

.pi-sliders-v:before {
    content: "\e991";
}

.pi-sliders-h:before {
    content: "\e992";
}

.pi-search-plus:before {
    content: "\e98f";
}

.pi-search-minus:before {
    content: "\e990";
}

.pi-file-excel:before {
    content: "\e98e";
}

.pi-file-pdf:before {
    content: "\e98d";
}

.pi-check-square:before {
    content: "\e98c";
}

.pi-chart-line:before {
    content: "\e98b";
}

.pi-user-edit:before {
    content: "\e98a";
}

.pi-exclamation-circle:before {
    content: "\e989";
}

.pi-android:before {
    content: "\e985";
}

.pi-google:before {
    content: "\e986";
}

.pi-apple:before {
    content: "\e987";
}

.pi-microsoft:before {
    content: "\e988";
}

.pi-heart:before {
    content: "\e984";
}

.pi-mobile:before {
    content: "\e982";
}

.pi-tablet:before {
    content: "\e983";
}

.pi-key:before {
    content: "\e981";
}

.pi-shopping-cart:before {
    content: "\e980";
}

.pi-comments:before {
    content: "\e97e";
}

.pi-comment:before {
    content: "\e97f";
}

.pi-briefcase:before {
    content: "\e97d";
}

.pi-bell:before {
    content: "\e97c";
}

.pi-paperclip:before {
    content: "\e97b";
}

.pi-share-alt:before {
    content: "\e97a";
}

.pi-envelope:before {
    content: "\e979";
}

.pi-volume-down:before {
    content: "\e976";
}

.pi-volume-up:before {
    content: "\e977";
}

.pi-volume-off:before {
    content: "\e978";
}

.pi-eject:before {
    content: "\e975";
}

.pi-money-bill:before {
    content: "\e974";
}

.pi-images:before {
    content: "\e973";
}

.pi-image:before {
    content: "\e972";
}

.pi-sign-in:before {
    content: "\e970";
}

.pi-sign-out:before {
    content: "\e971";
}

.pi-wifi:before {
    content: "\e96f";
}

.pi-sitemap:before {
    content: "\e96e";
}

.pi-chart-bar:before {
    content: "\e96d";
}

.pi-camera:before {
    content: "\e96c";
}

.pi-dollar:before {
    content: "\e96b";
}

.pi-lock-open:before {
    content: "\e96a";
}

.pi-table:before {
    content: "\e969";
}

.pi-map-marker:before {
    content: "\e968";
}

.pi-list:before {
    content: "\e967";
}

.pi-eye-slash:before {
    content: "\e965";
}

.pi-eye:before {
    content: "\e966";
}

.pi-folder-open:before {
    content: "\e964";
}

.pi-folder:before {
    content: "\e963";
}

.pi-video:before {
    content: "\e962";
}

.pi-inbox:before {
    content: "\e961";
}

.pi-lock:before {
    content: "\e95f";
}

.pi-unlock:before {
    content: "\e960";
}

.pi-tags:before {
    content: "\e95d";
}

.pi-tag:before {
    content: "\e95e";
}

.pi-power-off:before {
    content: "\e95c";
}

.pi-save:before {
    content: "\e95b";
}

.pi-question-circle:before {
    content: "\e959";
}

.pi-question:before {
    content: "\e95a";
}

.pi-copy:before {
    content: "\e957";
}

.pi-file:before {
    content: "\e958";
}

.pi-clone:before {
    content: "\e955";
}

.pi-calendar-times:before {
    content: "\e952";
}

.pi-calendar-minus:before {
    content: "\e953";
}

.pi-calendar-plus:before {
    content: "\e954";
}

.pi-ellipsis-v:before {
    content: "\e950";
}

.pi-ellipsis-h:before {
    content: "\e951";
}

.pi-bookmark:before {
    content: "\e94e";
}

.pi-globe:before {
    content: "\e94f";
}

.pi-replay:before {
    content: "\e94d";
}

.pi-filter:before {
    content: "\e94c";
}

.pi-print:before {
    content: "\e94b";
}

.pi-align-right:before {
    content: "\e946";
}

.pi-align-left:before {
    content: "\e947";
}

.pi-align-center:before {
    content: "\e948";
}

.pi-align-justify:before {
    content: "\e949";
}

.pi-cog:before {
    content: "\e94a";
}

.pi-cloud-download:before {
    content: "\e943";
}

.pi-cloud-upload:before {
    content: "\e944";
}

.pi-cloud:before {
    content: "\e945";
}

.pi-pencil:before {
    content: "\e942";
}

.pi-users:before {
    content: "\e941";
}

.pi-clock:before {
    content: "\e940";
}

.pi-user-minus:before {
    content: "\e93e";
}

.pi-user-plus:before {
    content: "\e93f";
}

.pi-trash:before {
    content: "\e93d";
}

.pi-external-link:before {
    content: "\e93c";
}

.pi-window-maximize:before {
    content: "\e93b";
}

.pi-window-minimize:before {
    content: "\e93a";
}

.pi-refresh:before {
    content: "\e938";
}
  
.pi-user:before {
    content: "\e939";
}

.pi-exclamation-triangle:before {
    content: "\e922";
}

.pi-calendar:before {
    content: "\e927";
}

.pi-chevron-circle-left:before {
    content: "\e928";
}

.pi-chevron-circle-down:before {
    content: "\e929";
}

.pi-chevron-circle-right:before {
    content: "\e92a";
}

.pi-chevron-circle-up:before {
    content: "\e92b";
}

.pi-angle-double-down:before {
    content: "\e92c";
}

.pi-angle-double-left:before {
    content: "\e92d";
}

.pi-angle-double-right:before {
    content: "\e92e";
}

.pi-angle-double-up:before {
    content: "\e92f";
}

.pi-angle-down:before {
    content: "\e930";
}

.pi-angle-left:before {
    content: "\e931";
}

.pi-angle-right:before {
    content: "\e932";
}

.pi-angle-up:before {
    content: "\e933";
}

.pi-upload:before {
    content: "\e934";
}

.pi-download:before {
    content: "\e956";
}

.pi-ban:before {
    content: "\e935";
}

.pi-star-fill:before {
    content: "\e936";
}

.pi-star:before {
    content: "\e937";
}

.pi-chevron-left:before {
    content: "\e900";
}

.pi-chevron-right:before {
    content: "\e901";
}

.pi-chevron-down:before {
    content: "\e902";
}

.pi-chevron-up:before {
    content: "\e903";
}

.pi-caret-left:before {
    content: "\e904";
}

.pi-caret-right:before {
    content: "\e905";
}

.pi-caret-down:before {
    content: "\e906";
}

.pi-caret-up:before {
    content: "\e907";
}

.pi-search:before {
    content: "\e908";
}

.pi-check:before {
    content: "\e909";
}

.pi-check-circle:before {
    content: "\e90a";
}

.pi-times:before {
    content: "\e90b";
}

.pi-times-circle:before {
    content: "\e90c";
}

.pi-plus:before {
    content: "\e90d";
}

.pi-plus-circle:before {
    content: "\e90e";
}

.pi-minus:before {
    content: "\e90f";
}

.pi-minus-circle:before {
    content: "\e910";
}

.pi-circle-on:before {
    content: "\e911";
}

.pi-circle-off:before {
    content: "\e912";
}

.pi-sort-down:before {
    content: "\e913";
}

.pi-sort-up:before {
    content: "\e914";
}

.pi-sort:before {
    content: "\e915";
}

.pi-step-backward:before {
    content: "\e916";
}

.pi-step-forward:before {
    content: "\e917";
}

.pi-th-large:before {
    content: "\e918";
}

.pi-arrow-down:before {
    content: "\e919";
}

.pi-arrow-left:before {
    content: "\e91a";
}

.pi-arrow-right:before {
    content: "\e91b";
}

.pi-arrow-up:before {
    content: "\e91c";
}

.pi-bars:before {
    content: "\e91d";
}

.pi-arrow-circle-down:before {
    content: "\e91e";
}

.pi-arrow-circle-left:before {
    content: "\e91f";
}

.pi-arrow-circle-right:before {
    content: "\e920";
}

.pi-arrow-circle-up:before {
    content: "\e921";
}

.pi-info:before {
    content: "\e923";
}

.pi-info-circle:before {
    content: "\e924";
}

.pi-home:before {
    content: "\e925";
}

.pi-spinner:before {
    content: "\e926";
}

/* ReplayMap Styles */

/* ===== Variables ===== */
:root {
  --rm-basic-0: #ffffff;
  --rm-basic-1: #ffffff;
  --rm-basic-2: #ffffff;
  --rm-basic-3: #9b9b9b;
  --rm-basic-4: #ffffff;
  --rm-basic-5: #ffffff;
  --rm-basic-btn: #fff5eb;
  --rm-green-1: #f59325;
  --rm-green-2: #d97f1e;
  --rm-blue-1: #348fe2;
  --rm-orange-1: #f59325;
  --rm-blueish-1: #ffffff;
  /* --rm-blueish-2: #e8e9eb; */
    --rm-blueish-2: #ffffff;

  --rm-shadow-0: rgba(0,0,0,0.10);
  --rm-text-main: #333333;
  --rm-text-muted: #585663;
  --rm-border: #dee2e6;
  --rm-topbar-height: 40px;
  --rm-small-bar-height: 36px;
  --rm-bottombar-content-height: 85px;
  --rm-duration-1: 0.3s;
  --rm-bottombar-header-font: 12px;
}

/* ===== Loader ===== */
.rm-loader {
  position: absolute;
  top: 0; bottom: 0; left: 0; right: 0;
  background: #ffffff;
  z-index: 5;
  opacity: 0.7;
  display: flex;
  justify-content: center;
  align-items: center;
}

.rm-spinner,
.rm-spinner:after {
  border-radius: 50%;
  width: 10em;
  height: 10em;
}
.rm-spinner {
  margin: 60px auto;
  font-size: 10px;
  position: relative;
  text-indent: -9999em;
  border-top: 1.1em solid rgba(245,147,37,0.2);
  border-right: 1.1em solid rgba(245,147,37,0.2);
  border-bottom: 1.1em solid rgba(245,147,37,0.2);
  border-left: 1.1em solid #f59325;
  transform: translateZ(0);
  animation: rm-load8 1.1s infinite linear;
}
@keyframes rm-load8 {
  0%   { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}

/* ===== Map ===== */
.rm-pan-zoom {
  transition: 0.3s;
  overflow: hidden;
}
.rm-pan-zoom-child {
  transform-origin: 0 0 0;
}
.rm-map-svg {
  overflow: hidden;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
  transition: 0.3s;
}

/* ===== Markers ===== */
.rm-marker-wrapper {
  transition: transform 0.3s;
}
.rm-marker-circle--resident--male { fill: #1d64b7; }
.rm-marker-circle--resident--female { fill: #b71d86; }
.rm-marker-circle--resident--unknown { fill: #9b9b9b; }
.rm-marker-circle--staff { fill: var(--rm-orange-1); }
.rm-marker-circle--mixed { fill: #4d5763; }
.rm-marker-text { fill: white; }

.rm-path-group { pointer-events: none; }
.rm-path-group--resident--male .rm-path-line { stroke: #1d64b7; }
.rm-path-group--resident--male .rm-date-box rect { fill: #1d64b7; }
.rm-path-group--resident--female .rm-path-line { stroke: #b71d86; }
.rm-path-group--resident--female .rm-date-box rect { fill: #b71d86; }
.rm-path-group--resident--unknown .rm-path-line { stroke: #9b9b9b; }
.rm-path-group--resident--unknown .rm-date-box rect { fill: #9b9b9b; }
.rm-path-group--staff .rm-path-line { stroke: var(--rm-orange-1); }
.rm-path-group--staff .rm-date-box rect { fill: var(--rm-orange-1); }
.rm-date-box { pointer-events: none; }
.rm-path-text { font-size: 11px; font-weight: 400; fill: #ffffff; }

/* ===== Checkbox ===== */
.rm-styled-input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.rm-styled-input + label {
  position: relative;
  cursor: pointer;
  padding: 0;
  font-weight: 500 !important;
  display: inline-flex;
  align-items: center;
  line-height: 1;
}
.rm-styled-input + label:before {
  content: '';
  flex-shrink: 0;
  margin-right: 8px;
  width: 15px;
  height: 15px;
  border-radius: 4px;
  background: #fff center/10px no-repeat;
  border: 1.5px solid #d0d4da;
  box-sizing: border-box;
  transition: background 0.15s, border-color 0.15s;
}
/* Tick is an inline SVG set as background-image — always perfectly centered */
.rm-styled-input:checked + label:before {
  background-color: var(--rm-green-1);
  border-color: var(--rm-green-1);
  background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 10 10%27%3E%3Cpath d=%27M1.5 5.5l2.5 2.5 4.5-5%27 stroke=%27white%27 stroke-width=%271.6%27 fill=%27none%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27/%3E%3C/svg%3E");
}
.rm-styled-input:disabled + label { color: #b8b8b8; cursor: auto; }
.rm-styled-input:disabled + label:before { background-color: #efefef; border-color: #d0d4da; }

/* ===== Topbar ===== */
.rm-app .rm-topbar {
  width: 100%;
  height: var(--rm-topbar-height);
  background: #ffffff;
  color: var(--rm-text-muted);
  font-size: 14px;
  position: absolute;
  top: 0;
  z-index: 2;
  border-bottom: 1px solid var(--rm-border);
}
.rm-topbar__title-group {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  gap: 4px;
}
.rm-app .rm-topbar h1.rm-logo {
  color: var(--rm-text-main);
  font-weight: 600;
  font-size: 13px;
  cursor: default;
  user-select: none;
  letter-spacing: 0.2px;
  margin: 0;
  white-space: nowrap;
}

/* ===== People Menu ===== */
.rm-people-menu {
  background: var(--rm-basic-0);
  width: 250px;
  position: absolute;
  top: var(--rm-topbar-height);
  bottom: var(--rm-small-bar-height);
  z-index: 1;
  border-right: 1px solid var(--rm-border);
  display: flex;
  flex-direction: column;
}
.rm-people-menu--bottombar-open {
  bottom: calc(var(--rm-small-bar-height) + var(--rm-bottombar-content-height));
}
.rm-people-menu__tabs { flex-shrink: 0; }

.rm-people-menu__wrapper {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

.rm-people-menu .rm-people-results {
  list-style: none;
  padding: 0;
  margin: 0;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
}
.rm-people-menu .rm-people-results li {
  height: 34px;
  padding: 0 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: 12px;
  color: var(--rm-text-main);
  background: var(--rm-basic-0);
  transition: background 0.12s;
  border-left: 3px solid transparent;
  box-sizing: border-box;
}
.rm-people-menu .rm-people-results li:hover {
  background: #fff8f2;
}
.rm-people-menu .rm-people-results li.rm-person--selected {
  border-left-color: var(--rm-green-1);
  background: rgba(245, 147, 37, 0.07);
}
.rm-people-menu .rm-people-results li.rm-person--selected:hover {
  background: rgba(245, 147, 37, 0.14);
}
.rm-people-menu .rm-people-results input[name='select-person'] {
  position: absolute;
  opacity: 0;
}

.rm-person-dot {
  flex-shrink: 0;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  box-shadow: 0 0 0 1.5px rgba(0,0,0,0.08);
}
.rm-person__name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
  flex: 1;
  min-width: 0;
  font-size: 12px;
  font-weight: 400 !important;
  line-height: 1.2;
}
.rm-people-empty {
  padding: 20px 10px !important;
  height: auto !important;
  justify-content: center !important;
  color: var(--rm-basic-3) !important;
  font-style: italic;
  cursor: default !important;
  border-left: none !important;
  background: transparent !important;
}
.rm-people-menu__count {
  margin-left: auto;
  font-size: 10px;
  font-weight: 500;
  color: var(--rm-text-muted);
  background: rgba(0,0,0,0.06);
  padding: 1px 6px;
  border-radius: 10px;
  white-space: nowrap;
}
.rm-people-menu__tab-badge {
  background: var(--rm-green-1);
  color: #ffffff;
  font-size: 9px;
  font-weight: 700;
  min-width: 16px;
  height: 16px;
  padding: 0 4px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
}
.rm-topbar .rm-nav { display: flex; }
.rm-topbar__minimap-button { margin-left: auto; }

/* ===== Minimap ===== */
.rm-minimap-wrapper {
  position: absolute;
  top: var(--rm-topbar-height);
  bottom: var(--rm-small-bar-height);
  right: 0;
  width: 200px;
  background: var(--rm-basic-0);
  padding: 5px;
  z-index: 1;
  border-left: 1px solid var(--rm-border);
  overflow-x: hidden;
  overflow-y: auto;
  transition: bottom var(--rm-duration-1);
}
.rm-minimap-wrapper--bottombar-open {
  bottom: calc(var(--rm-small-bar-height) + var(--rm-bottombar-content-height));
}

.rm-minimap-miniature {
  background: none;
  border: none;
  margin: 0;
  padding: 0;
  opacity: 0.7;
  position: relative;
  width: 100%;
  transition: opacity var(--rm-duration-1);
}
.rm-minimap-miniature:hover { opacity: 1; }
.rm-minimap-miniature:hover .rm-overlay { opacity: 0.8; }
.rm-minimap-miniature--selected { opacity: 1; }

/* ===== Bottombar ===== */
.rm-bottombar {
  width: 100%;
  position: absolute;
  bottom: calc(-1 * var(--rm-bottombar-content-height));
  left: 0; right: 0;
  z-index: 3;
  transition: bottom var(--rm-duration-1);
  background: var(--rm-basic-0);
  border-top: 1px solid var(--rm-border);
}
.rm-bottombar--open { bottom: 0; padding: 4px; }
.rm-bottombar__content { height: var(--rm-bottombar-content-height); padding-bottom: 6px; box-sizing: border-box; }
.rm-bottombar__header {
  height: var(--rm-small-bar-height);
  padding: 0 7.5px;
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: space-between;
  position: relative;
  color: var(--rm-text-main);
  background: #ffffff;
  border-bottom: 1px solid var(--rm-border);
}
.rm-bottombar__btn {
  display: flex;
  flex-flow: row;
  align-items: center;
  justify-content: center;
  border: none;
  height: 18px;
  border-radius: 9px;
  margin: 0 3px;
  padding: 0 8px;
  background: var(--rm-basic-btn);
  color: var(--rm-text-main);
  font-size: 11px;
  gap: 3px;
  transition: background var(--rm-duration-1), color var(--rm-duration-1);
  cursor: pointer;
}
.rm-bottombar__btn--active { background: var(--rm-green-1); color: #ffffff; }
.rm-bottombar__btn:hover:not(:disabled) { background: var(--rm-green-1); color: #ffffff; }
.rm-bottombar__btn:disabled { opacity: 0.45; cursor: not-allowed; }
.rm-bottombar__btn:disabled:hover { background: var(--rm-basic-btn); color: var(--rm-text-main); }

.rm-bottombar__btn-group {
  background: var(--rm-basic-btn);
  padding-left: 6px;
  border-radius: 9px;
  margin: 0 3px;
  display: flex;
  flex-flow: row;
}
.rm-bottombar__btn-group .rm-bottombar__btn { border-radius: 0; margin: 0; padding: 0 6px; }
.rm-bottombar__btn-group div:first-child .rm-bottombar__btn { padding: 0 2px; pointer-events: none; cursor: default; }
.rm-bottombar__btn-group div:last-child .rm-bottombar__btn { border-top-right-radius: 9px; border-bottom-right-radius: 9px; }
.rm-bottombar__btn-group div:nth-child(2) .rm-bottombar__btn { border-left: 1px solid var(--rm-border); border-right: 1px solid var(--rm-border); }

/* primeicons inside buttons */
.rm-bottombar__btn .pi { font-size: 11px; line-height: 1; vertical-align: middle; }
.rm-play-mode__controls .pi { font-size: 11px; line-height: 1; vertical-align: middle; }

.rm-current-speed { width: 30px; text-align: center; }
.rm-bottombar__pickers { display: flex; align-items: center; justify-content: center; gap: 6px; }
.rm-bottombar__toggle {
  font-size: 10px;
  height: 100%;
  padding: 5px 0;
  display: flex;
  align-items: center;
  gap: 4px;
  cursor: pointer;
  pointer-events: all;
  color: var(--rm-text-muted);
}
.rm-bottombar__arrow {
  position: relative;
  top: 1px;
  font-size: 8px;
  line-height: 1;
}
.rm-bottombar__play-range { font-size: var(--rm-bottombar-header-font); color: var(--rm-text-main); }
.rm-bottombar__selected-date {
  padding: 0 10px;
  font-size: var(--rm-bottombar-header-font);
  font-weight: 400;
  cursor: pointer;
  text-decoration: underline;
  color: var(--rm-text-main);
}
.rm-bottombar__selected-date:hover { color: var(--rm-green-1); }
.rm-bottombar__play-mode { display: flex; justify-content: center; align-items: center; }
.rm-bottombar__center { flex: 1; display: flex; justify-content: center; align-items: center; }
.rm-play-mode__controls { display: flex; justify-content: center; align-items: center; }

/* Brush SVG */
.rm-bottombar .rm-brush { width: 100%; }
.rm-bottombar .rm-brush .rm-selected-block.disabled { pointer-events: none; }
.rm-bottombar .rm-brush svg {
  width: 100%;
  height: var(--rm-bottombar-content-height);
  background: var(--rm-basic-5);
}
.rm-bottombar .rm-brush svg .rm-handlers .rm-range-dot {
  cy: 57px; r: 6;
  fill: var(--rm-green-1);
  stroke: var(--rm-green-2);
  stroke-width: 1px;
}
.rm-bottombar .rm-brush svg .rm-handlers .rm-range-line {
  stroke: var(--rm-green-2);
  stroke-width: 3px;
}
.rm-bottombar .rm-brush svg .rm-selection .rm-block {
  height: 57px;
  fill: var(--rm-green-1);
  opacity: 0.65;
}
.rm-bottombar .rm-brush svg .rm-selection.rm-play-pointer .rm-block { fill: var(--rm-basic-5); }
/* Selected-timeframe boundary dots are drawn last and must stay fully visible on
   top of the moving play-pointer during playback (start/end markers). */
.rm-bottombar .rm-brush svg .rm-handlers--selection .rm-range-dot { opacity: 1; }
.rm-bottombar .rm-brush svg .rm-handlers--selection .rm-range-line { opacity: 1; }
.rm-bottombar .rm-brush svg .rm-axis .rm-tick line { stroke: #aaaaaa; }
.rm-bottombar .rm-brush svg .rm-axis .rm-tick text { font-size: 9px; fill: #555555; }
.rm-bottombar .rm-brush.rm-play-mode svg { background: var(--rm-blueish-2); transition: 0.4s; }

/* ===== Popper / Popup ===== */
.rm-popper[data-placement^='top'] { margin-bottom: 15px; }
.rm-popper[data-placement^='bottom'] { margin-top: 10px; margin-bottom: 0; }
.rm-popper .rm-popper-arrow { border-color: var(--rm-basic-4); width: 0; height: 0; border-style: solid; position: absolute; margin: 10px; }
.rm-popper[data-placement^='top'] .rm-popper-arrow {
  border-width: 10px 10px 0 10px;
  border-color: var(--rm-basic-4) transparent transparent transparent;
  bottom: -10px; left: calc(50% - 10px); margin-top: 0; margin-bottom: 0;
}
.rm-popper[data-placement^='bottom'] .rm-popper-arrow {
  border-width: 0 10px 10px 10px;
  border-left-color: transparent; border-right-color: transparent; border-top-color: transparent;
  top: -10px; left: calc(50% - 10px); margin-top: 0; margin-bottom: 0;
}

.rm-popup {
  padding: 10px;
  background: var(--rm-blueish-1);
  color: var(--rm-text-main);
  font-size: 12px;
  border-radius: 5px;
  box-shadow: 0 2px 8px var(--rm-shadow-0);
  border: 1px solid var(--rm-border);
  z-index: 3;
}
.rm-popup.rm-popper {
  padding: 5px;
  background: var(--rm-basic-2);
  box-shadow: 0 2px 8px var(--rm-shadow-0);
  border: 1px solid var(--rm-border);
  line-height: 20px;
  color: var(--rm-text-main);
}
.rm-popup-body { pointer-events: none; }

span.rm-dark {
  font-weight: 600; color: var(--rm-green-1);
  background: #fff; border: 1px solid var(--rm-border);
  border-radius: 3px; padding: 2px 6px;
}
span.rm-maleColor {
  color: white; background: #1d64b7;
  border-radius: 50px; height: 12px; width: 12px; display: inline-block; text-align: center;
}
span.rm-femaleColor {
  color: white; background: #b71d86;
  border-radius: 50px; height: 12px; width: 12px; display: inline-block; text-align: center;
}
span.rm-staffColor {
  color: white; background: #f59325;
  border-radius: 50px; height: 12px; width: 12px; display: inline-block; text-align: center;
}
span.rm-unknownColor {
  color: white; background: #9b9b9b;
  border-radius: 50px; height: 12px; width: 12px; display: inline-block; text-align: center;
}
span.rm-light {
  font-weight: 600; color: var(--rm-green-1);
  background: #fff; border: 1px solid var(--rm-border); border-radius: 3px; padding: 2px 6px;
}

.rm-popup.rm-popper.rm-help {
  padding: 10px;
  background: #ffffff;
  box-shadow: 0 4px 12px var(--rm-shadow-0);
  border: 1px solid var(--rm-border);
  color: var(--rm-text-main);
  display: flex;
  flex-flow: column;
}
.rm-popup.rm-popper.rm-help div { display: flex; flex-flow: column; }
.rm-popper[data-placement^='bottom'].rm-help .rm-popper-arrow { border-bottom-color: #ffffff; }
.rm-popper[data-placement^='top'].rm-help .rm-popper-arrow { border-top-color: #ffffff; }

.rm-alert { fill: #ff5b57; opacity: 0.3; cursor: default; }
.rm-alert.rm-geofence { fill: #7ed321; }

/* ===== General ===== */
.rm-wrapper {
  height: 100%;
  overflow: hidden;
  background: var(--rm-basic-5);
  position: relative;
  font-family: 'Helvetica', sans-serif;
  user-select: none;
  border-radius: inherit;
  border: 1px solid var(--rm-border);
  box-sizing: border-box;
}

.rm-initial-loader {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--rm-basic-5);
  z-index: 100;
}

.rm-app {
  position: relative;
  width: 100%;
  height: 100%;
}

.rm-topbar {
  display: flex;
  align-items: center;
  box-sizing: border-box;
  padding: 0 10px;
  gap: 6px;
}

.rm-topbar__people-button {
  background-color: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 13px;
  color: var(--rm-text-muted);
  transition: var(--rm-duration-1);
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  white-space: nowrap;
}
.rm-topbar__people-button:hover { color: var(--rm-green-1); }
.rm-topbar__people-button--active { color: var(--rm-green-1); font-weight: 600; }

.rm-topbar__minimap-button {
  background-color: transparent;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 13px;
  color: var(--rm-text-muted);
  transition: var(--rm-duration-1);
  border: none;
  cursor: pointer;
  flex-shrink: 0;
  white-space: nowrap;
}
.rm-topbar__minimap-button:hover { color: var(--rm-green-1); }
.rm-topbar__minimap-button--active { color: var(--rm-green-1); font-weight: 600; }

/* People menu tabs */
.rm-people-menu__tabs { display: flex; }
.rm-people-menu__tab {
  width: 50%;
  padding: 10px 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  /* background: var(--rm-basic-4); */
  color: var(--rm-text-muted);
  font-size: 12px;
  text-transform: capitalize;
  border-bottom: 2px solid var(--rm-border);
  cursor: pointer;
  transition: color var(--rm-duration-1);
}
.rm-people-menu__tab:hover { color: var(--rm-green-1); }
.rm-people-menu__tab.selected {
  background: var(--rm-basic-0);
  border-bottom: 2px solid var(--rm-green-1);
  color: var(--rm-green-1);
  font-weight: 600;
  z-index: 1;
}

.rm-people_menu__search-bar {
  width: calc(100% - 20px);
  height: 28px;
  margin: 8px 10px;
  display: flex;
  align-items: center;
  padding: 0 10px;
  border: 1px solid var(--rm-border);
  border-radius: 100px;
  outline: none;
  background: var(--rm-basic-4);
  font-size: 11px;
  color: var(--rm-text-main);
  transition: border-color var(--rm-duration-1);
  box-sizing: border-box;
  flex-shrink: 0;
}
.rm-people_menu__search-bar:focus-within { border-color: var(--rm-green-1); }
.rm-people_menu__search-bar input[type='text'] {
  width: 90%; border: none; outline: none; background: transparent; color: var(--rm-text-main);
}
.rm-people_menu__search-bar .rm-clear {
  padding: 0; width: 18px; height: 18px; border: none; outline: none; cursor: pointer; background: transparent;
}

.rm-people-menu__select-all {
  padding: 6px 12px;
  height: auto;
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--rm-text-muted);
  position: relative;
  z-index: 2;
  border-bottom: 1px solid var(--rm-border);
  background: var(--rm-basic-4);
  flex-shrink: 0;
}
.rm-people-menu__select-all input[type='checkbox'] {
  position: absolute; opacity: 0; pointer-events: none;
}

/* Selected people list */
.rm-selected-people {
  flex: 1;
  min-width: 0;
  height: 25px;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
  mask-image: linear-gradient(to right, transparent 0, black 18px, black calc(100% - 18px), transparent 100%);
  -webkit-mask-image: linear-gradient(to right, transparent 0, black 18px, black calc(100% - 18px), transparent 100%);
}
.rm-selected-people::-webkit-scrollbar { display: none; }
.rm-selected-people__marker--not-present { opacity: 0.5; }

/* Overlay */
.rm-overlay {
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  transition: opacity var(--rm-duration-1);
  background: var(--rm-green-1);
  color: #ffffff;
  font-size: 26px;
  opacity: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

div.rm-popup-trigger {
  display: flex;
  justify-content: center;
  align-items: center;
}

.rm-help-button {
  background: transparent;
  color: var(--rm-text-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  cursor: pointer;
  padding: 0;
  line-height: 1;
  vertical-align: middle;
  flex-shrink: 0;
}
.rm-help-button i { font-size: 15px; line-height: 1; }
.rm-help-button:hover { color: var(--rm-green-1); }

.rm-alerts-list { padding: 0; list-style: none; }
.rm-alerts-list li { padding: 5px 0; }
.rm-alerts-title { font-size: 13px; font-weight: 600; margin: 0 0 4px; line-height: 1.3; }

.rm-carousel__dots { display: flex; flex-flow: row!important; align-items: center; justify-content: center; }
.rm-carousel__dot {
  border-radius: 12px; width: 14px; height: 14px;
  background: var(--rm-basic-3); margin: 10px; border: none; cursor: pointer;
}
.rm-carousel__dot--selected { background: var(--rm-green-1); }

.rm-multi-map-wrapper {
  display: flex;
  flex-wrap: wrap;
  background: var(--rm-basic-5);
  transition: all var(--rm-duration-1);
}

.rm-scroll-y { overflow-y: auto; }

/* Transitions */
.rm-slide-right-transition { transition: transform 300ms; }
.rm-slide-left-transition { transition: transform 300ms; }
.rm-fade-transition { transition: opacity 300ms; }

/* person labels in popups */
p.rm-person--staff { padding: 2px 5px; margin: 4px 0; border-radius: 3px; background: var(--rm-orange-1); color: #fff; }
p.rm-person--female { padding: 2px 5px; margin: 4px 0; border-radius: 3px; background: #b71d86; color: #fff; }
p.rm-person--male { padding: 2px 5px; margin: 4px 0; border-radius: 3px; background: #1d64b7; color: #fff; }
p.rm-person--unknown { padding: 2px 5px; margin: 4px 0; border-radius: 3px; background: #9b9b9b; color: #fff; }

/* Picker labels */
.rm-picker-label {
  display: inline-flex;
  align-items: center;
  background: var(--rm-green-1);
  color: #ffffff;
  font-size: 9px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  padding: 2px 8px;
  border-radius: 10px;
  margin: 0 6px 0 10px;
  white-space: nowrap;
  line-height: 1.6;
}
.rm-picker-arrow {
  color: var(--rm-green-1);
  font-size: 14px;
  margin: 0 4px;
  opacity: 0.8;
}

/* Date trigger button */
.rm-date-trigger {
  cursor: pointer;
  color: var(--rm-text-main);
  background: #fff8f0;
  padding: 4px 14px;
  border-radius: 9px;
  font-size: 12px;
  font-weight: 500 !important;
  white-space: nowrap;
  border: 1.5px solid rgba(245, 147, 37, 0.3);
  transition: border-color var(--rm-duration-1), box-shadow var(--rm-duration-1), background var(--rm-duration-1);
  position: relative;
}
.rm-date-trigger:hover {
  border-color: var(--rm-green-1);
  background: #fff0de;
  box-shadow: 0 0 0 3px rgba(245, 147, 37, 0.15);
}
.rm-date-btn-wrapper {
  position: relative;
  display: inline-flex;
}
.rm-date-btn-wrapper[data-tooltip]:hover::after {
  content: attr(data-tooltip);
  position: absolute;
  bottom: calc(100% + 7px);
  left: 50%;
  transform: translateX(-50%);
  background: var(--rm-green-1);
  color: #ffffff;
  font-size: 10px;
  font-weight: 600;
  white-space: nowrap;
  padding: 4px 9px;
  border-radius: 4px;
  pointer-events: none;
  z-index: 9999;
  letter-spacing: 0.3px;
  box-shadow: 0 2px 6px rgba(245, 147, 37, 0.35);
}
.rm-date-btn-wrapper[data-tooltip]:hover::before {
  content: '';
  position: absolute;
  bottom: calc(100% + 2px);
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: var(--rm-green-1);
  pointer-events: none;
  z-index: 9999;
}

/* react-datepicker light theme */
.rm-datepicker-dark,
.rm-datepicker-dark .react-datepicker__month-container {
  background-color: var(--rm-basic-0);
  border: 1px solid var(--rm-border);
  color: var(--rm-text-main);
  font-family: inherit;
}
.rm-datepicker-dark .react-datepicker__header {
  background-color: var(--rm-basic-4);
  border-bottom: 1px solid var(--rm-border);
}
.rm-datepicker-dark .react-datepicker__current-month,
.rm-datepicker-dark .react-datepicker-time__header,
.rm-datepicker-dark .react-datepicker__day-name {
  color: var(--rm-text-main);
}
.rm-datepicker-dark .react-datepicker__day,
.rm-datepicker-dark .react-datepicker__day:focus,
.rm-datepicker-dark .react-datepicker__day:focus-visible,
.rm-datepicker-dark .react-datepicker__month-text:focus,
.rm-datepicker-dark .react-datepicker__month-text:focus-visible,
.rm-datepicker-dark .react-datepicker__year-text:focus,
.rm-datepicker-dark .react-datepicker__year-text:focus-visible {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
  color: var(--rm-text-main);
  border-radius: 4px;
}
.rm-datepicker-dark .react-datepicker__day:hover {
  background-color: #fff0de;
}
.rm-datepicker-dark .react-datepicker__day--selected,
.rm-datepicker-dark .react-datepicker__day--selected:focus,
.rm-datepicker-dark .react-datepicker__day--selected:focus-visible {
  background-color: var(--rm-green-1) !important;
  color: #ffffff !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
.rm-datepicker-dark .react-datepicker__day--keyboard-selected,
.rm-datepicker-dark .react-datepicker__day--keyboard-selected:focus,
.rm-datepicker-dark .react-datepicker__day--keyboard-selected:focus-visible {
  background-color: transparent !important;
  color: var(--rm-text-main) !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
.rm-datepicker-dark .react-datepicker__day--today {
  background-color: rgba(245, 147, 37, 0.12) !important;
  color: var(--rm-green-1) !important;
  font-weight: 700;
  border: none !important;
  outline: none !important;
}
.rm-datepicker-dark .react-datepicker__day--today.react-datepicker__day--selected {
  background-color: var(--rm-green-1) !important;
  color: #ffffff !important;
}
.rm-datepicker-dark .react-datepicker__day--disabled {
  color: var(--rm-basic-3);
}
.rm-datepicker-dark .react-datepicker__day--outside-month {
  color: var(--rm-basic-3);
}
.rm-datepicker-dark .react-datepicker__navigation-icon::before {
  border-color: var(--rm-text-muted);
}
.rm-datepicker-dark .react-datepicker__navigation:hover .react-datepicker__navigation-icon::before {
  border-color: var(--rm-green-1);
}
.rm-datepicker-dark .react-datepicker__time-container {
  border-left: 1px solid var(--rm-border);
  background-color: var(--rm-basic-0);
}
.rm-datepicker-dark .react-datepicker__time {
  background-color: var(--rm-basic-0);
}
.rm-datepicker-dark .react-datepicker__time-list-item {
  color: var(--rm-text-main);
}
.rm-datepicker-dark .react-datepicker__time-list-item:hover {
  background-color: #fff0de !important;
}
.rm-datepicker-dark .react-datepicker__time-list-item--selected {
  background-color: var(--rm-green-1) !important;
  color: #ffffff !important;
}
.rm-datepicker-dark .react-datepicker__triangle {
  display: none;
}

/* portal z-index */
#rm-datepicker-portal {
  position: relative;
  z-index: 99999;
}

/* ── Custom drill-down header ──────────────────────────────────────────────── */
.rm-dp-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 2px 6px;
  gap: 4px;
}
.rm-dp-nav {
  background: transparent;
  border: 1px solid var(--rm-border);
  border-radius: 3px;
  cursor: pointer;
  color: var(--rm-text-main);
  padding: 0 8px;
  font-size: 15px;
  line-height: 1.5;
  transition: color var(--rm-duration-1), border-color var(--rm-duration-1);
}
.rm-dp-nav:hover:not(:disabled) { border-color: var(--rm-green-1); color: var(--rm-green-1); }
.rm-dp-nav:disabled { opacity: 0.35; cursor: not-allowed; }
.rm-dp-month-btn,
.rm-dp-year-btn {
  cursor: pointer;
  font-size: 12px;
  font-weight: 600;
  color: var(--rm-text-main);
  padding: 2px 6px;
  border-radius: 3px;
  transition: color var(--rm-duration-1), background var(--rm-duration-1);
}
.rm-dp-month-btn:hover,
.rm-dp-year-btn:hover { color: var(--rm-green-1); background: rgba(245,147,37,0.1); }

/* ── Month picker cells ──────────────────────────────────────────────────────── */
.rm-datepicker-dark .react-datepicker__month .react-datepicker__month-text,
.rm-datepicker-dark .react-datepicker__month-text {
  color: var(--rm-text-main);
  border-radius: 4px;
  padding: 5px 4px;
  font-size: 12px;
}
.rm-datepicker-dark .react-datepicker__month-text:not([aria-disabled=true]):hover {
  background-color: rgba(245,147,37,0.12);
  color: var(--rm-green-1);
}
.rm-datepicker-dark .react-datepicker__month-text--selected {
  background-color: var(--rm-green-1) !important;
  color: #ffffff !important;
}
.rm-datepicker-dark .react-datepicker__month-text--keyboard-selected {
  background-color: rgba(245,147,37,0.25);
  color: var(--rm-text-main);
}
.rm-datepicker-dark .react-datepicker__month-text[aria-disabled=true] {
  color: var(--rm-basic-3);
  cursor: not-allowed;
}

/* ── Year picker cells ───────────────────────────────────────────────────────── */
.rm-datepicker-dark .react-datepicker__year .react-datepicker__year-text,
.rm-datepicker-dark .react-datepicker__year-text {
  color: var(--rm-text-main);
  border-radius: 4px;
  padding: 5px 4px;
  font-size: 12px;
}
.rm-datepicker-dark .react-datepicker__year-text:not([aria-disabled=true]):hover {
  background-color: rgba(245,147,37,0.12);
  color: var(--rm-green-1);
}
.rm-datepicker-dark .react-datepicker__year-text--selected {
  background-color: var(--rm-green-1) !important;
  color: #ffffff !important;
}
.rm-datepicker-dark .react-datepicker__year-text--keyboard-selected {
  background-color: rgba(245,147,37,0.25);
  color: var(--rm-text-main);
}
.rm-datepicker-dark .react-datepicker__year-text[aria-disabled=true] {
  color: var(--rm-basic-3);
  cursor: not-allowed;
}

/* ── Month/Year picker layout & navigation ───────────────────────────────────── */
.rm-datepicker-dark .react-datepicker__year-wrapper {
  max-width: 180px;
  justify-content: center;
}
.rm-datepicker-dark .react-datepicker__navigation { top: 6px; }
.rm-datepicker-dark .react-datepicker__navigation-icon::before {
  border-color: var(--rm-text-muted);
  border-width: 2px 2px 0 0;
}
.rm-datepicker-dark .react-datepicker__navigation:hover .react-datepicker__navigation-icon::before {
  border-color: var(--rm-green-1);
}
.rm-datepicker-dark .react-datepicker__current-month {
  font-size: 12px;
  font-weight: 600;
  color: var(--rm-text-main);
  padding: 4px 0;
}

/* ===== Zoom Controls ===== */
.rm-zoom-controls {
  position: absolute;
  bottom: 12px;
  right: 12px;
  display: flex;
  flex-direction: row;
  gap: 4px;
  z-index: 2;
}
.rm-zoom-btn {
  width: 28px;
  height: 28px;
  border: 1px solid var(--rm-green-2);
  border-radius: 4px;
  background: #fff5eb;
  color: var(--rm-text-main);
  font-size: 13px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 1px 4px var(--rm-shadow-0);
  transition: background var(--rm-duration-1), color var(--rm-duration-1);
}
.rm-zoom-btn:hover { background: var(--rm-green-1); color: #fff; border-color: var(--rm-green-1); }
.rm-zoom-btn:disabled { opacity: 0.45; cursor: not-allowed; }
.rm-zoom-btn:disabled:hover { background: #fff5eb; color: var(--rm-text-main); border-color: var(--rm-green-2); }
.rm-zoom-btn .pi { font-size: 11px; line-height: 1; }

/* ===== Carousel nav arrows ===== */
.rm-carousel__nav {
  background: transparent;
  border: 1px solid var(--rm-text-main);
  border-radius: 50%;
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: var(--rm-text-main);
  font-weight: 700;
  padding: 0;
  font-size: 16px;
  line-height: 1;
  transition: color var(--rm-duration-1), border-color var(--rm-duration-1), background var(--rm-duration-1);
  flex-shrink: 0;
}
.rm-carousel__nav:hover:not(:disabled) { color: var(--rm-green-1); border-color: var(--rm-green-1); background: rgba(245,147,37,0.08); }
.rm-carousel__nav:disabled { opacity: 0.3; cursor: not-allowed; border-color: var(--rm-border); }

/* Help popup — allow flex in li items */
.rm-popup.rm-popper.rm-help ul li { display: list-item; }
.rm-popup.rm-popper.rm-help ul li[style*="flex"] { display: flex; }

.breadcrumb-divider {
  border: none;
  border-top: 1px solid #707478;
  margin-top: 12px;
  margin-bottom: 16px;
}
@charset "UTF-8";/*!
 * Bootstrap  v5.3.8 (https://getbootstrap.com/)
 * Copyright 2011-2025 The Bootstrap Authors
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
 */:root,[data-bs-theme=light]{--bs-blue:#0d6efd;--bs-indigo:#6610f2;--bs-purple:#6f42c1;--bs-pink:#d63384;--bs-red:#dc3545;--bs-orange:#fd7e14;--bs-yellow:#ffc107;--bs-green:#198754;--bs-teal:#20c997;--bs-cyan:#0dcaf0;--bs-black:#000;--bs-white:#fff;--bs-gray:#6c757d;--bs-gray-dark:#343a40;--bs-gray-100:#f8f9fa;--bs-gray-200:#e9ecef;--bs-gray-300:#dee2e6;--bs-gray-400:#ced4da;--bs-gray-500:#adb5bd;--bs-gray-600:#6c757d;--bs-gray-700:#495057;--bs-gray-800:#343a40;--bs-gray-900:#212529;--bs-primary:#0d6efd;--bs-secondary:#6c757d;--bs-success:#198754;--bs-info:#0dcaf0;--bs-warning:#ffc107;--bs-danger:#dc3545;--bs-light:#f8f9fa;--bs-dark:#212529;--bs-primary-rgb:13,110,253;--bs-secondary-rgb:108,117,125;--bs-success-rgb:25,135,84;--bs-info-rgb:13,202,240;--bs-warning-rgb:255,193,7;--bs-danger-rgb:220,53,69;--bs-light-rgb:248,249,250;--bs-dark-rgb:33,37,41;--bs-primary-text-emphasis:#052c65;--bs-secondary-text-emphasis:#2b2f32;--bs-success-text-emphasis:#0a3622;--bs-info-text-emphasis:#055160;--bs-warning-text-emphasis:#664d03;--bs-danger-text-emphasis:#58151c;--bs-light-text-emphasis:#495057;--bs-dark-text-emphasis:#495057;--bs-primary-bg-subtle:#cfe2ff;--bs-secondary-bg-subtle:#e2e3e5;--bs-success-bg-subtle:#d1e7dd;--bs-info-bg-subtle:#cff4fc;--bs-warning-bg-subtle:#fff3cd;--bs-danger-bg-subtle:#f8d7da;--bs-light-bg-subtle:#fcfcfd;--bs-dark-bg-subtle:#ced4da;--bs-primary-border-subtle:#9ec5fe;--bs-secondary-border-subtle:#c4c8cb;--bs-success-border-subtle:#a3cfbb;--bs-info-border-subtle:#9eeaf9;--bs-warning-border-subtle:#ffe69c;--bs-danger-border-subtle:#f1aeb5;--bs-light-border-subtle:#e9ecef;--bs-dark-border-subtle:#adb5bd;--bs-white-rgb:255,255,255;--bs-black-rgb:0,0,0;--bs-font-sans-serif:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans","Liberation Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--bs-font-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--bs-gradient:linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0));--bs-body-font-family:var(--bs-font-sans-serif);--bs-body-font-size:1rem;--bs-body-font-weight:400;--bs-body-line-height:1.5;--bs-body-color:#212529;--bs-body-color-rgb:33,37,41;--bs-body-bg:#fff;--bs-body-bg-rgb:255,255,255;--bs-emphasis-color:#000;--bs-emphasis-color-rgb:0,0,0;--bs-secondary-color:rgba(33, 37, 41, 0.75);--bs-secondary-color-rgb:33,37,41;--bs-secondary-bg:#e9ecef;--bs-secondary-bg-rgb:233,236,239;--bs-tertiary-color:rgba(33, 37, 41, 0.5);--bs-tertiary-color-rgb:33,37,41;--bs-tertiary-bg:#f8f9fa;--bs-tertiary-bg-rgb:248,249,250;--bs-heading-color:inherit;--bs-link-color:#0d6efd;--bs-link-color-rgb:13,110,253;--bs-link-decoration:underline;--bs-link-hover-color:#0a58ca;--bs-link-hover-color-rgb:10,88,202;--bs-code-color:#d63384;--bs-highlight-color:#212529;--bs-highlight-bg:#fff3cd;--bs-border-width:1px;--bs-border-style:solid;--bs-border-color:#dee2e6;--bs-border-color-translucent:rgba(0, 0, 0, 0.175);--bs-border-radius:0.375rem;--bs-border-radius-sm:0.25rem;--bs-border-radius-lg:0.5rem;--bs-border-radius-xl:1rem;--bs-border-radius-xxl:2rem;--bs-border-radius-2xl:var(--bs-border-radius-xxl);--bs-border-radius-pill:50rem;--bs-box-shadow:0 0.5rem 1rem rgba(0, 0, 0, 0.15);--bs-box-shadow-sm:0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);--bs-box-shadow-lg:0 1rem 3rem rgba(0, 0, 0, 0.175);--bs-box-shadow-inset:inset 0 1px 2px rgba(0, 0, 0, 0.075);--bs-focus-ring-width:0.25rem;--bs-focus-ring-opacity:0.25;--bs-focus-ring-color:rgba(13, 110, 253, 0.25);--bs-form-valid-color:#198754;--bs-form-valid-border-color:#198754;--bs-form-invalid-color:#dc3545;--bs-form-invalid-border-color:#dc3545}[data-bs-theme=dark]{color-scheme:dark;--bs-body-color:#dee2e6;--bs-body-color-rgb:222,226,230;--bs-body-bg:#212529;--bs-body-bg-rgb:33,37,41;--bs-emphasis-color:#fff;--bs-emphasis-color-rgb:255,255,255;--bs-secondary-color:rgba(222, 226, 230, 0.75);--bs-secondary-color-rgb:222,226,230;--bs-secondary-bg:#343a40;--bs-secondary-bg-rgb:52,58,64;--bs-tertiary-color:rgba(222, 226, 230, 0.5);--bs-tertiary-color-rgb:222,226,230;--bs-tertiary-bg:#2b3035;--bs-tertiary-bg-rgb:43,48,53;--bs-primary-text-emphasis:#6ea8fe;--bs-secondary-text-emphasis:#a7acb1;--bs-success-text-emphasis:#75b798;--bs-info-text-emphasis:#6edff6;--bs-warning-text-emphasis:#ffda6a;--bs-danger-text-emphasis:#ea868f;--bs-light-text-emphasis:#f8f9fa;--bs-dark-text-emphasis:#dee2e6;--bs-primary-bg-subtle:#031633;--bs-secondary-bg-subtle:#161719;--bs-success-bg-subtle:#051b11;--bs-info-bg-subtle:#032830;--bs-warning-bg-subtle:#332701;--bs-danger-bg-subtle:#2c0b0e;--bs-light-bg-subtle:#343a40;--bs-dark-bg-subtle:#1a1d20;--bs-primary-border-subtle:#084298;--bs-secondary-border-subtle:#41464b;--bs-success-border-subtle:#0f5132;--bs-info-border-subtle:#087990;--bs-warning-border-subtle:#997404;--bs-danger-border-subtle:#842029;--bs-light-border-subtle:#495057;--bs-dark-border-subtle:#343a40;--bs-heading-color:inherit;--bs-link-color:#6ea8fe;--bs-link-hover-color:#8bb9fe;--bs-link-color-rgb:110,168,254;--bs-link-hover-color-rgb:139,185,254;--bs-code-color:#e685b5;--bs-highlight-color:#dee2e6;--bs-highlight-bg:#664d03;--bs-border-color:#495057;--bs-border-color-translucent:rgba(255, 255, 255, 0.15);--bs-form-valid-color:#75b798;--bs-form-valid-border-color:#75b798;--bs-form-invalid-color:#ea868f;--bs-form-invalid-border-color:#ea868f}*,::after,::before{box-sizing:border-box}@media (prefers-reduced-motion:no-preference){:root{scroll-behavior:smooth}}body{margin:0;font-family:var(--bs-body-font-family);font-size:var(--bs-body-font-size);font-weight:var(--bs-body-font-weight);line-height:var(--bs-body-line-height);color:var(--bs-body-color);text-align:var(--bs-body-text-align);background-color:var(--bs-body-bg);-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}hr{margin:1rem 0;color:inherit;border:0;border-top:var(--bs-border-width) solid;opacity:.25}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem;font-weight:500;line-height:1.2;color:var(--bs-heading-color)}.h1,h1{font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.h1,h1{font-size:2.5rem}}.h2,h2{font-size:calc(1.325rem + .9vw)}@media (min-width:1200px){.h2,h2{font-size:2rem}}.h3,h3{font-size:calc(1.3rem + .6vw)}@media (min-width:1200px){.h3,h3{font-size:1.75rem}}.h4,h4{font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){.h4,h4{font-size:1.5rem}}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}p{margin-top:0;margin-bottom:1rem}abbr[title]{-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}ol,ul{padding-left:2rem}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}.small,small{font-size:.875em}.mark,mark{padding:.1875em;color:var(--bs-highlight-color);background-color:var(--bs-highlight-bg)}sub,sup{position:relative;font-size:.75em;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,1));text-decoration:underline}a:hover{--bs-link-color-rgb:var(--bs-link-hover-color-rgb)}a:not([href]):not([class]),a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:var(--bs-font-monospace);font-size:1em}pre{display:block;margin-top:0;margin-bottom:1rem;overflow:auto;font-size:.875em}pre code{font-size:inherit;color:inherit;word-break:normal}code{font-size:.875em;color:var(--bs-code-color);word-wrap:break-word}a>code{color:inherit}kbd{padding:.1875rem .375rem;font-size:.875em;color:var(--bs-body-bg);background-color:var(--bs-body-color);border-radius:.25rem}kbd kbd{padding:0;font-size:1em}figure{margin:0 0 1rem}img,svg{vertical-align:middle}table{caption-side:bottom;border-collapse:collapse}caption{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-secondary-color);text-align:left}th{text-align:inherit;text-align:-webkit-match-parent}tbody,td,tfoot,th,thead,tr{border-color:inherit;border-style:solid;border-width:0}label{display:inline-block}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}select:disabled{opacity:1}[list]:not([type=date]):not([type=datetime-local]):not([type=month]):not([type=week]):not([type=time])::-webkit-calendar-picker-indicator{display:none!important}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}::-moz-focus-inner{padding:0;border-style:none}textarea{resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{float:left;width:100%;padding:0;margin-bottom:.5rem;line-height:inherit;font-size:calc(1.275rem + .3vw)}@media (min-width:1200px){legend{font-size:1.5rem}}legend+*{clear:left}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-fields-wrapper,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-text,::-webkit-datetime-edit-year-field{padding:0}::-webkit-inner-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}[type=search]::-webkit-search-cancel-button{cursor:pointer;filter:grayscale(1)}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-color-swatch-wrapper{padding:0}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}::file-selector-button{font:inherit;-webkit-appearance:button}output{display:inline-block}iframe{border:0}summary{display:list-item;cursor:pointer}progress{vertical-align:baseline}[hidden]{display:none!important}.lead{font-size:1.25rem;font-weight:300}.display-1{font-weight:300;line-height:1.2;font-size:calc(1.625rem + 4.5vw)}@media (min-width:1200px){.display-1{font-size:5rem}}.display-2{font-weight:300;line-height:1.2;font-size:calc(1.575rem + 3.9vw)}@media (min-width:1200px){.display-2{font-size:4.5rem}}.display-3{font-weight:300;line-height:1.2;font-size:calc(1.525rem + 3.3vw)}@media (min-width:1200px){.display-3{font-size:4rem}}.display-4{font-weight:300;line-height:1.2;font-size:calc(1.475rem + 2.7vw)}@media (min-width:1200px){.display-4{font-size:3.5rem}}.display-5{font-weight:300;line-height:1.2;font-size:calc(1.425rem + 2.1vw)}@media (min-width:1200px){.display-5{font-size:3rem}}.display-6{font-weight:300;line-height:1.2;font-size:calc(1.375rem + 1.5vw)}@media (min-width:1200px){.display-6{font-size:2.5rem}}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:.875em;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote>:last-child{margin-bottom:0}.blockquote-footer{margin-top:-1rem;margin-bottom:1rem;font-size:.875em;color:#6c757d}.blockquote-footer::before{content:"— "}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:var(--bs-body-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:.875em;color:var(--bs-secondary-color)}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{--bs-gutter-x:1.5rem;--bs-gutter-y:0;width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}@media (min-width:1400px){.container,.container-lg,.container-md,.container-sm,.container-xl,.container-xxl{max-width:1320px}}:root{--bs-breakpoint-xs:0;--bs-breakpoint-sm:576px;--bs-breakpoint-md:768px;--bs-breakpoint-lg:992px;--bs-breakpoint-xl:1200px;--bs-breakpoint-xxl:1400px}.row{--bs-gutter-x:1.5rem;--bs-gutter-y:0;display:flex;flex-wrap:wrap;margin-top:calc(-1 * var(--bs-gutter-y));margin-right:calc(-.5 * var(--bs-gutter-x));margin-left:calc(-.5 * var(--bs-gutter-x))}.row>*{flex-shrink:0;width:100%;max-width:100%;padding-right:calc(var(--bs-gutter-x) * .5);padding-left:calc(var(--bs-gutter-x) * .5);margin-top:var(--bs-gutter-y)}.col{flex:1 0 0}.row-cols-auto>*{flex:0 0 auto;width:auto}.row-cols-1>*{flex:0 0 auto;width:100%}.row-cols-2>*{flex:0 0 auto;width:50%}.row-cols-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-4>*{flex:0 0 auto;width:25%}.row-cols-5>*{flex:0 0 auto;width:20%}.row-cols-6>*{flex:0 0 auto;width:16.66666667%}.col-auto{flex:0 0 auto;width:auto}.col-1{flex:0 0 auto;width:8.33333333%}.col-2{flex:0 0 auto;width:16.66666667%}.col-3{flex:0 0 auto;width:25%}.col-4{flex:0 0 auto;width:33.33333333%}.col-5{flex:0 0 auto;width:41.66666667%}.col-6{flex:0 0 auto;width:50%}.col-7{flex:0 0 auto;width:58.33333333%}.col-8{flex:0 0 auto;width:66.66666667%}.col-9{flex:0 0 auto;width:75%}.col-10{flex:0 0 auto;width:83.33333333%}.col-11{flex:0 0 auto;width:91.66666667%}.col-12{flex:0 0 auto;width:100%}.offset-1{margin-left:8.33333333%}.offset-2{margin-left:16.66666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.33333333%}.offset-5{margin-left:41.66666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.33333333%}.offset-8{margin-left:66.66666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.33333333%}.offset-11{margin-left:91.66666667%}.g-0,.gx-0{--bs-gutter-x:0}.g-0,.gy-0{--bs-gutter-y:0}.g-1,.gx-1{--bs-gutter-x:0.25rem}.g-1,.gy-1{--bs-gutter-y:0.25rem}.g-2,.gx-2{--bs-gutter-x:0.5rem}.g-2,.gy-2{--bs-gutter-y:0.5rem}.g-3,.gx-3{--bs-gutter-x:1rem}.g-3,.gy-3{--bs-gutter-y:1rem}.g-4,.gx-4{--bs-gutter-x:1.5rem}.g-4,.gy-4{--bs-gutter-y:1.5rem}.g-5,.gx-5{--bs-gutter-x:3rem}.g-5,.gy-5{--bs-gutter-y:3rem}@media (min-width:576px){.col-sm{flex:1 0 0}.row-cols-sm-auto>*{flex:0 0 auto;width:auto}.row-cols-sm-1>*{flex:0 0 auto;width:100%}.row-cols-sm-2>*{flex:0 0 auto;width:50%}.row-cols-sm-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-sm-4>*{flex:0 0 auto;width:25%}.row-cols-sm-5>*{flex:0 0 auto;width:20%}.row-cols-sm-6>*{flex:0 0 auto;width:16.66666667%}.col-sm-auto{flex:0 0 auto;width:auto}.col-sm-1{flex:0 0 auto;width:8.33333333%}.col-sm-2{flex:0 0 auto;width:16.66666667%}.col-sm-3{flex:0 0 auto;width:25%}.col-sm-4{flex:0 0 auto;width:33.33333333%}.col-sm-5{flex:0 0 auto;width:41.66666667%}.col-sm-6{flex:0 0 auto;width:50%}.col-sm-7{flex:0 0 auto;width:58.33333333%}.col-sm-8{flex:0 0 auto;width:66.66666667%}.col-sm-9{flex:0 0 auto;width:75%}.col-sm-10{flex:0 0 auto;width:83.33333333%}.col-sm-11{flex:0 0 auto;width:91.66666667%}.col-sm-12{flex:0 0 auto;width:100%}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.33333333%}.offset-sm-2{margin-left:16.66666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.33333333%}.offset-sm-5{margin-left:41.66666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.33333333%}.offset-sm-8{margin-left:66.66666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.33333333%}.offset-sm-11{margin-left:91.66666667%}.g-sm-0,.gx-sm-0{--bs-gutter-x:0}.g-sm-0,.gy-sm-0{--bs-gutter-y:0}.g-sm-1,.gx-sm-1{--bs-gutter-x:0.25rem}.g-sm-1,.gy-sm-1{--bs-gutter-y:0.25rem}.g-sm-2,.gx-sm-2{--bs-gutter-x:0.5rem}.g-sm-2,.gy-sm-2{--bs-gutter-y:0.5rem}.g-sm-3,.gx-sm-3{--bs-gutter-x:1rem}.g-sm-3,.gy-sm-3{--bs-gutter-y:1rem}.g-sm-4,.gx-sm-4{--bs-gutter-x:1.5rem}.g-sm-4,.gy-sm-4{--bs-gutter-y:1.5rem}.g-sm-5,.gx-sm-5{--bs-gutter-x:3rem}.g-sm-5,.gy-sm-5{--bs-gutter-y:3rem}}@media (min-width:768px){.col-md{flex:1 0 0}.row-cols-md-auto>*{flex:0 0 auto;width:auto}.row-cols-md-1>*{flex:0 0 auto;width:100%}.row-cols-md-2>*{flex:0 0 auto;width:50%}.row-cols-md-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-md-4>*{flex:0 0 auto;width:25%}.row-cols-md-5>*{flex:0 0 auto;width:20%}.row-cols-md-6>*{flex:0 0 auto;width:16.66666667%}.col-md-auto{flex:0 0 auto;width:auto}.col-md-1{flex:0 0 auto;width:8.33333333%}.col-md-2{flex:0 0 auto;width:16.66666667%}.col-md-3{flex:0 0 auto;width:25%}.col-md-4{flex:0 0 auto;width:33.33333333%}.col-md-5{flex:0 0 auto;width:41.66666667%}.col-md-6{flex:0 0 auto;width:50%}.col-md-7{flex:0 0 auto;width:58.33333333%}.col-md-8{flex:0 0 auto;width:66.66666667%}.col-md-9{flex:0 0 auto;width:75%}.col-md-10{flex:0 0 auto;width:83.33333333%}.col-md-11{flex:0 0 auto;width:91.66666667%}.col-md-12{flex:0 0 auto;width:100%}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.33333333%}.offset-md-2{margin-left:16.66666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.33333333%}.offset-md-5{margin-left:41.66666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.33333333%}.offset-md-8{margin-left:66.66666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.33333333%}.offset-md-11{margin-left:91.66666667%}.g-md-0,.gx-md-0{--bs-gutter-x:0}.g-md-0,.gy-md-0{--bs-gutter-y:0}.g-md-1,.gx-md-1{--bs-gutter-x:0.25rem}.g-md-1,.gy-md-1{--bs-gutter-y:0.25rem}.g-md-2,.gx-md-2{--bs-gutter-x:0.5rem}.g-md-2,.gy-md-2{--bs-gutter-y:0.5rem}.g-md-3,.gx-md-3{--bs-gutter-x:1rem}.g-md-3,.gy-md-3{--bs-gutter-y:1rem}.g-md-4,.gx-md-4{--bs-gutter-x:1.5rem}.g-md-4,.gy-md-4{--bs-gutter-y:1.5rem}.g-md-5,.gx-md-5{--bs-gutter-x:3rem}.g-md-5,.gy-md-5{--bs-gutter-y:3rem}}@media (min-width:992px){.col-lg{flex:1 0 0}.row-cols-lg-auto>*{flex:0 0 auto;width:auto}.row-cols-lg-1>*{flex:0 0 auto;width:100%}.row-cols-lg-2>*{flex:0 0 auto;width:50%}.row-cols-lg-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-lg-4>*{flex:0 0 auto;width:25%}.row-cols-lg-5>*{flex:0 0 auto;width:20%}.row-cols-lg-6>*{flex:0 0 auto;width:16.66666667%}.col-lg-auto{flex:0 0 auto;width:auto}.col-lg-1{flex:0 0 auto;width:8.33333333%}.col-lg-2{flex:0 0 auto;width:16.66666667%}.col-lg-3{flex:0 0 auto;width:25%}.col-lg-4{flex:0 0 auto;width:33.33333333%}.col-lg-5{flex:0 0 auto;width:41.66666667%}.col-lg-6{flex:0 0 auto;width:50%}.col-lg-7{flex:0 0 auto;width:58.33333333%}.col-lg-8{flex:0 0 auto;width:66.66666667%}.col-lg-9{flex:0 0 auto;width:75%}.col-lg-10{flex:0 0 auto;width:83.33333333%}.col-lg-11{flex:0 0 auto;width:91.66666667%}.col-lg-12{flex:0 0 auto;width:100%}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.33333333%}.offset-lg-2{margin-left:16.66666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.33333333%}.offset-lg-5{margin-left:41.66666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.33333333%}.offset-lg-8{margin-left:66.66666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.33333333%}.offset-lg-11{margin-left:91.66666667%}.g-lg-0,.gx-lg-0{--bs-gutter-x:0}.g-lg-0,.gy-lg-0{--bs-gutter-y:0}.g-lg-1,.gx-lg-1{--bs-gutter-x:0.25rem}.g-lg-1,.gy-lg-1{--bs-gutter-y:0.25rem}.g-lg-2,.gx-lg-2{--bs-gutter-x:0.5rem}.g-lg-2,.gy-lg-2{--bs-gutter-y:0.5rem}.g-lg-3,.gx-lg-3{--bs-gutter-x:1rem}.g-lg-3,.gy-lg-3{--bs-gutter-y:1rem}.g-lg-4,.gx-lg-4{--bs-gutter-x:1.5rem}.g-lg-4,.gy-lg-4{--bs-gutter-y:1.5rem}.g-lg-5,.gx-lg-5{--bs-gutter-x:3rem}.g-lg-5,.gy-lg-5{--bs-gutter-y:3rem}}@media (min-width:1200px){.col-xl{flex:1 0 0}.row-cols-xl-auto>*{flex:0 0 auto;width:auto}.row-cols-xl-1>*{flex:0 0 auto;width:100%}.row-cols-xl-2>*{flex:0 0 auto;width:50%}.row-cols-xl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xl-4>*{flex:0 0 auto;width:25%}.row-cols-xl-5>*{flex:0 0 auto;width:20%}.row-cols-xl-6>*{flex:0 0 auto;width:16.66666667%}.col-xl-auto{flex:0 0 auto;width:auto}.col-xl-1{flex:0 0 auto;width:8.33333333%}.col-xl-2{flex:0 0 auto;width:16.66666667%}.col-xl-3{flex:0 0 auto;width:25%}.col-xl-4{flex:0 0 auto;width:33.33333333%}.col-xl-5{flex:0 0 auto;width:41.66666667%}.col-xl-6{flex:0 0 auto;width:50%}.col-xl-7{flex:0 0 auto;width:58.33333333%}.col-xl-8{flex:0 0 auto;width:66.66666667%}.col-xl-9{flex:0 0 auto;width:75%}.col-xl-10{flex:0 0 auto;width:83.33333333%}.col-xl-11{flex:0 0 auto;width:91.66666667%}.col-xl-12{flex:0 0 auto;width:100%}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.33333333%}.offset-xl-2{margin-left:16.66666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.33333333%}.offset-xl-5{margin-left:41.66666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.33333333%}.offset-xl-8{margin-left:66.66666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.33333333%}.offset-xl-11{margin-left:91.66666667%}.g-xl-0,.gx-xl-0{--bs-gutter-x:0}.g-xl-0,.gy-xl-0{--bs-gutter-y:0}.g-xl-1,.gx-xl-1{--bs-gutter-x:0.25rem}.g-xl-1,.gy-xl-1{--bs-gutter-y:0.25rem}.g-xl-2,.gx-xl-2{--bs-gutter-x:0.5rem}.g-xl-2,.gy-xl-2{--bs-gutter-y:0.5rem}.g-xl-3,.gx-xl-3{--bs-gutter-x:1rem}.g-xl-3,.gy-xl-3{--bs-gutter-y:1rem}.g-xl-4,.gx-xl-4{--bs-gutter-x:1.5rem}.g-xl-4,.gy-xl-4{--bs-gutter-y:1.5rem}.g-xl-5,.gx-xl-5{--bs-gutter-x:3rem}.g-xl-5,.gy-xl-5{--bs-gutter-y:3rem}}@media (min-width:1400px){.col-xxl{flex:1 0 0}.row-cols-xxl-auto>*{flex:0 0 auto;width:auto}.row-cols-xxl-1>*{flex:0 0 auto;width:100%}.row-cols-xxl-2>*{flex:0 0 auto;width:50%}.row-cols-xxl-3>*{flex:0 0 auto;width:33.33333333%}.row-cols-xxl-4>*{flex:0 0 auto;width:25%}.row-cols-xxl-5>*{flex:0 0 auto;width:20%}.row-cols-xxl-6>*{flex:0 0 auto;width:16.66666667%}.col-xxl-auto{flex:0 0 auto;width:auto}.col-xxl-1{flex:0 0 auto;width:8.33333333%}.col-xxl-2{flex:0 0 auto;width:16.66666667%}.col-xxl-3{flex:0 0 auto;width:25%}.col-xxl-4{flex:0 0 auto;width:33.33333333%}.col-xxl-5{flex:0 0 auto;width:41.66666667%}.col-xxl-6{flex:0 0 auto;width:50%}.col-xxl-7{flex:0 0 auto;width:58.33333333%}.col-xxl-8{flex:0 0 auto;width:66.66666667%}.col-xxl-9{flex:0 0 auto;width:75%}.col-xxl-10{flex:0 0 auto;width:83.33333333%}.col-xxl-11{flex:0 0 auto;width:91.66666667%}.col-xxl-12{flex:0 0 auto;width:100%}.offset-xxl-0{margin-left:0}.offset-xxl-1{margin-left:8.33333333%}.offset-xxl-2{margin-left:16.66666667%}.offset-xxl-3{margin-left:25%}.offset-xxl-4{margin-left:33.33333333%}.offset-xxl-5{margin-left:41.66666667%}.offset-xxl-6{margin-left:50%}.offset-xxl-7{margin-left:58.33333333%}.offset-xxl-8{margin-left:66.66666667%}.offset-xxl-9{margin-left:75%}.offset-xxl-10{margin-left:83.33333333%}.offset-xxl-11{margin-left:91.66666667%}.g-xxl-0,.gx-xxl-0{--bs-gutter-x:0}.g-xxl-0,.gy-xxl-0{--bs-gutter-y:0}.g-xxl-1,.gx-xxl-1{--bs-gutter-x:0.25rem}.g-xxl-1,.gy-xxl-1{--bs-gutter-y:0.25rem}.g-xxl-2,.gx-xxl-2{--bs-gutter-x:0.5rem}.g-xxl-2,.gy-xxl-2{--bs-gutter-y:0.5rem}.g-xxl-3,.gx-xxl-3{--bs-gutter-x:1rem}.g-xxl-3,.gy-xxl-3{--bs-gutter-y:1rem}.g-xxl-4,.gx-xxl-4{--bs-gutter-x:1.5rem}.g-xxl-4,.gy-xxl-4{--bs-gutter-y:1.5rem}.g-xxl-5,.gx-xxl-5{--bs-gutter-x:3rem}.g-xxl-5,.gy-xxl-5{--bs-gutter-y:3rem}}.table{--bs-table-color-type:initial;--bs-table-bg-type:initial;--bs-table-color-state:initial;--bs-table-bg-state:initial;--bs-table-color:var(--bs-emphasis-color);--bs-table-bg:var(--bs-body-bg);--bs-table-border-color:var(--bs-border-color);--bs-table-accent-bg:transparent;--bs-table-striped-color:var(--bs-emphasis-color);--bs-table-striped-bg:rgba(var(--bs-emphasis-color-rgb), 0.05);--bs-table-active-color:var(--bs-emphasis-color);--bs-table-active-bg:rgba(var(--bs-emphasis-color-rgb), 0.1);--bs-table-hover-color:var(--bs-emphasis-color);--bs-table-hover-bg:rgba(var(--bs-emphasis-color-rgb), 0.075);width:100%;margin-bottom:1rem;vertical-align:top;border-color:var(--bs-table-border-color)}.table>:not(caption)>*>*{padding:.5rem .5rem;color:var(--bs-table-color-state,var(--bs-table-color-type,var(--bs-table-color)));background-color:var(--bs-table-bg);border-bottom-width:var(--bs-border-width);box-shadow:inset 0 0 0 9999px var(--bs-table-bg-state,var(--bs-table-bg-type,var(--bs-table-accent-bg)))}.table>tbody{vertical-align:inherit}.table>thead{vertical-align:bottom}.table-group-divider{border-top:calc(var(--bs-border-width) * 2) solid currentcolor}.caption-top{caption-side:top}.table-sm>:not(caption)>*>*{padding:.25rem .25rem}.table-bordered>:not(caption)>*{border-width:var(--bs-border-width) 0}.table-bordered>:not(caption)>*>*{border-width:0 var(--bs-border-width)}.table-borderless>:not(caption)>*>*{border-bottom-width:0}.table-borderless>:not(:first-child){border-top-width:0}.table-striped>tbody>tr:nth-of-type(odd)>*{--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-striped-columns>:not(caption)>tr>:nth-child(2n){--bs-table-color-type:var(--bs-table-striped-color);--bs-table-bg-type:var(--bs-table-striped-bg)}.table-active{--bs-table-color-state:var(--bs-table-active-color);--bs-table-bg-state:var(--bs-table-active-bg)}.table-hover>tbody>tr:hover>*{--bs-table-color-state:var(--bs-table-hover-color);--bs-table-bg-state:var(--bs-table-hover-bg)}.table-primary{--bs-table-color:#000;--bs-table-bg:#cfe2ff;--bs-table-border-color:#a6b5cc;--bs-table-striped-bg:#c5d7f2;--bs-table-striped-color:#000;--bs-table-active-bg:#bacbe6;--bs-table-active-color:#000;--bs-table-hover-bg:#bfd1ec;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-secondary{--bs-table-color:#000;--bs-table-bg:#e2e3e5;--bs-table-border-color:#b5b6b7;--bs-table-striped-bg:#d7d8da;--bs-table-striped-color:#000;--bs-table-active-bg:#cbccce;--bs-table-active-color:#000;--bs-table-hover-bg:#d1d2d4;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-success{--bs-table-color:#000;--bs-table-bg:#d1e7dd;--bs-table-border-color:#a7b9b1;--bs-table-striped-bg:#c7dbd2;--bs-table-striped-color:#000;--bs-table-active-bg:#bcd0c7;--bs-table-active-color:#000;--bs-table-hover-bg:#c1d6cc;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-info{--bs-table-color:#000;--bs-table-bg:#cff4fc;--bs-table-border-color:#a6c3ca;--bs-table-striped-bg:#c5e8ef;--bs-table-striped-color:#000;--bs-table-active-bg:#badce3;--bs-table-active-color:#000;--bs-table-hover-bg:#bfe2e9;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-warning{--bs-table-color:#000;--bs-table-bg:#fff3cd;--bs-table-border-color:#ccc2a4;--bs-table-striped-bg:#f2e7c3;--bs-table-striped-color:#000;--bs-table-active-bg:#e6dbb9;--bs-table-active-color:#000;--bs-table-hover-bg:#ece1be;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-danger{--bs-table-color:#000;--bs-table-bg:#f8d7da;--bs-table-border-color:#c6acae;--bs-table-striped-bg:#eccccf;--bs-table-striped-color:#000;--bs-table-active-bg:#dfc2c4;--bs-table-active-color:#000;--bs-table-hover-bg:#e5c7ca;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-light{--bs-table-color:#000;--bs-table-bg:#f8f9fa;--bs-table-border-color:#c6c7c8;--bs-table-striped-bg:#ecedee;--bs-table-striped-color:#000;--bs-table-active-bg:#dfe0e1;--bs-table-active-color:#000;--bs-table-hover-bg:#e5e6e7;--bs-table-hover-color:#000;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-dark{--bs-table-color:#fff;--bs-table-bg:#212529;--bs-table-border-color:#4d5154;--bs-table-striped-bg:#2c3034;--bs-table-striped-color:#fff;--bs-table-active-bg:#373b3e;--bs-table-active-color:#fff;--bs-table-hover-bg:#323539;--bs-table-hover-color:#fff;color:var(--bs-table-color);border-color:var(--bs-table-border-color)}.table-responsive{overflow-x:auto;-webkit-overflow-scrolling:touch}@media (max-width:575.98px){.table-responsive-sm{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:767.98px){.table-responsive-md{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:991.98px){.table-responsive-lg{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1199.98px){.table-responsive-xl{overflow-x:auto;-webkit-overflow-scrolling:touch}}@media (max-width:1399.98px){.table-responsive-xxl{overflow-x:auto;-webkit-overflow-scrolling:touch}}.form-label{margin-bottom:.5rem}.col-form-label{padding-top:calc(.375rem + var(--bs-border-width));padding-bottom:calc(.375rem + var(--bs-border-width));margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + var(--bs-border-width));padding-bottom:calc(.5rem + var(--bs-border-width));font-size:1.25rem}.col-form-label-sm{padding-top:calc(.25rem + var(--bs-border-width));padding-bottom:calc(.25rem + var(--bs-border-width));font-size:.875rem}.form-text{margin-top:.25rem;font-size:.875em;color:var(--bs-secondary-color)}.form-control{display:block;width:100%;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-clip:padding-box;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control[type=file]{overflow:hidden}.form-control[type=file]:not(:disabled):not([readonly]){cursor:pointer}.form-control:focus{color:var(--bs-body-color);background-color:var(--bs-body-bg);border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-control::-webkit-date-and-time-value{min-width:85px;height:1.5em;margin:0}.form-control::-webkit-datetime-edit{display:block;padding:0}.form-control::placeholder{color:var(--bs-secondary-color);opacity:1}.form-control:disabled{background-color:var(--bs-secondary-bg);opacity:1}.form-control::-webkit-file-upload-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;-webkit-transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}.form-control::file-selector-button{padding:.375rem .75rem;margin:-.375rem -.75rem;-webkit-margin-end:.75rem;margin-inline-end:.75rem;color:var(--bs-body-color);background-color:var(--bs-tertiary-bg);pointer-events:none;border-color:inherit;border-style:solid;border-width:0;border-inline-end-width:var(--bs-border-width);border-radius:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control::-webkit-file-upload-button{-webkit-transition:none;transition:none}.form-control::file-selector-button{transition:none}}.form-control:hover:not(:disabled):not([readonly])::-webkit-file-upload-button{background-color:var(--bs-secondary-bg)}.form-control:hover:not(:disabled):not([readonly])::file-selector-button{background-color:var(--bs-secondary-bg)}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;line-height:1.5;color:var(--bs-body-color);background-color:transparent;border:solid transparent;border-width:var(--bs-border-width) 0}.form-control-plaintext:focus{outline:0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2));padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-control-sm::-webkit-file-upload-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-sm::file-selector-button{padding:.25rem .5rem;margin:-.25rem -.5rem;-webkit-margin-end:.5rem;margin-inline-end:.5rem}.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2));padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.form-control-lg::-webkit-file-upload-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}.form-control-lg::file-selector-button{padding:.5rem 1rem;margin:-.5rem -1rem;-webkit-margin-end:1rem;margin-inline-end:1rem}textarea.form-control{min-height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2))}textarea.form-control-sm{min-height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}textarea.form-control-lg{min-height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-control-color{width:3rem;height:calc(1.5em + .75rem + calc(var(--bs-border-width) * 2));padding:.375rem}.form-control-color:not(:disabled):not([readonly]){cursor:pointer}.form-control-color::-moz-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color::-webkit-color-swatch{border:0!important;border-radius:var(--bs-border-radius)}.form-control-color.form-control-sm{height:calc(1.5em + .5rem + calc(var(--bs-border-width) * 2))}.form-control-color.form-control-lg{height:calc(1.5em + 1rem + calc(var(--bs-border-width) * 2))}.form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23343a40%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");display:block;width:100%;padding:.375rem 2.25rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-body-bg);background-image:var(--bs-form-select-bg-img),var(--bs-form-select-bg-icon,none);background-repeat:no-repeat;background-position:right .75rem center;background-size:16px 12px;border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius);transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-select{transition:none}}.form-select:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-select[multiple],.form-select[size]:not([size="1"]){padding-right:.75rem;background-image:none}.form-select:disabled{background-color:var(--bs-secondary-bg)}.form-select:-moz-focusring{color:transparent;text-shadow:0 0 0 var(--bs-body-color)}.form-select-sm{padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.form-select-lg{padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}[data-bs-theme=dark] .form-select{--bs-form-select-bg-img:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27%3e%3cpath fill=%27none%27 stroke=%27%23dee2e6%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%272%27 d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e")}.form-check{display:block;min-height:1.5rem;padding-left:1.5em;margin-bottom:.125rem}.form-check .form-check-input{float:left;margin-left:-1.5em}.form-check-reverse{padding-right:1.5em;padding-left:0;text-align:right}.form-check-reverse .form-check-input{float:right;margin-right:-1.5em;margin-left:0}.form-check-input{--bs-form-check-bg:var(--bs-body-bg);flex-shrink:0;width:1em;height:1em;margin-top:.25em;vertical-align:top;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:var(--bs-form-check-bg);background-image:var(--bs-form-check-bg-image);background-repeat:no-repeat;background-position:center;background-size:contain;border:var(--bs-border-width) solid var(--bs-border-color);-webkit-print-color-adjust:exact;color-adjust:exact;print-color-adjust:exact}.form-check-input[type=checkbox]{border-radius:.25em}.form-check-input[type=radio]{border-radius:50%}.form-check-input:active{filter:brightness(90%)}.form-check-input:focus{border-color:#86b7fe;outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.form-check-input:checked{background-color:#0d6efd;border-color:#0d6efd}.form-check-input:checked[type=checkbox]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27m6 10 3 3 6-6%27/%3e%3c/svg%3e")}.form-check-input:checked[type=radio]{--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%272%27 fill=%27%23fff%27/%3e%3c/svg%3e")}.form-check-input[type=checkbox]:indeterminate{background-color:#0d6efd;border-color:#0d6efd;--bs-form-check-bg-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 20 20%27%3e%3cpath fill=%27none%27 stroke=%27%23fff%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27 stroke-width=%273%27 d=%27M6 10h8%27/%3e%3c/svg%3e")}.form-check-input:disabled{pointer-events:none;filter:none;opacity:.5}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{cursor:default;opacity:.5}.form-switch{padding-left:2.5em}.form-switch .form-check-input{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%280, 0, 0, 0.25%29%27/%3e%3c/svg%3e");width:2em;margin-left:-2.5em;background-image:var(--bs-form-switch-bg);background-position:left center;border-radius:2em;transition:background-position .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-switch .form-check-input{transition:none}}.form-switch .form-check-input:focus{--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%2386b7fe%27/%3e%3c/svg%3e")}.form-switch .form-check-input:checked{background-position:right center;--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27%23fff%27/%3e%3c/svg%3e")}.form-switch.form-check-reverse{padding-right:2.5em;padding-left:0}.form-switch.form-check-reverse .form-check-input{margin-right:-2.5em;margin-left:0}.form-check-inline{display:inline-block;margin-right:1rem}.btn-check{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.btn-check:disabled+.btn,.btn-check[disabled]+.btn{pointer-events:none;filter:none;opacity:.65}[data-bs-theme=dark] .form-switch .form-check-input:not(:checked):not(:focus){--bs-form-switch-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%27-4 -4 8 8%27%3e%3ccircle r=%273%27 fill=%27rgba%28255, 255, 255, 0.25%29%27/%3e%3c/svg%3e")}.form-range{width:100%;height:1.5rem;padding:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:transparent}.form-range:focus{outline:0}.form-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .25rem rgba(13,110,253,.25)}.form-range::-moz-focus-outer{border:0}.form-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;-webkit-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.form-range::-webkit-slider-thumb:active{background-color:#b6d4fe}.form-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range::-moz-range-thumb{width:1rem;height:1rem;-moz-appearance:none;appearance:none;background-color:#0d6efd;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-range::-moz-range-thumb{-moz-transition:none;transition:none}}.form-range::-moz-range-thumb:active{background-color:#b6d4fe}.form-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:var(--bs-secondary-bg);border-color:transparent;border-radius:1rem}.form-range:disabled{pointer-events:none}.form-range:disabled::-webkit-slider-thumb{background-color:var(--bs-secondary-color)}.form-range:disabled::-moz-range-thumb{background-color:var(--bs-secondary-color)}.form-floating{position:relative}.form-floating>.form-control,.form-floating>.form-control-plaintext,.form-floating>.form-select{height:calc(3.5rem + calc(var(--bs-border-width) * 2));min-height:calc(3.5rem + calc(var(--bs-border-width) * 2));line-height:1.25}.form-floating>label{position:absolute;top:0;left:0;z-index:2;max-width:100%;height:100%;padding:1rem .75rem;overflow:hidden;color:rgba(var(--bs-body-color-rgb),.65);text-align:start;text-overflow:ellipsis;white-space:nowrap;pointer-events:none;border:var(--bs-border-width) solid transparent;transform-origin:0 0;transition:opacity .1s ease-in-out,transform .1s ease-in-out}@media (prefers-reduced-motion:reduce){.form-floating>label{transition:none}}.form-floating>.form-control,.form-floating>.form-control-plaintext{padding:1rem .75rem}.form-floating>.form-control-plaintext::placeholder,.form-floating>.form-control::placeholder{color:transparent}.form-floating>.form-control-plaintext:focus,.form-floating>.form-control-plaintext:not(:placeholder-shown),.form-floating>.form-control:focus,.form-floating>.form-control:not(:placeholder-shown){padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-control-plaintext:-webkit-autofill,.form-floating>.form-control:-webkit-autofill{padding-top:1.625rem;padding-bottom:.625rem}.form-floating>.form-select{padding-top:1.625rem;padding-bottom:.625rem;padding-left:.75rem}.form-floating>.form-control-plaintext~label,.form-floating>.form-control:focus~label,.form-floating>.form-control:not(:placeholder-shown)~label,.form-floating>.form-select~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>.form-control:-webkit-autofill~label{transform:scale(.85) translateY(-.5rem) translateX(.15rem)}.form-floating>textarea:focus~label::after,.form-floating>textarea:not(:placeholder-shown)~label::after{position:absolute;inset:1rem 0.375rem;z-index:-1;height:1.5em;content:"";background-color:var(--bs-body-bg);border-radius:var(--bs-border-radius)}.form-floating>textarea:disabled~label::after{background-color:var(--bs-secondary-bg)}.form-floating>.form-control-plaintext~label{border-width:var(--bs-border-width) 0}.form-floating>.form-control:disabled~label,.form-floating>:disabled~label{color:#6c757d}.input-group{position:relative;display:flex;flex-wrap:wrap;align-items:stretch;width:100%}.input-group>.form-control,.input-group>.form-floating,.input-group>.form-select{position:relative;flex:1 1 auto;width:1%;min-width:0}.input-group>.form-control:focus,.input-group>.form-floating:focus-within,.input-group>.form-select:focus{z-index:5}.input-group .btn{position:relative;z-index:2}.input-group .btn:focus{z-index:5}.input-group-text{display:flex;align-items:center;padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:var(--bs-body-color);text-align:center;white-space:nowrap;background-color:var(--bs-tertiary-bg);border:var(--bs-border-width) solid var(--bs-border-color);border-radius:var(--bs-border-radius)}.input-group-lg>.btn,.input-group-lg>.form-control,.input-group-lg>.form-select,.input-group-lg>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;border-radius:var(--bs-border-radius-lg)}.input-group-sm>.btn,.input-group-sm>.form-control,.input-group-sm>.form-select,.input-group-sm>.input-group-text{padding:.25rem .5rem;font-size:.875rem;border-radius:var(--bs-border-radius-sm)}.input-group-lg>.form-select,.input-group-sm>.form-select{padding-right:3rem}.input-group:not(.has-validation)>.dropdown-toggle:nth-last-child(n+3),.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-control,.input-group:not(.has-validation)>.form-floating:not(:last-child)>.form-select,.input-group:not(.has-validation)>:not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.dropdown-toggle:nth-last-child(n+4),.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-control,.input-group.has-validation>.form-floating:nth-last-child(n+3)>.form-select,.input-group.has-validation>:nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating){border-top-right-radius:0;border-bottom-right-radius:0}.input-group>:not(:first-child):not(.dropdown-menu):not(.valid-tooltip):not(.valid-feedback):not(.invalid-tooltip):not(.invalid-feedback){margin-left:calc(-1 * var(--bs-border-width));border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.form-floating:not(:first-child)>.form-control,.input-group>.form-floating:not(:first-child)>.form-select{border-top-left-radius:0;border-bottom-left-radius:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-valid-color)}.valid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-success);border-radius:var(--bs-border-radius)}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:var(--bs-form-valid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1%27/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-valid,.was-validated .form-select:valid{border-color:var(--bs-form-valid-border-color)}.form-select.is-valid:not([multiple]):not([size]),.form-select.is-valid:not([multiple])[size="1"],.was-validated .form-select:valid:not([multiple]):not([size]),.was-validated .form-select:valid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 8 8%27%3e%3cpath fill=%27%23198754%27 d=%27M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1%27/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-valid:focus,.was-validated .form-select:valid:focus{border-color:var(--bs-form-valid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-control-color.is-valid,.was-validated .form-control-color:valid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-valid,.was-validated .form-check-input:valid{border-color:var(--bs-form-valid-border-color)}.form-check-input.is-valid:checked,.was-validated .form-check-input:valid:checked{background-color:var(--bs-form-valid-color)}.form-check-input.is-valid:focus,.was-validated .form-check-input:valid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-success-rgb),.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:var(--bs-form-valid-color)}.form-check-inline .form-check-input~.valid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-valid,.input-group>.form-floating:not(:focus-within).is-valid,.input-group>.form-select:not(:focus).is-valid,.was-validated .input-group>.form-control:not(:focus):valid,.was-validated .input-group>.form-floating:not(:focus-within):valid,.was-validated .input-group>.form-select:not(:focus):valid{z-index:3}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:.875em;color:var(--bs-form-invalid-color)}.invalid-tooltip{position:absolute;top:100%;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;color:#fff;background-color:var(--bs-danger);border-radius:var(--bs-border-radius)}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:var(--bs-form-invalid-border-color);padding-right:calc(1.5em + .75rem);background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.form-select.is-invalid,.was-validated .form-select:invalid{border-color:var(--bs-form-invalid-border-color)}.form-select.is-invalid:not([multiple]):not([size]),.form-select.is-invalid:not([multiple])[size="1"],.was-validated .form-select:invalid:not([multiple]):not([size]),.was-validated .form-select:invalid:not([multiple])[size="1"]{--bs-form-select-bg-icon:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 12 12%27 width=%2712%27 height=%2712%27 fill=%27none%27 stroke=%27%23dc3545%27%3e%3ccircle cx=%276%27 cy=%276%27 r=%274.5%27/%3e%3cpath stroke-linejoin=%27round%27 d=%27M5.8 3.6h.4L6 6.5z%27/%3e%3ccircle cx=%276%27 cy=%278.2%27 r=%27.6%27 fill=%27%23dc3545%27 stroke=%27none%27/%3e%3c/svg%3e");padding-right:4.125rem;background-position:right .75rem center,center right 2.25rem;background-size:16px 12px,calc(.75em + .375rem) calc(.75em + .375rem)}.form-select.is-invalid:focus,.was-validated .form-select:invalid:focus{border-color:var(--bs-form-invalid-border-color);box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-control-color.is-invalid,.was-validated .form-control-color:invalid{width:calc(3rem + calc(1.5em + .75rem))}.form-check-input.is-invalid,.was-validated .form-check-input:invalid{border-color:var(--bs-form-invalid-border-color)}.form-check-input.is-invalid:checked,.was-validated .form-check-input:invalid:checked{background-color:var(--bs-form-invalid-color)}.form-check-input.is-invalid:focus,.was-validated .form-check-input:invalid:focus{box-shadow:0 0 0 .25rem rgba(var(--bs-danger-rgb),.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:var(--bs-form-invalid-color)}.form-check-inline .form-check-input~.invalid-feedback{margin-left:.5em}.input-group>.form-control:not(:focus).is-invalid,.input-group>.form-floating:not(:focus-within).is-invalid,.input-group>.form-select:not(:focus).is-invalid,.was-validated .input-group>.form-control:not(:focus):invalid,.was-validated .input-group>.form-floating:not(:focus-within):invalid,.was-validated .input-group>.form-select:not(:focus):invalid{z-index:4}.btn{--bs-btn-padding-x:0.75rem;--bs-btn-padding-y:0.375rem;--bs-btn-font-family: ;--bs-btn-font-size:1rem;--bs-btn-font-weight:400;--bs-btn-line-height:1.5;--bs-btn-color:var(--bs-body-color);--bs-btn-bg:transparent;--bs-btn-border-width:var(--bs-border-width);--bs-btn-border-color:transparent;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-hover-border-color:transparent;--bs-btn-box-shadow:inset 0 1px 0 rgba(255, 255, 255, 0.15),0 1px 1px rgba(0, 0, 0, 0.075);--bs-btn-disabled-opacity:0.65;--bs-btn-focus-box-shadow:0 0 0 0.25rem rgba(var(--bs-btn-focus-shadow-rgb), .5);display:inline-block;padding:var(--bs-btn-padding-y) var(--bs-btn-padding-x);font-family:var(--bs-btn-font-family);font-size:var(--bs-btn-font-size);font-weight:var(--bs-btn-font-weight);line-height:var(--bs-btn-line-height);color:var(--bs-btn-color);text-align:center;text-decoration:none;vertical-align:middle;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;border:var(--bs-btn-border-width) solid var(--bs-btn-border-color);border-radius:var(--bs-btn-border-radius);background-color:var(--bs-btn-bg);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color)}.btn-check+.btn:hover{color:var(--bs-btn-color);background-color:var(--bs-btn-bg);border-color:var(--bs-btn-border-color)}.btn:focus-visible{color:var(--bs-btn-hover-color);background-color:var(--bs-btn-hover-bg);border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:focus-visible+.btn{border-color:var(--bs-btn-hover-border-color);outline:0;box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked+.btn,.btn.active,.btn.show,.btn:first-child:active,:not(.btn-check)+.btn:active{color:var(--bs-btn-active-color);background-color:var(--bs-btn-active-bg);border-color:var(--bs-btn-active-border-color)}.btn-check:checked+.btn:focus-visible,.btn.active:focus-visible,.btn.show:focus-visible,.btn:first-child:active:focus-visible,:not(.btn-check)+.btn:active:focus-visible{box-shadow:var(--bs-btn-focus-box-shadow)}.btn-check:checked:focus-visible+.btn{box-shadow:var(--bs-btn-focus-box-shadow)}.btn.disabled,.btn:disabled,fieldset:disabled .btn{color:var(--bs-btn-disabled-color);pointer-events:none;background-color:var(--bs-btn-disabled-bg);border-color:var(--bs-btn-disabled-border-color);opacity:var(--bs-btn-disabled-opacity)}.btn-primary{--bs-btn-color:#fff;--bs-btn-bg:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0b5ed7;--bs-btn-hover-border-color:#0a58ca;--bs-btn-focus-shadow-rgb:49,132,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0a58ca;--bs-btn-active-border-color:#0a53be;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#0d6efd;--bs-btn-disabled-border-color:#0d6efd}.btn-secondary{--bs-btn-color:#fff;--bs-btn-bg:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#5c636a;--bs-btn-hover-border-color:#565e64;--bs-btn-focus-shadow-rgb:130,138,145;--bs-btn-active-color:#fff;--bs-btn-active-bg:#565e64;--bs-btn-active-border-color:#51585e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#6c757d;--bs-btn-disabled-border-color:#6c757d}.btn-success{--bs-btn-color:#fff;--bs-btn-bg:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#157347;--bs-btn-hover-border-color:#146c43;--bs-btn-focus-shadow-rgb:60,153,110;--bs-btn-active-color:#fff;--bs-btn-active-bg:#146c43;--bs-btn-active-border-color:#13653f;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#198754;--bs-btn-disabled-border-color:#198754}.btn-info{--bs-btn-color:#000;--bs-btn-bg:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#31d2f2;--bs-btn-hover-border-color:#25cff2;--bs-btn-focus-shadow-rgb:11,172,204;--bs-btn-active-color:#000;--bs-btn-active-bg:#3dd5f3;--bs-btn-active-border-color:#25cff2;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#0dcaf0;--bs-btn-disabled-border-color:#0dcaf0}.btn-warning{--bs-btn-color:#000;--bs-btn-bg:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffca2c;--bs-btn-hover-border-color:#ffc720;--bs-btn-focus-shadow-rgb:217,164,6;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffcd39;--bs-btn-active-border-color:#ffc720;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#ffc107;--bs-btn-disabled-border-color:#ffc107}.btn-danger{--bs-btn-color:#fff;--bs-btn-bg:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#bb2d3b;--bs-btn-hover-border-color:#b02a37;--bs-btn-focus-shadow-rgb:225,83,97;--bs-btn-active-color:#fff;--bs-btn-active-bg:#b02a37;--bs-btn-active-border-color:#a52834;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#dc3545;--bs-btn-disabled-border-color:#dc3545}.btn-light{--bs-btn-color:#000;--bs-btn-bg:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#d3d4d5;--bs-btn-hover-border-color:#c6c7c8;--bs-btn-focus-shadow-rgb:211,212,213;--bs-btn-active-color:#000;--bs-btn-active-bg:#c6c7c8;--bs-btn-active-border-color:#babbbc;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#000;--bs-btn-disabled-bg:#f8f9fa;--bs-btn-disabled-border-color:#f8f9fa}.btn-dark{--bs-btn-color:#fff;--bs-btn-bg:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#424649;--bs-btn-hover-border-color:#373b3e;--bs-btn-focus-shadow-rgb:66,70,73;--bs-btn-active-color:#fff;--bs-btn-active-bg:#4d5154;--bs-btn-active-border-color:#373b3e;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#fff;--bs-btn-disabled-bg:#212529;--bs-btn-disabled-border-color:#212529}.btn-outline-primary{--bs-btn-color:#0d6efd;--bs-btn-border-color:#0d6efd;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#0d6efd;--bs-btn-hover-border-color:#0d6efd;--bs-btn-focus-shadow-rgb:13,110,253;--bs-btn-active-color:#fff;--bs-btn-active-bg:#0d6efd;--bs-btn-active-border-color:#0d6efd;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0d6efd;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0d6efd;--bs-gradient:none}.btn-outline-secondary{--bs-btn-color:#6c757d;--bs-btn-border-color:#6c757d;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#6c757d;--bs-btn-hover-border-color:#6c757d;--bs-btn-focus-shadow-rgb:108,117,125;--bs-btn-active-color:#fff;--bs-btn-active-bg:#6c757d;--bs-btn-active-border-color:#6c757d;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#6c757d;--bs-gradient:none}.btn-outline-success{--bs-btn-color:#198754;--bs-btn-border-color:#198754;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#198754;--bs-btn-hover-border-color:#198754;--bs-btn-focus-shadow-rgb:25,135,84;--bs-btn-active-color:#fff;--bs-btn-active-bg:#198754;--bs-btn-active-border-color:#198754;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#198754;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#198754;--bs-gradient:none}.btn-outline-info{--bs-btn-color:#0dcaf0;--bs-btn-border-color:#0dcaf0;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#0dcaf0;--bs-btn-hover-border-color:#0dcaf0;--bs-btn-focus-shadow-rgb:13,202,240;--bs-btn-active-color:#000;--bs-btn-active-bg:#0dcaf0;--bs-btn-active-border-color:#0dcaf0;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#0dcaf0;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#0dcaf0;--bs-gradient:none}.btn-outline-warning{--bs-btn-color:#ffc107;--bs-btn-border-color:#ffc107;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#ffc107;--bs-btn-hover-border-color:#ffc107;--bs-btn-focus-shadow-rgb:255,193,7;--bs-btn-active-color:#000;--bs-btn-active-bg:#ffc107;--bs-btn-active-border-color:#ffc107;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#ffc107;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#ffc107;--bs-gradient:none}.btn-outline-danger{--bs-btn-color:#dc3545;--bs-btn-border-color:#dc3545;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#dc3545;--bs-btn-hover-border-color:#dc3545;--bs-btn-focus-shadow-rgb:220,53,69;--bs-btn-active-color:#fff;--bs-btn-active-bg:#dc3545;--bs-btn-active-border-color:#dc3545;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#dc3545;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#dc3545;--bs-gradient:none}.btn-outline-light{--bs-btn-color:#f8f9fa;--bs-btn-border-color:#f8f9fa;--bs-btn-hover-color:#000;--bs-btn-hover-bg:#f8f9fa;--bs-btn-hover-border-color:#f8f9fa;--bs-btn-focus-shadow-rgb:248,249,250;--bs-btn-active-color:#000;--bs-btn-active-bg:#f8f9fa;--bs-btn-active-border-color:#f8f9fa;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#f8f9fa;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#f8f9fa;--bs-gradient:none}.btn-outline-dark{--bs-btn-color:#212529;--bs-btn-border-color:#212529;--bs-btn-hover-color:#fff;--bs-btn-hover-bg:#212529;--bs-btn-hover-border-color:#212529;--bs-btn-focus-shadow-rgb:33,37,41;--bs-btn-active-color:#fff;--bs-btn-active-bg:#212529;--bs-btn-active-border-color:#212529;--bs-btn-active-shadow:inset 0 3px 5px rgba(0, 0, 0, 0.125);--bs-btn-disabled-color:#212529;--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:#212529;--bs-gradient:none}.btn-link{--bs-btn-font-weight:400;--bs-btn-color:var(--bs-link-color);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--bs-link-hover-color);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--bs-link-hover-color);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:#6c757d;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:0 0 0 #000;--bs-btn-focus-shadow-rgb:49,132,253;text-decoration:underline}.btn-link:focus-visible{color:var(--bs-btn-color)}.btn-link:hover{color:var(--bs-btn-hover-color)}.btn-group-lg>.btn,.btn-lg{--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;--bs-btn-font-size:1.25rem;--bs-btn-border-radius:var(--bs-border-radius-lg)}.btn-group-sm>.btn,.btn-sm{--bs-btn-padding-y:0.25rem;--bs-btn-padding-x:0.5rem;--bs-btn-font-size:0.875rem;--bs-btn-border-radius:var(--bs-border-radius-sm)}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.collapsing.collapse-horizontal{width:0;height:auto;transition:width .35s ease}@media (prefers-reduced-motion:reduce){.collapsing.collapse-horizontal{transition:none}}.dropdown,.dropdown-center,.dropend,.dropstart,.dropup,.dropup-center{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{--bs-dropdown-zindex:1000;--bs-dropdown-min-width:10rem;--bs-dropdown-padding-x:0;--bs-dropdown-padding-y:0.5rem;--bs-dropdown-spacer:0.125rem;--bs-dropdown-font-size:1rem;--bs-dropdown-color:var(--bs-body-color);--bs-dropdown-bg:var(--bs-body-bg);--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-border-width:var(--bs-border-width);--bs-dropdown-inner-border-radius:calc(var(--bs-border-radius) - var(--bs-border-width));--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-divider-margin-y:0.5rem;--bs-dropdown-box-shadow:var(--bs-box-shadow);--bs-dropdown-link-color:var(--bs-body-color);--bs-dropdown-link-hover-color:var(--bs-body-color);--bs-dropdown-link-hover-bg:var(--bs-tertiary-bg);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:var(--bs-tertiary-color);--bs-dropdown-item-padding-x:1rem;--bs-dropdown-item-padding-y:0.25rem;--bs-dropdown-header-color:#6c757d;--bs-dropdown-header-padding-x:1rem;--bs-dropdown-header-padding-y:0.5rem;position:absolute;z-index:var(--bs-dropdown-zindex);display:none;min-width:var(--bs-dropdown-min-width);padding:var(--bs-dropdown-padding-y) var(--bs-dropdown-padding-x);margin:0;font-size:var(--bs-dropdown-font-size);color:var(--bs-dropdown-color);text-align:left;list-style:none;background-color:var(--bs-dropdown-bg);background-clip:padding-box;border:var(--bs-dropdown-border-width) solid var(--bs-dropdown-border-color);border-radius:var(--bs-dropdown-border-radius)}.dropdown-menu[data-bs-popper]{top:100%;left:0;margin-top:var(--bs-dropdown-spacer)}.dropdown-menu-start{--bs-position:start}.dropdown-menu-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-end{--bs-position:end}.dropdown-menu-end[data-bs-popper]{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-start{--bs-position:start}.dropdown-menu-sm-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-sm-end{--bs-position:end}.dropdown-menu-sm-end[data-bs-popper]{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-start{--bs-position:start}.dropdown-menu-md-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-md-end{--bs-position:end}.dropdown-menu-md-end[data-bs-popper]{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-start{--bs-position:start}.dropdown-menu-lg-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-lg-end{--bs-position:end}.dropdown-menu-lg-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-start{--bs-position:start}.dropdown-menu-xl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xl-end{--bs-position:end}.dropdown-menu-xl-end[data-bs-popper]{right:0;left:auto}}@media (min-width:1400px){.dropdown-menu-xxl-start{--bs-position:start}.dropdown-menu-xxl-start[data-bs-popper]{right:auto;left:0}.dropdown-menu-xxl-end{--bs-position:end}.dropdown-menu-xxl-end[data-bs-popper]{right:0;left:auto}}.dropup .dropdown-menu[data-bs-popper]{top:auto;bottom:100%;margin-top:0;margin-bottom:var(--bs-dropdown-spacer)}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-menu[data-bs-popper]{top:0;right:auto;left:100%;margin-top:0;margin-left:var(--bs-dropdown-spacer)}.dropend .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropend .dropdown-toggle:empty::after{margin-left:0}.dropend .dropdown-toggle::after{vertical-align:0}.dropstart .dropdown-menu[data-bs-popper]{top:0;right:100%;left:auto;margin-top:0;margin-right:var(--bs-dropdown-spacer)}.dropstart .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropstart .dropdown-toggle::after{display:none}.dropstart .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropstart .dropdown-toggle:empty::after{margin-left:0}.dropstart .dropdown-toggle::before{vertical-align:0}.dropdown-divider{height:0;margin:var(--bs-dropdown-divider-margin-y) 0;overflow:hidden;border-top:1px solid var(--bs-dropdown-divider-bg);opacity:1}.dropdown-item{display:block;width:100%;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);clear:both;font-weight:400;color:var(--bs-dropdown-link-color);text-align:inherit;text-decoration:none;white-space:nowrap;background-color:transparent;border:0;border-radius:var(--bs-dropdown-item-border-radius,0)}.dropdown-item:focus,.dropdown-item:hover{color:var(--bs-dropdown-link-hover-color);background-color:var(--bs-dropdown-link-hover-bg)}.dropdown-item.active,.dropdown-item:active{color:var(--bs-dropdown-link-active-color);text-decoration:none;background-color:var(--bs-dropdown-link-active-bg)}.dropdown-item.disabled,.dropdown-item:disabled{color:var(--bs-dropdown-link-disabled-color);pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:var(--bs-dropdown-header-padding-y) var(--bs-dropdown-header-padding-x);margin-bottom:0;font-size:.875rem;color:var(--bs-dropdown-header-color);white-space:nowrap}.dropdown-item-text{display:block;padding:var(--bs-dropdown-item-padding-y) var(--bs-dropdown-item-padding-x);color:var(--bs-dropdown-link-color)}.dropdown-menu-dark{--bs-dropdown-color:#dee2e6;--bs-dropdown-bg:#343a40;--bs-dropdown-border-color:var(--bs-border-color-translucent);--bs-dropdown-box-shadow: ;--bs-dropdown-link-color:#dee2e6;--bs-dropdown-link-hover-color:#fff;--bs-dropdown-divider-bg:var(--bs-border-color-translucent);--bs-dropdown-link-hover-bg:rgba(255, 255, 255, 0.15);--bs-dropdown-link-active-color:#fff;--bs-dropdown-link-active-bg:#0d6efd;--bs-dropdown-link-disabled-color:#adb5bd;--bs-dropdown-header-color:#adb5bd}.btn-group,.btn-group-vertical{position:relative;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;flex:1 1 auto}.btn-group-vertical>.btn-check:checked+.btn,.btn-group-vertical>.btn-check:focus+.btn,.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group-vertical>.btn:hover,.btn-group>.btn-check:checked+.btn,.btn-group>.btn-check:focus+.btn,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus,.btn-group>.btn:hover{z-index:1}.btn-toolbar{display:flex;flex-wrap:wrap;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group{border-radius:var(--bs-border-radius)}.btn-group>.btn-group:not(:first-child),.btn-group>:not(.btn-check:first-child)+.btn{margin-left:calc(-1 * var(--bs-border-width))}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn.dropdown-toggle-split:first-child,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:nth-child(n+3),.btn-group>:not(.btn-check)+.btn{border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropend .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropstart .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{flex-direction:column;align-items:flex-start;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:calc(-1 * var(--bs-border-width))}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:nth-child(n+3),.btn-group-vertical>:not(.btn-check)+.btn{border-top-left-radius:0;border-top-right-radius:0}.nav{--bs-nav-link-padding-x:1rem;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-link-color);--bs-nav-link-hover-color:var(--bs-link-hover-color);--bs-nav-link-disabled-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:var(--bs-nav-link-padding-y) var(--bs-nav-link-padding-x);font-size:var(--bs-nav-link-font-size);font-weight:var(--bs-nav-link-font-weight);color:var(--bs-nav-link-color);text-decoration:none;background:0 0;border:0;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out}@media (prefers-reduced-motion:reduce){.nav-link{transition:none}}.nav-link:focus,.nav-link:hover{color:var(--bs-nav-link-hover-color)}.nav-link:focus-visible{outline:0;box-shadow:0 0 0 .25rem rgba(13,110,253,.25)}.nav-link.disabled,.nav-link:disabled{color:var(--bs-nav-link-disabled-color);pointer-events:none;cursor:default}.nav-tabs{--bs-nav-tabs-border-width:var(--bs-border-width);--bs-nav-tabs-border-color:var(--bs-border-color);--bs-nav-tabs-border-radius:var(--bs-border-radius);--bs-nav-tabs-link-hover-border-color:var(--bs-secondary-bg) var(--bs-secondary-bg) var(--bs-border-color);--bs-nav-tabs-link-active-color:var(--bs-emphasis-color);--bs-nav-tabs-link-active-bg:var(--bs-body-bg);--bs-nav-tabs-link-active-border-color:var(--bs-border-color) var(--bs-border-color) var(--bs-body-bg);border-bottom:var(--bs-nav-tabs-border-width) solid var(--bs-nav-tabs-border-color)}.nav-tabs .nav-link{margin-bottom:calc(-1 * var(--bs-nav-tabs-border-width));border:var(--bs-nav-tabs-border-width) solid transparent;border-top-left-radius:var(--bs-nav-tabs-border-radius);border-top-right-radius:var(--bs-nav-tabs-border-radius)}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{isolation:isolate;border-color:var(--bs-nav-tabs-link-hover-border-color)}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:var(--bs-nav-tabs-link-active-color);background-color:var(--bs-nav-tabs-link-active-bg);border-color:var(--bs-nav-tabs-link-active-border-color)}.nav-tabs .dropdown-menu{margin-top:calc(-1 * var(--bs-nav-tabs-border-width));border-top-left-radius:0;border-top-right-radius:0}.nav-pills{--bs-nav-pills-border-radius:var(--bs-border-radius);--bs-nav-pills-link-active-color:#fff;--bs-nav-pills-link-active-bg:#0d6efd}.nav-pills .nav-link{border-radius:var(--bs-nav-pills-border-radius)}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:var(--bs-nav-pills-link-active-color);background-color:var(--bs-nav-pills-link-active-bg)}.nav-underline{--bs-nav-underline-gap:1rem;--bs-nav-underline-border-width:0.125rem;--bs-nav-underline-link-active-color:var(--bs-emphasis-color);gap:var(--bs-nav-underline-gap)}.nav-underline .nav-link{padding-right:0;padding-left:0;border-bottom:var(--bs-nav-underline-border-width) solid transparent}.nav-underline .nav-link:focus,.nav-underline .nav-link:hover{border-bottom-color:currentcolor}.nav-underline .nav-link.active,.nav-underline .show>.nav-link{font-weight:700;color:var(--bs-nav-underline-link-active-color);border-bottom-color:currentcolor}.nav-fill .nav-item,.nav-fill>.nav-link{flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{flex-grow:1;flex-basis:0;text-align:center}.nav-fill .nav-item .nav-link,.nav-justified .nav-item .nav-link{width:100%}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{--bs-navbar-padding-x:0;--bs-navbar-padding-y:0.5rem;--bs-navbar-color:rgba(var(--bs-emphasis-color-rgb), 0.65);--bs-navbar-hover-color:rgba(var(--bs-emphasis-color-rgb), 0.8);--bs-navbar-disabled-color:rgba(var(--bs-emphasis-color-rgb), 0.3);--bs-navbar-active-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-padding-y:0.3125rem;--bs-navbar-brand-margin-end:1rem;--bs-navbar-brand-font-size:1.25rem;--bs-navbar-brand-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-brand-hover-color:rgba(var(--bs-emphasis-color-rgb), 1);--bs-navbar-nav-link-padding-x:0.5rem;--bs-navbar-toggler-padding-y:0.25rem;--bs-navbar-toggler-padding-x:0.75rem;--bs-navbar-toggler-font-size:1.25rem;--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%2833, 37, 41, 0.75%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e");--bs-navbar-toggler-border-color:rgba(var(--bs-emphasis-color-rgb), 0.15);--bs-navbar-toggler-border-radius:var(--bs-border-radius);--bs-navbar-toggler-focus-width:0.25rem;--bs-navbar-toggler-transition:box-shadow 0.15s ease-in-out;position:relative;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;padding:var(--bs-navbar-padding-y) var(--bs-navbar-padding-x)}.navbar>.container,.navbar>.container-fluid,.navbar>.container-lg,.navbar>.container-md,.navbar>.container-sm,.navbar>.container-xl,.navbar>.container-xxl{display:flex;flex-wrap:inherit;align-items:center;justify-content:space-between}.navbar-brand{padding-top:var(--bs-navbar-brand-padding-y);padding-bottom:var(--bs-navbar-brand-padding-y);margin-right:var(--bs-navbar-brand-margin-end);font-size:var(--bs-navbar-brand-font-size);color:var(--bs-navbar-brand-color);text-decoration:none;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{color:var(--bs-navbar-brand-hover-color)}.navbar-nav{--bs-nav-link-padding-x:0;--bs-nav-link-padding-y:0.5rem;--bs-nav-link-font-weight: ;--bs-nav-link-color:var(--bs-navbar-color);--bs-nav-link-hover-color:var(--bs-navbar-hover-color);--bs-nav-link-disabled-color:var(--bs-navbar-disabled-color);display:flex;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link.active,.navbar-nav .nav-link.show{color:var(--bs-navbar-active-color)}.navbar-nav .dropdown-menu{position:static}.navbar-text{padding-top:.5rem;padding-bottom:.5rem;color:var(--bs-navbar-color)}.navbar-text a,.navbar-text a:focus,.navbar-text a:hover{color:var(--bs-navbar-active-color)}.navbar-collapse{flex-grow:1;flex-basis:100%;align-items:center}.navbar-toggler{padding:var(--bs-navbar-toggler-padding-y) var(--bs-navbar-toggler-padding-x);font-size:var(--bs-navbar-toggler-font-size);line-height:1;color:var(--bs-navbar-color);background-color:transparent;border:var(--bs-border-width) solid var(--bs-navbar-toggler-border-color);border-radius:var(--bs-navbar-toggler-border-radius);transition:var(--bs-navbar-toggler-transition)}@media (prefers-reduced-motion:reduce){.navbar-toggler{transition:none}}.navbar-toggler:hover{text-decoration:none}.navbar-toggler:focus{text-decoration:none;outline:0;box-shadow:0 0 0 var(--bs-navbar-toggler-focus-width)}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;background-image:var(--bs-navbar-toggler-icon-bg);background-repeat:no-repeat;background-position:center;background-size:100%}.navbar-nav-scroll{max-height:var(--bs-scroll-height,75vh);overflow-y:auto}@media (min-width:576px){.navbar-expand-sm{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-sm .navbar-nav{flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}.navbar-expand-sm .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-sm .offcanvas .offcanvas-header{display:none}.navbar-expand-sm .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:768px){.navbar-expand-md{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-md .navbar-nav{flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}.navbar-expand-md .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-md .offcanvas .offcanvas-header{display:none}.navbar-expand-md .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:992px){.navbar-expand-lg{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-lg .navbar-nav{flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}.navbar-expand-lg .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-lg .offcanvas .offcanvas-header{display:none}.navbar-expand-lg .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1200px){.navbar-expand-xl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xl .navbar-nav{flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}.navbar-expand-xl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xl .offcanvas .offcanvas-header{display:none}.navbar-expand-xl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}@media (min-width:1400px){.navbar-expand-xxl{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand-xxl .navbar-nav{flex-direction:row}.navbar-expand-xxl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xxl .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand-xxl .navbar-nav-scroll{overflow:visible}.navbar-expand-xxl .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand-xxl .navbar-toggler{display:none}.navbar-expand-xxl .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand-xxl .offcanvas .offcanvas-header{display:none}.navbar-expand-xxl .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}}.navbar-expand{flex-wrap:nowrap;justify-content:flex-start}.navbar-expand .navbar-nav{flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:var(--bs-navbar-nav-link-padding-x);padding-left:var(--bs-navbar-nav-link-padding-x)}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:flex!important;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-expand .offcanvas{position:static;z-index:auto;flex-grow:1;width:auto!important;height:auto!important;visibility:visible!important;background-color:transparent!important;border:0!important;transform:none!important;transition:none}.navbar-expand .offcanvas .offcanvas-header{display:none}.navbar-expand .offcanvas .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible}.navbar-dark,.navbar[data-bs-theme=dark]{--bs-navbar-color:rgba(255, 255, 255, 0.55);--bs-navbar-hover-color:rgba(255, 255, 255, 0.75);--bs-navbar-disabled-color:rgba(255, 255, 255, 0.25);--bs-navbar-active-color:#fff;--bs-navbar-brand-color:#fff;--bs-navbar-brand-hover-color:#fff;--bs-navbar-toggler-border-color:rgba(255, 255, 255, 0.1);--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e")}[data-bs-theme=dark] .navbar-toggler-icon{--bs-navbar-toggler-icon-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 30 30%27%3e%3cpath stroke=%27rgba%28255, 255, 255, 0.55%29%27 stroke-linecap=%27round%27 stroke-miterlimit=%2710%27 stroke-width=%272%27 d=%27M4 7h22M4 15h22M4 23h22%27/%3e%3c/svg%3e")}.card{--bs-card-spacer-y:1rem;--bs-card-spacer-x:1rem;--bs-card-title-spacer-y:0.5rem;--bs-card-title-color: ;--bs-card-subtitle-color: ;--bs-card-border-width:var(--bs-border-width);--bs-card-border-color:var(--bs-border-color-translucent);--bs-card-border-radius:var(--bs-border-radius);--bs-card-box-shadow: ;--bs-card-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-card-cap-padding-y:0.5rem;--bs-card-cap-padding-x:1rem;--bs-card-cap-bg:rgba(var(--bs-body-color-rgb), 0.03);--bs-card-cap-color: ;--bs-card-height: ;--bs-card-color: ;--bs-card-bg:var(--bs-body-bg);--bs-card-img-overlay-padding:1rem;--bs-card-group-margin:0.75rem;position:relative;display:flex;flex-direction:column;min-width:0;height:var(--bs-card-height);color:var(--bs-body-color);word-wrap:break-word;background-color:var(--bs-card-bg);background-clip:border-box;border:var(--bs-card-border-width) solid var(--bs-card-border-color);border-radius:var(--bs-card-border-radius)}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{flex:1 1 auto;padding:var(--bs-card-spacer-y) var(--bs-card-spacer-x);color:var(--bs-card-color)}.card-title{margin-bottom:var(--bs-card-title-spacer-y);color:var(--bs-card-title-color)}.card-subtitle{margin-top:calc(-.5 * var(--bs-card-title-spacer-y));margin-bottom:0;color:var(--bs-card-subtitle-color)}.card-text:last-child{margin-bottom:0}.card-link+.card-link{margin-left:var(--bs-card-spacer-x)}.card-header{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);margin-bottom:0;color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-bottom:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-header:first-child{border-radius:var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius) 0 0}.card-footer{padding:var(--bs-card-cap-padding-y) var(--bs-card-cap-padding-x);color:var(--bs-card-cap-color);background-color:var(--bs-card-cap-bg);border-top:var(--bs-card-border-width) solid var(--bs-card-border-color)}.card-footer:last-child{border-radius:0 0 var(--bs-card-inner-border-radius) var(--bs-card-inner-border-radius)}.card-header-tabs{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-bottom:calc(-1 * var(--bs-card-cap-padding-y));margin-left:calc(-.5 * var(--bs-card-cap-padding-x));border-bottom:0}.card-header-tabs .nav-link.active{background-color:var(--bs-card-bg);border-bottom-color:var(--bs-card-bg)}.card-header-pills{margin-right:calc(-.5 * var(--bs-card-cap-padding-x));margin-left:calc(-.5 * var(--bs-card-cap-padding-x))}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:var(--bs-card-img-overlay-padding);border-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom,.card-img-top{width:100%}.card-img,.card-img-top{border-top-left-radius:var(--bs-card-inner-border-radius);border-top-right-radius:var(--bs-card-inner-border-radius)}.card-img,.card-img-bottom{border-bottom-right-radius:var(--bs-card-inner-border-radius);border-bottom-left-radius:var(--bs-card-inner-border-radius)}.card-group>.card{margin-bottom:var(--bs-card-group-margin)}@media (min-width:576px){.card-group{display:flex;flex-flow:row wrap}.card-group>.card{flex:1 0 0;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child)>.card-header,.card-group>.card:not(:last-child)>.card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child)>.card-footer,.card-group>.card:not(:last-child)>.card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child)>.card-header,.card-group>.card:not(:first-child)>.card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child)>.card-footer,.card-group>.card:not(:first-child)>.card-img-bottom{border-bottom-left-radius:0}}.accordion{--bs-accordion-color:var(--bs-body-color);--bs-accordion-bg:var(--bs-body-bg);--bs-accordion-transition:color 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,border-radius 0.15s ease;--bs-accordion-border-color:var(--bs-border-color);--bs-accordion-border-width:var(--bs-border-width);--bs-accordion-border-radius:var(--bs-border-radius);--bs-accordion-inner-border-radius:calc(var(--bs-border-radius) - (var(--bs-border-width)));--bs-accordion-btn-padding-x:1.25rem;--bs-accordion-btn-padding-y:1rem;--bs-accordion-btn-color:var(--bs-body-color);--bs-accordion-btn-bg:var(--bs-accordion-bg);--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%23212529%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");--bs-accordion-btn-icon-width:1.25rem;--bs-accordion-btn-icon-transform:rotate(-180deg);--bs-accordion-btn-icon-transition:transform 0.2s ease-in-out;--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27none%27 stroke=%27%23052c65%27 stroke-linecap=%27round%27 stroke-linejoin=%27round%27%3e%3cpath d=%27m2 5 6 6 6-6%27/%3e%3c/svg%3e");--bs-accordion-btn-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-accordion-body-padding-x:1.25rem;--bs-accordion-body-padding-y:1rem;--bs-accordion-active-color:var(--bs-primary-text-emphasis);--bs-accordion-active-bg:var(--bs-primary-bg-subtle)}.accordion-button{position:relative;display:flex;align-items:center;width:100%;padding:var(--bs-accordion-btn-padding-y) var(--bs-accordion-btn-padding-x);font-size:1rem;color:var(--bs-accordion-btn-color);text-align:left;background-color:var(--bs-accordion-btn-bg);border:0;border-radius:0;overflow-anchor:none;transition:var(--bs-accordion-transition)}@media (prefers-reduced-motion:reduce){.accordion-button{transition:none}}.accordion-button:not(.collapsed){color:var(--bs-accordion-active-color);background-color:var(--bs-accordion-active-bg);box-shadow:inset 0 calc(-1 * var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color)}.accordion-button:not(.collapsed)::after{background-image:var(--bs-accordion-btn-active-icon);transform:var(--bs-accordion-btn-icon-transform)}.accordion-button::after{flex-shrink:0;width:var(--bs-accordion-btn-icon-width);height:var(--bs-accordion-btn-icon-width);margin-left:auto;content:"";background-image:var(--bs-accordion-btn-icon);background-repeat:no-repeat;background-size:var(--bs-accordion-btn-icon-width);transition:var(--bs-accordion-btn-icon-transition)}@media (prefers-reduced-motion:reduce){.accordion-button::after{transition:none}}.accordion-button:hover{z-index:2}.accordion-button:focus{z-index:3;outline:0;box-shadow:var(--bs-accordion-btn-focus-box-shadow)}.accordion-header{margin-bottom:0}.accordion-item{color:var(--bs-accordion-color);background-color:var(--bs-accordion-bg);border:var(--bs-accordion-border-width) solid var(--bs-accordion-border-color)}.accordion-item:first-of-type{border-top-left-radius:var(--bs-accordion-border-radius);border-top-right-radius:var(--bs-accordion-border-radius)}.accordion-item:first-of-type>.accordion-header .accordion-button{border-top-left-radius:var(--bs-accordion-inner-border-radius);border-top-right-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:not(:first-of-type){border-top:0}.accordion-item:last-of-type{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-item:last-of-type>.accordion-header .accordion-button.collapsed{border-bottom-right-radius:var(--bs-accordion-inner-border-radius);border-bottom-left-radius:var(--bs-accordion-inner-border-radius)}.accordion-item:last-of-type>.accordion-collapse{border-bottom-right-radius:var(--bs-accordion-border-radius);border-bottom-left-radius:var(--bs-accordion-border-radius)}.accordion-body{padding:var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x)}.accordion-flush>.accordion-item{border-right:0;border-left:0;border-radius:0}.accordion-flush>.accordion-item:first-child{border-top:0}.accordion-flush>.accordion-item:last-child{border-bottom:0}.accordion-flush>.accordion-item>.accordion-collapse,.accordion-flush>.accordion-item>.accordion-header .accordion-button,.accordion-flush>.accordion-item>.accordion-header .accordion-button.collapsed{border-radius:0}[data-bs-theme=dark] .accordion-button::after{--bs-accordion-btn-icon:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%236ea8fe%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e");--bs-accordion-btn-active-icon:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%236ea8fe%27%3e%3cpath fill-rule=%27evenodd%27 d=%27M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e")}.breadcrumb{--bs-breadcrumb-padding-x:0;--bs-breadcrumb-padding-y:0;--bs-breadcrumb-margin-bottom:1rem;--bs-breadcrumb-bg: ;--bs-breadcrumb-border-radius: ;--bs-breadcrumb-divider-color:var(--bs-secondary-color);--bs-breadcrumb-item-padding-x:0.5rem;--bs-breadcrumb-item-active-color:var(--bs-secondary-color);display:flex;flex-wrap:wrap;padding:var(--bs-breadcrumb-padding-y) var(--bs-breadcrumb-padding-x);margin-bottom:var(--bs-breadcrumb-margin-bottom);font-size:var(--bs-breadcrumb-font-size);list-style:none;background-color:var(--bs-breadcrumb-bg);border-radius:var(--bs-breadcrumb-border-radius)}.breadcrumb-item+.breadcrumb-item{padding-left:var(--bs-breadcrumb-item-padding-x)}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:var(--bs-breadcrumb-item-padding-x);color:var(--bs-breadcrumb-divider-color);content:var(--bs-breadcrumb-divider, "/")}.breadcrumb-item.active{color:var(--bs-breadcrumb-item-active-color)}.pagination{--bs-pagination-padding-x:0.75rem;--bs-pagination-padding-y:0.375rem;--bs-pagination-font-size:1rem;--bs-pagination-color:var(--bs-link-color);--bs-pagination-bg:var(--bs-body-bg);--bs-pagination-border-width:var(--bs-border-width);--bs-pagination-border-color:var(--bs-border-color);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-hover-color:var(--bs-link-hover-color);--bs-pagination-hover-bg:var(--bs-tertiary-bg);--bs-pagination-hover-border-color:var(--bs-border-color);--bs-pagination-focus-color:var(--bs-link-hover-color);--bs-pagination-focus-bg:var(--bs-secondary-bg);--bs-pagination-focus-box-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-pagination-active-color:#fff;--bs-pagination-active-bg:#0d6efd;--bs-pagination-active-border-color:#0d6efd;--bs-pagination-disabled-color:var(--bs-secondary-color);--bs-pagination-disabled-bg:var(--bs-secondary-bg);--bs-pagination-disabled-border-color:var(--bs-border-color);display:flex;padding-left:0;list-style:none}.page-link{position:relative;display:block;padding:var(--bs-pagination-padding-y) var(--bs-pagination-padding-x);font-size:var(--bs-pagination-font-size);color:var(--bs-pagination-color);text-decoration:none;background-color:var(--bs-pagination-bg);border:var(--bs-pagination-border-width) solid var(--bs-pagination-border-color);transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.page-link{transition:none}}.page-link:hover{z-index:2;color:var(--bs-pagination-hover-color);background-color:var(--bs-pagination-hover-bg);border-color:var(--bs-pagination-hover-border-color)}.page-link:focus{z-index:3;color:var(--bs-pagination-focus-color);background-color:var(--bs-pagination-focus-bg);outline:0;box-shadow:var(--bs-pagination-focus-box-shadow)}.active>.page-link,.page-link.active{z-index:3;color:var(--bs-pagination-active-color);background-color:var(--bs-pagination-active-bg);border-color:var(--bs-pagination-active-border-color)}.disabled>.page-link,.page-link.disabled{color:var(--bs-pagination-disabled-color);pointer-events:none;background-color:var(--bs-pagination-disabled-bg);border-color:var(--bs-pagination-disabled-border-color)}.page-item:not(:first-child) .page-link{margin-left:calc(-1 * var(--bs-border-width))}.page-item:first-child .page-link{border-top-left-radius:var(--bs-pagination-border-radius);border-bottom-left-radius:var(--bs-pagination-border-radius)}.page-item:last-child .page-link{border-top-right-radius:var(--bs-pagination-border-radius);border-bottom-right-radius:var(--bs-pagination-border-radius)}.pagination-lg{--bs-pagination-padding-x:1.5rem;--bs-pagination-padding-y:0.75rem;--bs-pagination-font-size:1.25rem;--bs-pagination-border-radius:var(--bs-border-radius-lg)}.pagination-sm{--bs-pagination-padding-x:0.5rem;--bs-pagination-padding-y:0.25rem;--bs-pagination-font-size:0.875rem;--bs-pagination-border-radius:var(--bs-border-radius-sm)}.badge{--bs-badge-padding-x:0.65em;--bs-badge-padding-y:0.35em;--bs-badge-font-size:0.75em;--bs-badge-font-weight:700;--bs-badge-color:#fff;--bs-badge-border-radius:var(--bs-border-radius);display:inline-block;padding:var(--bs-badge-padding-y) var(--bs-badge-padding-x);font-size:var(--bs-badge-font-size);font-weight:var(--bs-badge-font-weight);line-height:1;color:var(--bs-badge-color);text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:var(--bs-badge-border-radius)}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.alert{--bs-alert-bg:transparent;--bs-alert-padding-x:1rem;--bs-alert-padding-y:1rem;--bs-alert-margin-bottom:1rem;--bs-alert-color:inherit;--bs-alert-border-color:transparent;--bs-alert-border:var(--bs-border-width) solid var(--bs-alert-border-color);--bs-alert-border-radius:var(--bs-border-radius);--bs-alert-link-color:inherit;position:relative;padding:var(--bs-alert-padding-y) var(--bs-alert-padding-x);margin-bottom:var(--bs-alert-margin-bottom);color:var(--bs-alert-color);background-color:var(--bs-alert-bg);border:var(--bs-alert-border);border-radius:var(--bs-alert-border-radius)}.alert-heading{color:inherit}.alert-link{font-weight:700;color:var(--bs-alert-link-color)}.alert-dismissible{padding-right:3rem}.alert-dismissible .btn-close{position:absolute;top:0;right:0;z-index:2;padding:1.25rem 1rem}.alert-primary{--bs-alert-color:var(--bs-primary-text-emphasis);--bs-alert-bg:var(--bs-primary-bg-subtle);--bs-alert-border-color:var(--bs-primary-border-subtle);--bs-alert-link-color:var(--bs-primary-text-emphasis)}.alert-secondary{--bs-alert-color:var(--bs-secondary-text-emphasis);--bs-alert-bg:var(--bs-secondary-bg-subtle);--bs-alert-border-color:var(--bs-secondary-border-subtle);--bs-alert-link-color:var(--bs-secondary-text-emphasis)}.alert-success{--bs-alert-color:var(--bs-success-text-emphasis);--bs-alert-bg:var(--bs-success-bg-subtle);--bs-alert-border-color:var(--bs-success-border-subtle);--bs-alert-link-color:var(--bs-success-text-emphasis)}.alert-info{--bs-alert-color:var(--bs-info-text-emphasis);--bs-alert-bg:var(--bs-info-bg-subtle);--bs-alert-border-color:var(--bs-info-border-subtle);--bs-alert-link-color:var(--bs-info-text-emphasis)}.alert-warning{--bs-alert-color:var(--bs-warning-text-emphasis);--bs-alert-bg:var(--bs-warning-bg-subtle);--bs-alert-border-color:var(--bs-warning-border-subtle);--bs-alert-link-color:var(--bs-warning-text-emphasis)}.alert-danger{--bs-alert-color:var(--bs-danger-text-emphasis);--bs-alert-bg:var(--bs-danger-bg-subtle);--bs-alert-border-color:var(--bs-danger-border-subtle);--bs-alert-link-color:var(--bs-danger-text-emphasis)}.alert-light{--bs-alert-color:var(--bs-light-text-emphasis);--bs-alert-bg:var(--bs-light-bg-subtle);--bs-alert-border-color:var(--bs-light-border-subtle);--bs-alert-link-color:var(--bs-light-text-emphasis)}.alert-dark{--bs-alert-color:var(--bs-dark-text-emphasis);--bs-alert-bg:var(--bs-dark-bg-subtle);--bs-alert-border-color:var(--bs-dark-border-subtle);--bs-alert-link-color:var(--bs-dark-text-emphasis)}@keyframes progress-bar-stripes{0%{background-position-x:var(--bs-progress-height)}}.progress,.progress-stacked{--bs-progress-height:1rem;--bs-progress-font-size:0.75rem;--bs-progress-bg:var(--bs-secondary-bg);--bs-progress-border-radius:var(--bs-border-radius);--bs-progress-box-shadow:var(--bs-box-shadow-inset);--bs-progress-bar-color:#fff;--bs-progress-bar-bg:#0d6efd;--bs-progress-bar-transition:width 0.6s ease;display:flex;height:var(--bs-progress-height);overflow:hidden;font-size:var(--bs-progress-font-size);background-color:var(--bs-progress-bg);border-radius:var(--bs-progress-border-radius)}.progress-bar{display:flex;flex-direction:column;justify-content:center;overflow:hidden;color:var(--bs-progress-bar-color);text-align:center;white-space:nowrap;background-color:var(--bs-progress-bar-bg);transition:var(--bs-progress-bar-transition)}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:var(--bs-progress-height) var(--bs-progress-height)}.progress-stacked>.progress{overflow:visible}.progress-stacked>.progress>.progress-bar{width:100%}.progress-bar-animated{animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{animation:none}}.list-group{--bs-list-group-color:var(--bs-body-color);--bs-list-group-bg:var(--bs-body-bg);--bs-list-group-border-color:var(--bs-border-color);--bs-list-group-border-width:var(--bs-border-width);--bs-list-group-border-radius:var(--bs-border-radius);--bs-list-group-item-padding-x:1rem;--bs-list-group-item-padding-y:0.5rem;--bs-list-group-action-color:var(--bs-secondary-color);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-tertiary-bg);--bs-list-group-action-active-color:var(--bs-body-color);--bs-list-group-action-active-bg:var(--bs-secondary-bg);--bs-list-group-disabled-color:var(--bs-secondary-color);--bs-list-group-disabled-bg:var(--bs-body-bg);--bs-list-group-active-color:#fff;--bs-list-group-active-bg:#0d6efd;--bs-list-group-active-border-color:#0d6efd;display:flex;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:var(--bs-list-group-border-radius)}.list-group-numbered{list-style-type:none;counter-reset:section}.list-group-numbered>.list-group-item::before{content:counters(section, ".") ". ";counter-increment:section}.list-group-item{position:relative;display:block;padding:var(--bs-list-group-item-padding-y) var(--bs-list-group-item-padding-x);color:var(--bs-list-group-color);text-decoration:none;background-color:var(--bs-list-group-bg);border:var(--bs-list-group-border-width) solid var(--bs-list-group-border-color)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:var(--bs-list-group-disabled-color);pointer-events:none;background-color:var(--bs-list-group-disabled-bg)}.list-group-item.active{z-index:2;color:var(--bs-list-group-active-color);background-color:var(--bs-list-group-active-bg);border-color:var(--bs-list-group-active-border-color)}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:calc(-1 * var(--bs-list-group-border-width));border-top-width:var(--bs-list-group-border-width)}.list-group-item-action{width:100%;color:var(--bs-list-group-action-color);text-align:inherit}.list-group-item-action:not(.active):focus,.list-group-item-action:not(.active):hover{z-index:1;color:var(--bs-list-group-action-hover-color);text-decoration:none;background-color:var(--bs-list-group-action-hover-bg)}.list-group-item-action:not(.active):active{color:var(--bs-list-group-action-active-color);background-color:var(--bs-list-group-action-active-bg)}.list-group-horizontal{flex-direction:row}.list-group-horizontal>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}@media (min-width:576px){.list-group-horizontal-sm{flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:768px){.list-group-horizontal-md{flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:992px){.list-group-horizontal-lg{flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1200px){.list-group-horizontal-xl{flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}@media (min-width:1400px){.list-group-horizontal-xxl{flex-direction:row}.list-group-horizontal-xxl>.list-group-item:first-child:not(:last-child){border-bottom-left-radius:var(--bs-list-group-border-radius);border-top-right-radius:0}.list-group-horizontal-xxl>.list-group-item:last-child:not(:first-child){border-top-right-radius:var(--bs-list-group-border-radius);border-bottom-left-radius:0}.list-group-horizontal-xxl>.list-group-item.active{margin-top:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item{border-top-width:var(--bs-list-group-border-width);border-left-width:0}.list-group-horizontal-xxl>.list-group-item+.list-group-item.active{margin-left:calc(-1 * var(--bs-list-group-border-width));border-left-width:var(--bs-list-group-border-width)}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 var(--bs-list-group-border-width)}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{--bs-list-group-color:var(--bs-primary-text-emphasis);--bs-list-group-bg:var(--bs-primary-bg-subtle);--bs-list-group-border-color:var(--bs-primary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-primary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-primary-border-subtle);--bs-list-group-active-color:var(--bs-primary-bg-subtle);--bs-list-group-active-bg:var(--bs-primary-text-emphasis);--bs-list-group-active-border-color:var(--bs-primary-text-emphasis)}.list-group-item-secondary{--bs-list-group-color:var(--bs-secondary-text-emphasis);--bs-list-group-bg:var(--bs-secondary-bg-subtle);--bs-list-group-border-color:var(--bs-secondary-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-secondary-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-secondary-border-subtle);--bs-list-group-active-color:var(--bs-secondary-bg-subtle);--bs-list-group-active-bg:var(--bs-secondary-text-emphasis);--bs-list-group-active-border-color:var(--bs-secondary-text-emphasis)}.list-group-item-success{--bs-list-group-color:var(--bs-success-text-emphasis);--bs-list-group-bg:var(--bs-success-bg-subtle);--bs-list-group-border-color:var(--bs-success-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-success-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-success-border-subtle);--bs-list-group-active-color:var(--bs-success-bg-subtle);--bs-list-group-active-bg:var(--bs-success-text-emphasis);--bs-list-group-active-border-color:var(--bs-success-text-emphasis)}.list-group-item-info{--bs-list-group-color:var(--bs-info-text-emphasis);--bs-list-group-bg:var(--bs-info-bg-subtle);--bs-list-group-border-color:var(--bs-info-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-info-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-info-border-subtle);--bs-list-group-active-color:var(--bs-info-bg-subtle);--bs-list-group-active-bg:var(--bs-info-text-emphasis);--bs-list-group-active-border-color:var(--bs-info-text-emphasis)}.list-group-item-warning{--bs-list-group-color:var(--bs-warning-text-emphasis);--bs-list-group-bg:var(--bs-warning-bg-subtle);--bs-list-group-border-color:var(--bs-warning-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-warning-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-warning-border-subtle);--bs-list-group-active-color:var(--bs-warning-bg-subtle);--bs-list-group-active-bg:var(--bs-warning-text-emphasis);--bs-list-group-active-border-color:var(--bs-warning-text-emphasis)}.list-group-item-danger{--bs-list-group-color:var(--bs-danger-text-emphasis);--bs-list-group-bg:var(--bs-danger-bg-subtle);--bs-list-group-border-color:var(--bs-danger-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-danger-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-danger-border-subtle);--bs-list-group-active-color:var(--bs-danger-bg-subtle);--bs-list-group-active-bg:var(--bs-danger-text-emphasis);--bs-list-group-active-border-color:var(--bs-danger-text-emphasis)}.list-group-item-light{--bs-list-group-color:var(--bs-light-text-emphasis);--bs-list-group-bg:var(--bs-light-bg-subtle);--bs-list-group-border-color:var(--bs-light-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-light-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-light-border-subtle);--bs-list-group-active-color:var(--bs-light-bg-subtle);--bs-list-group-active-bg:var(--bs-light-text-emphasis);--bs-list-group-active-border-color:var(--bs-light-text-emphasis)}.list-group-item-dark{--bs-list-group-color:var(--bs-dark-text-emphasis);--bs-list-group-bg:var(--bs-dark-bg-subtle);--bs-list-group-border-color:var(--bs-dark-border-subtle);--bs-list-group-action-hover-color:var(--bs-emphasis-color);--bs-list-group-action-hover-bg:var(--bs-dark-border-subtle);--bs-list-group-action-active-color:var(--bs-emphasis-color);--bs-list-group-action-active-bg:var(--bs-dark-border-subtle);--bs-list-group-active-color:var(--bs-dark-bg-subtle);--bs-list-group-active-bg:var(--bs-dark-text-emphasis);--bs-list-group-active-border-color:var(--bs-dark-text-emphasis)}.btn-close{--bs-btn-close-color:#000;--bs-btn-close-bg:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23000%27%3e%3cpath d=%27M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414%27/%3e%3c/svg%3e");--bs-btn-close-opacity:0.5;--bs-btn-close-hover-opacity:0.75;--bs-btn-close-focus-shadow:0 0 0 0.25rem rgba(13, 110, 253, 0.25);--bs-btn-close-focus-opacity:1;--bs-btn-close-disabled-opacity:0.25;box-sizing:content-box;width:1em;height:1em;padding:.25em .25em;color:var(--bs-btn-close-color);background:transparent var(--bs-btn-close-bg) center/1em auto no-repeat;filter:var(--bs-btn-close-filter);border:0;border-radius:.375rem;opacity:var(--bs-btn-close-opacity)}.btn-close:hover{color:var(--bs-btn-close-color);text-decoration:none;opacity:var(--bs-btn-close-hover-opacity)}.btn-close:focus{outline:0;box-shadow:var(--bs-btn-close-focus-shadow);opacity:var(--bs-btn-close-focus-opacity)}.btn-close.disabled,.btn-close:disabled{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;opacity:var(--bs-btn-close-disabled-opacity)}.btn-close-white{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}:root,[data-bs-theme=light]{--bs-btn-close-filter: }[data-bs-theme=dark]{--bs-btn-close-filter:invert(1) grayscale(100%) brightness(200%)}.toast{--bs-toast-zindex:1090;--bs-toast-padding-x:0.75rem;--bs-toast-padding-y:0.5rem;--bs-toast-spacing:1.5rem;--bs-toast-max-width:350px;--bs-toast-font-size:0.875rem;--bs-toast-color: ;--bs-toast-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-border-width:var(--bs-border-width);--bs-toast-border-color:var(--bs-border-color-translucent);--bs-toast-border-radius:var(--bs-border-radius);--bs-toast-box-shadow:var(--bs-box-shadow);--bs-toast-header-color:var(--bs-secondary-color);--bs-toast-header-bg:rgba(var(--bs-body-bg-rgb), 0.85);--bs-toast-header-border-color:var(--bs-border-color-translucent);width:var(--bs-toast-max-width);max-width:100%;font-size:var(--bs-toast-font-size);color:var(--bs-toast-color);pointer-events:auto;background-color:var(--bs-toast-bg);background-clip:padding-box;border:var(--bs-toast-border-width) solid var(--bs-toast-border-color);box-shadow:var(--bs-toast-box-shadow);border-radius:var(--bs-toast-border-radius)}.toast.showing{opacity:0}.toast:not(.show){display:none}.toast-container{--bs-toast-zindex:1090;position:absolute;z-index:var(--bs-toast-zindex);width:-webkit-max-content;width:-moz-max-content;width:max-content;max-width:100%;pointer-events:none}.toast-container>:not(:last-child){margin-bottom:var(--bs-toast-spacing)}.toast-header{display:flex;align-items:center;padding:var(--bs-toast-padding-y) var(--bs-toast-padding-x);color:var(--bs-toast-header-color);background-color:var(--bs-toast-header-bg);background-clip:padding-box;border-bottom:var(--bs-toast-border-width) solid var(--bs-toast-header-border-color);border-top-left-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width));border-top-right-radius:calc(var(--bs-toast-border-radius) - var(--bs-toast-border-width))}.toast-header .btn-close{margin-right:calc(-.5 * var(--bs-toast-padding-x));margin-left:var(--bs-toast-padding-x)}.toast-body{padding:var(--bs-toast-padding-x);word-wrap:break-word}.modal{--bs-modal-zindex:1055;--bs-modal-width:500px;--bs-modal-padding:1rem;--bs-modal-margin:0.5rem;--bs-modal-color:var(--bs-body-color);--bs-modal-bg:var(--bs-body-bg);--bs-modal-border-color:var(--bs-border-color-translucent);--bs-modal-border-width:var(--bs-border-width);--bs-modal-border-radius:var(--bs-border-radius-lg);--bs-modal-box-shadow:var(--bs-box-shadow-sm);--bs-modal-inner-border-radius:calc(var(--bs-border-radius-lg) - (var(--bs-border-width)));--bs-modal-header-padding-x:1rem;--bs-modal-header-padding-y:1rem;--bs-modal-header-padding:1rem 1rem;--bs-modal-header-border-color:var(--bs-border-color);--bs-modal-header-border-width:var(--bs-border-width);--bs-modal-title-line-height:1.5;--bs-modal-footer-gap:0.5rem;--bs-modal-footer-bg: ;--bs-modal-footer-border-color:var(--bs-border-color);--bs-modal-footer-border-width:var(--bs-border-width);position:fixed;top:0;left:0;z-index:var(--bs-modal-zindex);display:none;width:100%;height:100%;overflow-x:hidden;overflow-y:auto;outline:0}.modal-dialog{position:relative;width:auto;margin:var(--bs-modal-margin);pointer-events:none}.modal.fade .modal-dialog{transform:translate(0,-50px);transition:transform .3s ease-out}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{transform:none}.modal.modal-static .modal-dialog{transform:scale(1.02)}.modal-dialog-scrollable{height:calc(100% - var(--bs-modal-margin) * 2)}.modal-dialog-scrollable .modal-content{max-height:100%;overflow:hidden}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:flex;align-items:center;min-height:calc(100% - var(--bs-modal-margin) * 2)}.modal-content{position:relative;display:flex;flex-direction:column;width:100%;color:var(--bs-modal-color);pointer-events:auto;background-color:var(--bs-modal-bg);background-clip:padding-box;border:var(--bs-modal-border-width) solid var(--bs-modal-border-color);border-radius:var(--bs-modal-border-radius);outline:0}.modal-backdrop{--bs-backdrop-zindex:1050;--bs-backdrop-bg:#000;--bs-backdrop-opacity:0.5;position:fixed;top:0;left:0;z-index:var(--bs-backdrop-zindex);width:100vw;height:100vh;background-color:var(--bs-backdrop-bg)}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:var(--bs-backdrop-opacity)}.modal-header{display:flex;flex-shrink:0;align-items:center;padding:var(--bs-modal-header-padding);border-bottom:var(--bs-modal-header-border-width) solid var(--bs-modal-header-border-color);border-top-left-radius:var(--bs-modal-inner-border-radius);border-top-right-radius:var(--bs-modal-inner-border-radius)}.modal-header .btn-close{padding:calc(var(--bs-modal-header-padding-y) * .5) calc(var(--bs-modal-header-padding-x) * .5);margin-top:calc(-.5 * var(--bs-modal-header-padding-y));margin-right:calc(-.5 * var(--bs-modal-header-padding-x));margin-bottom:calc(-.5 * var(--bs-modal-header-padding-y));margin-left:auto}.modal-title{margin-bottom:0;line-height:var(--bs-modal-title-line-height)}.modal-body{position:relative;flex:1 1 auto;padding:var(--bs-modal-padding)}.modal-footer{display:flex;flex-shrink:0;flex-wrap:wrap;align-items:center;justify-content:flex-end;padding:calc(var(--bs-modal-padding) - var(--bs-modal-footer-gap) * .5);background-color:var(--bs-modal-footer-bg);border-top:var(--bs-modal-footer-border-width) solid var(--bs-modal-footer-border-color);border-bottom-right-radius:var(--bs-modal-inner-border-radius);border-bottom-left-radius:var(--bs-modal-inner-border-radius)}.modal-footer>*{margin:calc(var(--bs-modal-footer-gap) * .5)}@media (min-width:576px){.modal{--bs-modal-margin:1.75rem;--bs-modal-box-shadow:var(--bs-box-shadow)}.modal-dialog{max-width:var(--bs-modal-width);margin-right:auto;margin-left:auto}.modal-sm{--bs-modal-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{--bs-modal-width:800px}}@media (min-width:1200px){.modal-xl{--bs-modal-width:1140px}}.modal-fullscreen{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen .modal-footer,.modal-fullscreen .modal-header{border-radius:0}.modal-fullscreen .modal-body{overflow-y:auto}@media (max-width:575.98px){.modal-fullscreen-sm-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-sm-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-sm-down .modal-footer,.modal-fullscreen-sm-down .modal-header{border-radius:0}.modal-fullscreen-sm-down .modal-body{overflow-y:auto}}@media (max-width:767.98px){.modal-fullscreen-md-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-md-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-md-down .modal-footer,.modal-fullscreen-md-down .modal-header{border-radius:0}.modal-fullscreen-md-down .modal-body{overflow-y:auto}}@media (max-width:991.98px){.modal-fullscreen-lg-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-lg-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-lg-down .modal-footer,.modal-fullscreen-lg-down .modal-header{border-radius:0}.modal-fullscreen-lg-down .modal-body{overflow-y:auto}}@media (max-width:1199.98px){.modal-fullscreen-xl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xl-down .modal-footer,.modal-fullscreen-xl-down .modal-header{border-radius:0}.modal-fullscreen-xl-down .modal-body{overflow-y:auto}}@media (max-width:1399.98px){.modal-fullscreen-xxl-down{width:100vw;max-width:none;height:100%;margin:0}.modal-fullscreen-xxl-down .modal-content{height:100%;border:0;border-radius:0}.modal-fullscreen-xxl-down .modal-footer,.modal-fullscreen-xxl-down .modal-header{border-radius:0}.modal-fullscreen-xxl-down .modal-body{overflow-y:auto}}.tooltip{--bs-tooltip-zindex:1080;--bs-tooltip-max-width:200px;--bs-tooltip-padding-x:0.5rem;--bs-tooltip-padding-y:0.25rem;--bs-tooltip-margin: ;--bs-tooltip-font-size:0.875rem;--bs-tooltip-color:var(--bs-body-bg);--bs-tooltip-bg:var(--bs-emphasis-color);--bs-tooltip-border-radius:var(--bs-border-radius);--bs-tooltip-opacity:0.9;--bs-tooltip-arrow-width:0.8rem;--bs-tooltip-arrow-height:0.4rem;z-index:var(--bs-tooltip-zindex);display:block;margin:var(--bs-tooltip-margin);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-tooltip-font-size);word-wrap:break-word;opacity:0}.tooltip.show{opacity:var(--bs-tooltip-opacity)}.tooltip .tooltip-arrow{display:block;width:var(--bs-tooltip-arrow-width);height:var(--bs-tooltip-arrow-height)}.tooltip .tooltip-arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow,.bs-tooltip-top .tooltip-arrow{bottom:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=top] .tooltip-arrow::before,.bs-tooltip-top .tooltip-arrow::before{top:-1px;border-width:var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-top-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow,.bs-tooltip-end .tooltip-arrow{left:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=right] .tooltip-arrow::before,.bs-tooltip-end .tooltip-arrow::before{right:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height) calc(var(--bs-tooltip-arrow-width) * .5) 0;border-right-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow,.bs-tooltip-bottom .tooltip-arrow{top:calc(-1 * var(--bs-tooltip-arrow-height))}.bs-tooltip-auto[data-popper-placement^=bottom] .tooltip-arrow::before,.bs-tooltip-bottom .tooltip-arrow::before{bottom:-1px;border-width:0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-bottom-color:var(--bs-tooltip-bg)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow,.bs-tooltip-start .tooltip-arrow{right:calc(-1 * var(--bs-tooltip-arrow-height));width:var(--bs-tooltip-arrow-height);height:var(--bs-tooltip-arrow-width)}.bs-tooltip-auto[data-popper-placement^=left] .tooltip-arrow::before,.bs-tooltip-start .tooltip-arrow::before{left:-1px;border-width:calc(var(--bs-tooltip-arrow-width) * .5) 0 calc(var(--bs-tooltip-arrow-width) * .5) var(--bs-tooltip-arrow-height);border-left-color:var(--bs-tooltip-bg)}.tooltip-inner{max-width:var(--bs-tooltip-max-width);padding:var(--bs-tooltip-padding-y) var(--bs-tooltip-padding-x);color:var(--bs-tooltip-color);text-align:center;background-color:var(--bs-tooltip-bg);border-radius:var(--bs-tooltip-border-radius)}.popover{--bs-popover-zindex:1070;--bs-popover-max-width:276px;--bs-popover-font-size:0.875rem;--bs-popover-bg:var(--bs-body-bg);--bs-popover-border-width:var(--bs-border-width);--bs-popover-border-color:var(--bs-border-color-translucent);--bs-popover-border-radius:var(--bs-border-radius-lg);--bs-popover-inner-border-radius:calc(var(--bs-border-radius-lg) - var(--bs-border-width));--bs-popover-box-shadow:var(--bs-box-shadow);--bs-popover-header-padding-x:1rem;--bs-popover-header-padding-y:0.5rem;--bs-popover-header-font-size:1rem;--bs-popover-header-color:inherit;--bs-popover-header-bg:var(--bs-secondary-bg);--bs-popover-body-padding-x:1rem;--bs-popover-body-padding-y:1rem;--bs-popover-body-color:var(--bs-body-color);--bs-popover-arrow-width:1rem;--bs-popover-arrow-height:0.5rem;--bs-popover-arrow-border:var(--bs-popover-border-color);z-index:var(--bs-popover-zindex);display:block;max-width:var(--bs-popover-max-width);font-family:var(--bs-font-sans-serif);font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;white-space:normal;word-spacing:normal;line-break:auto;font-size:var(--bs-popover-font-size);word-wrap:break-word;background-color:var(--bs-popover-bg);background-clip:padding-box;border:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-radius:var(--bs-popover-border-radius)}.popover .popover-arrow{display:block;width:var(--bs-popover-arrow-width);height:var(--bs-popover-arrow-height)}.popover .popover-arrow::after,.popover .popover-arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid;border-width:0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow,.bs-popover-top>.popover-arrow{bottom:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::after,.bs-popover-top>.popover-arrow::before{border-width:var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::before,.bs-popover-top>.popover-arrow::before{bottom:0;border-top-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=top]>.popover-arrow::after,.bs-popover-top>.popover-arrow::after{bottom:var(--bs-popover-border-width);border-top-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow,.bs-popover-end>.popover-arrow{left:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::after,.bs-popover-end>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height) calc(var(--bs-popover-arrow-width) * .5) 0}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::before,.bs-popover-end>.popover-arrow::before{left:0;border-right-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=right]>.popover-arrow::after,.bs-popover-end>.popover-arrow::after{left:var(--bs-popover-border-width);border-right-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow,.bs-popover-bottom>.popover-arrow{top:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width))}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::before{border-width:0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::before,.bs-popover-bottom>.popover-arrow::before{top:0;border-bottom-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=bottom]>.popover-arrow::after,.bs-popover-bottom>.popover-arrow::after{top:var(--bs-popover-border-width);border-bottom-color:var(--bs-popover-bg)}.bs-popover-auto[data-popper-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:var(--bs-popover-arrow-width);margin-left:calc(-.5 * var(--bs-popover-arrow-width));content:"";border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-header-bg)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow,.bs-popover-start>.popover-arrow{right:calc(-1 * (var(--bs-popover-arrow-height)) - var(--bs-popover-border-width));width:var(--bs-popover-arrow-height);height:var(--bs-popover-arrow-width)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::after,.bs-popover-start>.popover-arrow::before{border-width:calc(var(--bs-popover-arrow-width) * .5) 0 calc(var(--bs-popover-arrow-width) * .5) var(--bs-popover-arrow-height)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::before,.bs-popover-start>.popover-arrow::before{right:0;border-left-color:var(--bs-popover-arrow-border)}.bs-popover-auto[data-popper-placement^=left]>.popover-arrow::after,.bs-popover-start>.popover-arrow::after{right:var(--bs-popover-border-width);border-left-color:var(--bs-popover-bg)}.popover-header{padding:var(--bs-popover-header-padding-y) var(--bs-popover-header-padding-x);margin-bottom:0;font-size:var(--bs-popover-header-font-size);color:var(--bs-popover-header-color);background-color:var(--bs-popover-header-bg);border-bottom:var(--bs-popover-border-width) solid var(--bs-popover-border-color);border-top-left-radius:var(--bs-popover-inner-border-radius);border-top-right-radius:var(--bs-popover-inner-border-radius)}.popover-header:empty{display:none}.popover-body{padding:var(--bs-popover-body-padding-y) var(--bs-popover-body-padding-x);color:var(--bs-popover-body-color)}.carousel{position:relative}.carousel.pointer-event{touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-end,.carousel-item-next:not(.carousel-item-start){transform:translateX(100%)}.active.carousel-item-start,.carousel-item-prev:not(.carousel-item-end){transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;transform:none}.carousel-fade .carousel-item-next.carousel-item-start,.carousel-fade .carousel-item-prev.carousel-item-end,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-end,.carousel-fade .active.carousel-item-start{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:flex;align-items:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;filter:var(--bs-carousel-control-icon-filter);border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:2rem;height:2rem;background-repeat:no-repeat;background-position:50%;background-size:100% 100%}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M11.354 1.646a.5.5 0 0 1 0 .708L5.707 8l5.647 5.646a.5.5 0 0 1-.708.708l-6-6a.5.5 0 0 1 0-.708l6-6a.5.5 0 0 1 .708 0%27/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 16 16%27 fill=%27%23fff%27%3e%3cpath d=%27M4.646 1.646a.5.5 0 0 1 .708 0l6 6a.5.5 0 0 1 0 .708l-6 6a.5.5 0 0 1-.708-.708L10.293 8 4.646 2.354a.5.5 0 0 1 0-.708%27/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:2;display:flex;justify-content:center;padding:0;margin-right:15%;margin-bottom:1rem;margin-left:15%}.carousel-indicators [data-bs-target]{box-sizing:content-box;flex:0 1 auto;width:30px;height:3px;padding:0;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:var(--bs-carousel-indicator-active-bg);background-clip:padding-box;border:0;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators [data-bs-target]{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:1.25rem;left:15%;padding-top:1.25rem;padding-bottom:1.25rem;color:var(--bs-carousel-caption-color);text-align:center}.carousel-dark{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}:root,[data-bs-theme=light]{--bs-carousel-indicator-active-bg:#fff;--bs-carousel-caption-color:#fff;--bs-carousel-control-icon-filter: }[data-bs-theme=dark]{--bs-carousel-indicator-active-bg:#000;--bs-carousel-caption-color:#000;--bs-carousel-control-icon-filter:invert(1) grayscale(100)}.spinner-border,.spinner-grow{display:inline-block;flex-shrink:0;width:var(--bs-spinner-width);height:var(--bs-spinner-height);vertical-align:var(--bs-spinner-vertical-align);border-radius:50%;animation:var(--bs-spinner-animation-speed) linear infinite var(--bs-spinner-animation-name)}@keyframes spinner-border{to{transform:rotate(360deg)}}.spinner-border{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-border-width:0.25em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-border;border:var(--bs-spinner-border-width) solid currentcolor;border-right-color:transparent}.spinner-border-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem;--bs-spinner-border-width:0.2em}@keyframes spinner-grow{0%{transform:scale(0)}50%{opacity:1;transform:none}}.spinner-grow{--bs-spinner-width:2rem;--bs-spinner-height:2rem;--bs-spinner-vertical-align:-0.125em;--bs-spinner-animation-speed:0.75s;--bs-spinner-animation-name:spinner-grow;background-color:currentcolor;opacity:0}.spinner-grow-sm{--bs-spinner-width:1rem;--bs-spinner-height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{--bs-spinner-animation-speed:1.5s}}.offcanvas,.offcanvas-lg,.offcanvas-md,.offcanvas-sm,.offcanvas-xl,.offcanvas-xxl{--bs-offcanvas-zindex:1045;--bs-offcanvas-width:400px;--bs-offcanvas-height:30vh;--bs-offcanvas-padding-x:1rem;--bs-offcanvas-padding-y:1rem;--bs-offcanvas-color:var(--bs-body-color);--bs-offcanvas-bg:var(--bs-body-bg);--bs-offcanvas-border-width:var(--bs-border-width);--bs-offcanvas-border-color:var(--bs-border-color-translucent);--bs-offcanvas-box-shadow:var(--bs-box-shadow-sm);--bs-offcanvas-transition:transform 0.3s ease-in-out;--bs-offcanvas-title-line-height:1.5}@media (max-width:575.98px){.offcanvas-sm{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:575.98px) and (prefers-reduced-motion:reduce){.offcanvas-sm{transition:none}}@media (max-width:575.98px){.offcanvas-sm.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-sm.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-sm.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-sm.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-sm.show:not(.hiding),.offcanvas-sm.showing{transform:none}.offcanvas-sm.hiding,.offcanvas-sm.show,.offcanvas-sm.showing{visibility:visible}}@media (min-width:576px){.offcanvas-sm{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-sm .offcanvas-header{display:none}.offcanvas-sm .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:767.98px){.offcanvas-md{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:767.98px) and (prefers-reduced-motion:reduce){.offcanvas-md{transition:none}}@media (max-width:767.98px){.offcanvas-md.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-md.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-md.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-md.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-md.show:not(.hiding),.offcanvas-md.showing{transform:none}.offcanvas-md.hiding,.offcanvas-md.show,.offcanvas-md.showing{visibility:visible}}@media (min-width:768px){.offcanvas-md{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-md .offcanvas-header{display:none}.offcanvas-md .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:991.98px){.offcanvas-lg{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:991.98px) and (prefers-reduced-motion:reduce){.offcanvas-lg{transition:none}}@media (max-width:991.98px){.offcanvas-lg.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-lg.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-lg.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-lg.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-lg.show:not(.hiding),.offcanvas-lg.showing{transform:none}.offcanvas-lg.hiding,.offcanvas-lg.show,.offcanvas-lg.showing{visibility:visible}}@media (min-width:992px){.offcanvas-lg{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-lg .offcanvas-header{display:none}.offcanvas-lg .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1199.98px){.offcanvas-xl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1199.98px) and (prefers-reduced-motion:reduce){.offcanvas-xl{transition:none}}@media (max-width:1199.98px){.offcanvas-xl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xl.show:not(.hiding),.offcanvas-xl.showing{transform:none}.offcanvas-xl.hiding,.offcanvas-xl.show,.offcanvas-xl.showing{visibility:visible}}@media (min-width:1200px){.offcanvas-xl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xl .offcanvas-header{display:none}.offcanvas-xl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}@media (max-width:1399.98px){.offcanvas-xxl{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}}@media (max-width:1399.98px) and (prefers-reduced-motion:reduce){.offcanvas-xxl{transition:none}}@media (max-width:1399.98px){.offcanvas-xxl.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas-xxl.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas-xxl.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas-xxl.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas-xxl.show:not(.hiding),.offcanvas-xxl.showing{transform:none}.offcanvas-xxl.hiding,.offcanvas-xxl.show,.offcanvas-xxl.showing{visibility:visible}}@media (min-width:1400px){.offcanvas-xxl{--bs-offcanvas-height:auto;--bs-offcanvas-border-width:0;background-color:transparent!important}.offcanvas-xxl .offcanvas-header{display:none}.offcanvas-xxl .offcanvas-body{display:flex;flex-grow:0;padding:0;overflow-y:visible;background-color:transparent!important}}.offcanvas{position:fixed;bottom:0;z-index:var(--bs-offcanvas-zindex);display:flex;flex-direction:column;max-width:100%;color:var(--bs-offcanvas-color);visibility:hidden;background-color:var(--bs-offcanvas-bg);background-clip:padding-box;outline:0;transition:var(--bs-offcanvas-transition)}@media (prefers-reduced-motion:reduce){.offcanvas{transition:none}}.offcanvas.offcanvas-start{top:0;left:0;width:var(--bs-offcanvas-width);border-right:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(-100%)}.offcanvas.offcanvas-end{top:0;right:0;width:var(--bs-offcanvas-width);border-left:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateX(100%)}.offcanvas.offcanvas-top{top:0;right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-bottom:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(-100%)}.offcanvas.offcanvas-bottom{right:0;left:0;height:var(--bs-offcanvas-height);max-height:100%;border-top:var(--bs-offcanvas-border-width) solid var(--bs-offcanvas-border-color);transform:translateY(100%)}.offcanvas.show:not(.hiding),.offcanvas.showing{transform:none}.offcanvas.hiding,.offcanvas.show,.offcanvas.showing{visibility:visible}.offcanvas-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.offcanvas-backdrop.fade{opacity:0}.offcanvas-backdrop.show{opacity:.5}.offcanvas-header{display:flex;align-items:center;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x)}.offcanvas-header .btn-close{padding:calc(var(--bs-offcanvas-padding-y) * .5) calc(var(--bs-offcanvas-padding-x) * .5);margin-top:calc(-.5 * var(--bs-offcanvas-padding-y));margin-right:calc(-.5 * var(--bs-offcanvas-padding-x));margin-bottom:calc(-.5 * var(--bs-offcanvas-padding-y));margin-left:auto}.offcanvas-title{margin-bottom:0;line-height:var(--bs-offcanvas-title-line-height)}.offcanvas-body{flex-grow:1;padding:var(--bs-offcanvas-padding-y) var(--bs-offcanvas-padding-x);overflow-y:auto}.placeholder{display:inline-block;min-height:1em;vertical-align:middle;cursor:wait;background-color:currentcolor;opacity:.5}.placeholder.btn::before{display:inline-block;content:""}.placeholder-xs{min-height:.6em}.placeholder-sm{min-height:.8em}.placeholder-lg{min-height:1.2em}.placeholder-glow .placeholder{animation:placeholder-glow 2s ease-in-out infinite}@keyframes placeholder-glow{50%{opacity:.2}}.placeholder-wave{-webkit-mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);mask-image:linear-gradient(130deg,#000 55%,rgba(0,0,0,0.8) 75%,#000 95%);-webkit-mask-size:200% 100%;mask-size:200% 100%;animation:placeholder-wave 2s linear infinite}@keyframes placeholder-wave{100%{-webkit-mask-position:-200% 0%;mask-position:-200% 0%}}.clearfix::after{display:block;clear:both;content:""}.text-bg-primary{color:#fff!important;background-color:RGBA(var(--bs-primary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-secondary{color:#fff!important;background-color:RGBA(var(--bs-secondary-rgb),var(--bs-bg-opacity,1))!important}.text-bg-success{color:#fff!important;background-color:RGBA(var(--bs-success-rgb),var(--bs-bg-opacity,1))!important}.text-bg-info{color:#000!important;background-color:RGBA(var(--bs-info-rgb),var(--bs-bg-opacity,1))!important}.text-bg-warning{color:#000!important;background-color:RGBA(var(--bs-warning-rgb),var(--bs-bg-opacity,1))!important}.text-bg-danger{color:#fff!important;background-color:RGBA(var(--bs-danger-rgb),var(--bs-bg-opacity,1))!important}.text-bg-light{color:#000!important;background-color:RGBA(var(--bs-light-rgb),var(--bs-bg-opacity,1))!important}.text-bg-dark{color:#fff!important;background-color:RGBA(var(--bs-dark-rgb),var(--bs-bg-opacity,1))!important}.link-primary{color:RGBA(var(--bs-primary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-primary-rgb),var(--bs-link-underline-opacity,1))!important}.link-primary:focus,.link-primary:hover{color:RGBA(10,88,202,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(10,88,202,var(--bs-link-underline-opacity,1))!important}.link-secondary{color:RGBA(var(--bs-secondary-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-secondary-rgb),var(--bs-link-underline-opacity,1))!important}.link-secondary:focus,.link-secondary:hover{color:RGBA(86,94,100,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(86,94,100,var(--bs-link-underline-opacity,1))!important}.link-success{color:RGBA(var(--bs-success-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-success-rgb),var(--bs-link-underline-opacity,1))!important}.link-success:focus,.link-success:hover{color:RGBA(20,108,67,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(20,108,67,var(--bs-link-underline-opacity,1))!important}.link-info{color:RGBA(var(--bs-info-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-info-rgb),var(--bs-link-underline-opacity,1))!important}.link-info:focus,.link-info:hover{color:RGBA(61,213,243,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(61,213,243,var(--bs-link-underline-opacity,1))!important}.link-warning{color:RGBA(var(--bs-warning-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-warning-rgb),var(--bs-link-underline-opacity,1))!important}.link-warning:focus,.link-warning:hover{color:RGBA(255,205,57,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(255,205,57,var(--bs-link-underline-opacity,1))!important}.link-danger{color:RGBA(var(--bs-danger-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-danger-rgb),var(--bs-link-underline-opacity,1))!important}.link-danger:focus,.link-danger:hover{color:RGBA(176,42,55,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(176,42,55,var(--bs-link-underline-opacity,1))!important}.link-light{color:RGBA(var(--bs-light-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-light-rgb),var(--bs-link-underline-opacity,1))!important}.link-light:focus,.link-light:hover{color:RGBA(249,250,251,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(249,250,251,var(--bs-link-underline-opacity,1))!important}.link-dark{color:RGBA(var(--bs-dark-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-dark-rgb),var(--bs-link-underline-opacity,1))!important}.link-dark:focus,.link-dark:hover{color:RGBA(26,30,33,var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(26,30,33,var(--bs-link-underline-opacity,1))!important}.link-body-emphasis{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,1))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-body-emphasis:focus,.link-body-emphasis:hover{color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-opacity,.75))!important;-webkit-text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important;text-decoration-color:RGBA(var(--bs-emphasis-color-rgb),var(--bs-link-underline-opacity,0.75))!important}.focus-ring:focus{outline:0;box-shadow:var(--bs-focus-ring-x,0) var(--bs-focus-ring-y,0) var(--bs-focus-ring-blur,0) var(--bs-focus-ring-width) var(--bs-focus-ring-color)}.icon-link{display:inline-flex;gap:.375rem;align-items:center;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-opacity,0.5));text-underline-offset:0.25em;-webkit-backface-visibility:hidden;backface-visibility:hidden}.icon-link>.bi{flex-shrink:0;width:1em;height:1em;fill:currentcolor;transition:.2s ease-in-out transform}@media (prefers-reduced-motion:reduce){.icon-link>.bi{transition:none}}.icon-link-hover:focus-visible>.bi,.icon-link-hover:hover>.bi{transform:var(--bs-icon-link-transform,translate3d(.25em,0,0))}.ratio{position:relative;width:100%}.ratio::before{display:block;padding-top:var(--bs-aspect-ratio);content:""}.ratio>*{position:absolute;top:0;left:0;width:100%;height:100%}.ratio-1x1{--bs-aspect-ratio:100%}.ratio-4x3{--bs-aspect-ratio:75%}.ratio-16x9{--bs-aspect-ratio:56.25%}.ratio-21x9{--bs-aspect-ratio:42.8571428571%}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}@media (min-width:576px){.sticky-sm-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-sm-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:768px){.sticky-md-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-md-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:992px){.sticky-lg-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-lg-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1200px){.sticky-xl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}@media (min-width:1400px){.sticky-xxl-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}.sticky-xxl-bottom{position:-webkit-sticky;position:sticky;bottom:0;z-index:1020}}.hstack{display:flex;flex-direction:row;align-items:center;align-self:stretch}.vstack{display:flex;flex:1 1 auto;flex-direction:column;align-self:stretch}.visually-hidden,.visually-hidden-focusable:not(:focus):not(:focus-within){width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.visually-hidden-focusable:not(:focus):not(:focus-within):not(caption),.visually-hidden:not(caption){position:absolute!important}.visually-hidden *,.visually-hidden-focusable:not(:focus):not(:focus-within) *{overflow:hidden!important}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;content:""}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vr{display:inline-block;align-self:stretch;width:var(--bs-border-width);min-height:1em;background-color:currentcolor;opacity:.25}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.float-start{float:left!important}.float-end{float:right!important}.float-none{float:none!important}.object-fit-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-none{-o-object-fit:none!important;object-fit:none!important}.opacity-0{opacity:0!important}.opacity-25{opacity:.25!important}.opacity-50{opacity:.5!important}.opacity-75{opacity:.75!important}.opacity-100{opacity:1!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.overflow-visible{overflow:visible!important}.overflow-scroll{overflow:scroll!important}.overflow-x-auto{overflow-x:auto!important}.overflow-x-hidden{overflow-x:hidden!important}.overflow-x-visible{overflow-x:visible!important}.overflow-x-scroll{overflow-x:scroll!important}.overflow-y-auto{overflow-y:auto!important}.overflow-y-hidden{overflow-y:hidden!important}.overflow-y-visible{overflow-y:visible!important}.overflow-y-scroll{overflow-y:scroll!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-grid{display:grid!important}.d-inline-grid{display:inline-grid!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:flex!important}.d-inline-flex{display:inline-flex!important}.d-none{display:none!important}.shadow{box-shadow:var(--bs-box-shadow)!important}.shadow-sm{box-shadow:var(--bs-box-shadow-sm)!important}.shadow-lg{box-shadow:var(--bs-box-shadow-lg)!important}.shadow-none{box-shadow:none!important}.focus-ring-primary{--bs-focus-ring-color:rgba(var(--bs-primary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-secondary{--bs-focus-ring-color:rgba(var(--bs-secondary-rgb), var(--bs-focus-ring-opacity))}.focus-ring-success{--bs-focus-ring-color:rgba(var(--bs-success-rgb), var(--bs-focus-ring-opacity))}.focus-ring-info{--bs-focus-ring-color:rgba(var(--bs-info-rgb), var(--bs-focus-ring-opacity))}.focus-ring-warning{--bs-focus-ring-color:rgba(var(--bs-warning-rgb), var(--bs-focus-ring-opacity))}.focus-ring-danger{--bs-focus-ring-color:rgba(var(--bs-danger-rgb), var(--bs-focus-ring-opacity))}.focus-ring-light{--bs-focus-ring-color:rgba(var(--bs-light-rgb), var(--bs-focus-ring-opacity))}.focus-ring-dark{--bs-focus-ring-color:rgba(var(--bs-dark-rgb), var(--bs-focus-ring-opacity))}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.top-0{top:0!important}.top-50{top:50%!important}.top-100{top:100%!important}.bottom-0{bottom:0!important}.bottom-50{bottom:50%!important}.bottom-100{bottom:100%!important}.start-0{left:0!important}.start-50{left:50%!important}.start-100{left:100%!important}.end-0{right:0!important}.end-50{right:50%!important}.end-100{right:100%!important}.translate-middle{transform:translate(-50%,-50%)!important}.translate-middle-x{transform:translateX(-50%)!important}.translate-middle-y{transform:translateY(-50%)!important}.border{border:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-0{border:0!important}.border-top{border-top:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-top-0{border-top:0!important}.border-end{border-right:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-end-0{border-right:0!important}.border-bottom{border-bottom:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-bottom-0{border-bottom:0!important}.border-start{border-left:var(--bs-border-width) var(--bs-border-style) var(--bs-border-color)!important}.border-start-0{border-left:0!important}.border-primary{--bs-border-opacity:1;border-color:rgba(var(--bs-primary-rgb),var(--bs-border-opacity))!important}.border-secondary{--bs-border-opacity:1;border-color:rgba(var(--bs-secondary-rgb),var(--bs-border-opacity))!important}.border-success{--bs-border-opacity:1;border-color:rgba(var(--bs-success-rgb),var(--bs-border-opacity))!important}.border-info{--bs-border-opacity:1;border-color:rgba(var(--bs-info-rgb),var(--bs-border-opacity))!important}.border-warning{--bs-border-opacity:1;border-color:rgba(var(--bs-warning-rgb),var(--bs-border-opacity))!important}.border-danger{--bs-border-opacity:1;border-color:rgba(var(--bs-danger-rgb),var(--bs-border-opacity))!important}.border-light{--bs-border-opacity:1;border-color:rgba(var(--bs-light-rgb),var(--bs-border-opacity))!important}.border-dark{--bs-border-opacity:1;border-color:rgba(var(--bs-dark-rgb),var(--bs-border-opacity))!important}.border-black{--bs-border-opacity:1;border-color:rgba(var(--bs-black-rgb),var(--bs-border-opacity))!important}.border-white{--bs-border-opacity:1;border-color:rgba(var(--bs-white-rgb),var(--bs-border-opacity))!important}.border-primary-subtle{border-color:var(--bs-primary-border-subtle)!important}.border-secondary-subtle{border-color:var(--bs-secondary-border-subtle)!important}.border-success-subtle{border-color:var(--bs-success-border-subtle)!important}.border-info-subtle{border-color:var(--bs-info-border-subtle)!important}.border-warning-subtle{border-color:var(--bs-warning-border-subtle)!important}.border-danger-subtle{border-color:var(--bs-danger-border-subtle)!important}.border-light-subtle{border-color:var(--bs-light-border-subtle)!important}.border-dark-subtle{border-color:var(--bs-dark-border-subtle)!important}.border-1{border-width:1px!important}.border-2{border-width:2px!important}.border-3{border-width:3px!important}.border-4{border-width:4px!important}.border-5{border-width:5px!important}.border-opacity-10{--bs-border-opacity:0.1}.border-opacity-25{--bs-border-opacity:0.25}.border-opacity-50{--bs-border-opacity:0.5}.border-opacity-75{--bs-border-opacity:0.75}.border-opacity-100{--bs-border-opacity:1}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.mw-100{max-width:100%!important}.vw-100{width:100vw!important}.min-vw-100{min-width:100vw!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mh-100{max-height:100%!important}.vh-100{height:100vh!important}.min-vh-100{min-height:100vh!important}.flex-fill{flex:1 1 auto!important}.flex-row{flex-direction:row!important}.flex-column{flex-direction:column!important}.flex-row-reverse{flex-direction:row-reverse!important}.flex-column-reverse{flex-direction:column-reverse!important}.flex-grow-0{flex-grow:0!important}.flex-grow-1{flex-grow:1!important}.flex-shrink-0{flex-shrink:0!important}.flex-shrink-1{flex-shrink:1!important}.flex-wrap{flex-wrap:wrap!important}.flex-nowrap{flex-wrap:nowrap!important}.flex-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-start{justify-content:flex-start!important}.justify-content-end{justify-content:flex-end!important}.justify-content-center{justify-content:center!important}.justify-content-between{justify-content:space-between!important}.justify-content-around{justify-content:space-around!important}.justify-content-evenly{justify-content:space-evenly!important}.align-items-start{align-items:flex-start!important}.align-items-end{align-items:flex-end!important}.align-items-center{align-items:center!important}.align-items-baseline{align-items:baseline!important}.align-items-stretch{align-items:stretch!important}.align-content-start{align-content:flex-start!important}.align-content-end{align-content:flex-end!important}.align-content-center{align-content:center!important}.align-content-between{align-content:space-between!important}.align-content-around{align-content:space-around!important}.align-content-stretch{align-content:stretch!important}.align-self-auto{align-self:auto!important}.align-self-start{align-self:flex-start!important}.align-self-end{align-self:flex-end!important}.align-self-center{align-self:center!important}.align-self-baseline{align-self:baseline!important}.align-self-stretch{align-self:stretch!important}.order-first{order:-1!important}.order-0{order:0!important}.order-1{order:1!important}.order-2{order:2!important}.order-3{order:3!important}.order-4{order:4!important}.order-5{order:5!important}.order-last{order:6!important}.m-0{margin:0!important}.m-1{margin:.25rem!important}.m-2{margin:.5rem!important}.m-3{margin:1rem!important}.m-4{margin:1.5rem!important}.m-5{margin:3rem!important}.m-auto{margin:auto!important}.mx-0{margin-right:0!important;margin-left:0!important}.mx-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-3{margin-right:1rem!important;margin-left:1rem!important}.mx-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-5{margin-right:3rem!important;margin-left:3rem!important}.mx-auto{margin-right:auto!important;margin-left:auto!important}.my-0{margin-top:0!important;margin-bottom:0!important}.my-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-0{margin-top:0!important}.mt-1{margin-top:.25rem!important}.mt-2{margin-top:.5rem!important}.mt-3{margin-top:1rem!important}.mt-4{margin-top:1.5rem!important}.mt-5{margin-top:3rem!important}.mt-auto{margin-top:auto!important}.me-0{margin-right:0!important}.me-1{margin-right:.25rem!important}.me-2{margin-right:.5rem!important}.me-3{margin-right:1rem!important}.me-4{margin-right:1.5rem!important}.me-5{margin-right:3rem!important}.me-auto{margin-right:auto!important}.mb-0{margin-bottom:0!important}.mb-1{margin-bottom:.25rem!important}.mb-2{margin-bottom:.5rem!important}.mb-3{margin-bottom:1rem!important}.mb-4{margin-bottom:1.5rem!important}.mb-5{margin-bottom:3rem!important}.mb-auto{margin-bottom:auto!important}.ms-0{margin-left:0!important}.ms-1{margin-left:.25rem!important}.ms-2{margin-left:.5rem!important}.ms-3{margin-left:1rem!important}.ms-4{margin-left:1.5rem!important}.ms-5{margin-left:3rem!important}.ms-auto{margin-left:auto!important}.p-0{padding:0!important}.p-1{padding:.25rem!important}.p-2{padding:.5rem!important}.p-3{padding:1rem!important}.p-4{padding:1.5rem!important}.p-5{padding:3rem!important}.px-0{padding-right:0!important;padding-left:0!important}.px-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-3{padding-right:1rem!important;padding-left:1rem!important}.px-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-5{padding-right:3rem!important;padding-left:3rem!important}.py-0{padding-top:0!important;padding-bottom:0!important}.py-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-0{padding-top:0!important}.pt-1{padding-top:.25rem!important}.pt-2{padding-top:.5rem!important}.pt-3{padding-top:1rem!important}.pt-4{padding-top:1.5rem!important}.pt-5{padding-top:3rem!important}.pe-0{padding-right:0!important}.pe-1{padding-right:.25rem!important}.pe-2{padding-right:.5rem!important}.pe-3{padding-right:1rem!important}.pe-4{padding-right:1.5rem!important}.pe-5{padding-right:3rem!important}.pb-0{padding-bottom:0!important}.pb-1{padding-bottom:.25rem!important}.pb-2{padding-bottom:.5rem!important}.pb-3{padding-bottom:1rem!important}.pb-4{padding-bottom:1.5rem!important}.pb-5{padding-bottom:3rem!important}.ps-0{padding-left:0!important}.ps-1{padding-left:.25rem!important}.ps-2{padding-left:.5rem!important}.ps-3{padding-left:1rem!important}.ps-4{padding-left:1.5rem!important}.ps-5{padding-left:3rem!important}.gap-0{gap:0!important}.gap-1{gap:.25rem!important}.gap-2{gap:.5rem!important}.gap-3{gap:1rem!important}.gap-4{gap:1.5rem!important}.gap-5{gap:3rem!important}.row-gap-0{row-gap:0!important}.row-gap-1{row-gap:.25rem!important}.row-gap-2{row-gap:.5rem!important}.row-gap-3{row-gap:1rem!important}.row-gap-4{row-gap:1.5rem!important}.row-gap-5{row-gap:3rem!important}.column-gap-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.font-monospace{font-family:var(--bs-font-monospace)!important}.fs-1{font-size:calc(1.375rem + 1.5vw)!important}.fs-2{font-size:calc(1.325rem + .9vw)!important}.fs-3{font-size:calc(1.3rem + .6vw)!important}.fs-4{font-size:calc(1.275rem + .3vw)!important}.fs-5{font-size:1.25rem!important}.fs-6{font-size:1rem!important}.fst-italic{font-style:italic!important}.fst-normal{font-style:normal!important}.fw-lighter{font-weight:lighter!important}.fw-light{font-weight:300!important}.fw-normal{font-weight:400!important}.fw-medium{font-weight:500!important}.fw-semibold{font-weight:600!important}.fw-bold{font-weight:700!important}.fw-bolder{font-weight:bolder!important}.lh-1{line-height:1!important}.lh-sm{line-height:1.25!important}.lh-base{line-height:1.5!important}.lh-lg{line-height:2!important}.text-start{text-align:left!important}.text-end{text-align:right!important}.text-center{text-align:center!important}.text-decoration-none{text-decoration:none!important}.text-decoration-underline{text-decoration:underline!important}.text-decoration-line-through{text-decoration:line-through!important}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-break{word-wrap:break-word!important;word-break:break-word!important}.text-primary{--bs-text-opacity:1;color:rgba(var(--bs-primary-rgb),var(--bs-text-opacity))!important}.text-secondary{--bs-text-opacity:1;color:rgba(var(--bs-secondary-rgb),var(--bs-text-opacity))!important}.text-success{--bs-text-opacity:1;color:rgba(var(--bs-success-rgb),var(--bs-text-opacity))!important}.text-info{--bs-text-opacity:1;color:rgba(var(--bs-info-rgb),var(--bs-text-opacity))!important}.text-warning{--bs-text-opacity:1;color:rgba(var(--bs-warning-rgb),var(--bs-text-opacity))!important}.text-danger{--bs-text-opacity:1;color:rgba(var(--bs-danger-rgb),var(--bs-text-opacity))!important}.text-light{--bs-text-opacity:1;color:rgba(var(--bs-light-rgb),var(--bs-text-opacity))!important}.text-dark{--bs-text-opacity:1;color:rgba(var(--bs-dark-rgb),var(--bs-text-opacity))!important}.text-black{--bs-text-opacity:1;color:rgba(var(--bs-black-rgb),var(--bs-text-opacity))!important}.text-white{--bs-text-opacity:1;color:rgba(var(--bs-white-rgb),var(--bs-text-opacity))!important}.text-body{--bs-text-opacity:1;color:rgba(var(--bs-body-color-rgb),var(--bs-text-opacity))!important}.text-muted{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-black-50{--bs-text-opacity:1;color:rgba(0,0,0,.5)!important}.text-white-50{--bs-text-opacity:1;color:rgba(255,255,255,.5)!important}.text-body-secondary{--bs-text-opacity:1;color:var(--bs-secondary-color)!important}.text-body-tertiary{--bs-text-opacity:1;color:var(--bs-tertiary-color)!important}.text-body-emphasis{--bs-text-opacity:1;color:var(--bs-emphasis-color)!important}.text-reset{--bs-text-opacity:1;color:inherit!important}.text-opacity-25{--bs-text-opacity:0.25}.text-opacity-50{--bs-text-opacity:0.5}.text-opacity-75{--bs-text-opacity:0.75}.text-opacity-100{--bs-text-opacity:1}.text-primary-emphasis{color:var(--bs-primary-text-emphasis)!important}.text-secondary-emphasis{color:var(--bs-secondary-text-emphasis)!important}.text-success-emphasis{color:var(--bs-success-text-emphasis)!important}.text-info-emphasis{color:var(--bs-info-text-emphasis)!important}.text-warning-emphasis{color:var(--bs-warning-text-emphasis)!important}.text-danger-emphasis{color:var(--bs-danger-text-emphasis)!important}.text-light-emphasis{color:var(--bs-light-text-emphasis)!important}.text-dark-emphasis{color:var(--bs-dark-text-emphasis)!important}.link-opacity-10{--bs-link-opacity:0.1}.link-opacity-10-hover:hover{--bs-link-opacity:0.1}.link-opacity-25{--bs-link-opacity:0.25}.link-opacity-25-hover:hover{--bs-link-opacity:0.25}.link-opacity-50{--bs-link-opacity:0.5}.link-opacity-50-hover:hover{--bs-link-opacity:0.5}.link-opacity-75{--bs-link-opacity:0.75}.link-opacity-75-hover:hover{--bs-link-opacity:0.75}.link-opacity-100{--bs-link-opacity:1}.link-opacity-100-hover:hover{--bs-link-opacity:1}.link-offset-1{text-underline-offset:0.125em!important}.link-offset-1-hover:hover{text-underline-offset:0.125em!important}.link-offset-2{text-underline-offset:0.25em!important}.link-offset-2-hover:hover{text-underline-offset:0.25em!important}.link-offset-3{text-underline-offset:0.375em!important}.link-offset-3-hover:hover{text-underline-offset:0.375em!important}.link-underline-primary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-primary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-secondary{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-secondary-rgb),var(--bs-link-underline-opacity))!important}.link-underline-success{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-success-rgb),var(--bs-link-underline-opacity))!important}.link-underline-info{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-info-rgb),var(--bs-link-underline-opacity))!important}.link-underline-warning{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-warning-rgb),var(--bs-link-underline-opacity))!important}.link-underline-danger{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-danger-rgb),var(--bs-link-underline-opacity))!important}.link-underline-light{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-light-rgb),var(--bs-link-underline-opacity))!important}.link-underline-dark{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important;text-decoration-color:rgba(var(--bs-dark-rgb),var(--bs-link-underline-opacity))!important}.link-underline{--bs-link-underline-opacity:1;-webkit-text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important;text-decoration-color:rgba(var(--bs-link-color-rgb),var(--bs-link-underline-opacity,1))!important}.link-underline-opacity-0{--bs-link-underline-opacity:0}.link-underline-opacity-0-hover:hover{--bs-link-underline-opacity:0}.link-underline-opacity-10{--bs-link-underline-opacity:0.1}.link-underline-opacity-10-hover:hover{--bs-link-underline-opacity:0.1}.link-underline-opacity-25{--bs-link-underline-opacity:0.25}.link-underline-opacity-25-hover:hover{--bs-link-underline-opacity:0.25}.link-underline-opacity-50{--bs-link-underline-opacity:0.5}.link-underline-opacity-50-hover:hover{--bs-link-underline-opacity:0.5}.link-underline-opacity-75{--bs-link-underline-opacity:0.75}.link-underline-opacity-75-hover:hover{--bs-link-underline-opacity:0.75}.link-underline-opacity-100{--bs-link-underline-opacity:1}.link-underline-opacity-100-hover:hover{--bs-link-underline-opacity:1}.bg-primary{--bs-bg-opacity:1;background-color:rgba(var(--bs-primary-rgb),var(--bs-bg-opacity))!important}.bg-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-rgb),var(--bs-bg-opacity))!important}.bg-success{--bs-bg-opacity:1;background-color:rgba(var(--bs-success-rgb),var(--bs-bg-opacity))!important}.bg-info{--bs-bg-opacity:1;background-color:rgba(var(--bs-info-rgb),var(--bs-bg-opacity))!important}.bg-warning{--bs-bg-opacity:1;background-color:rgba(var(--bs-warning-rgb),var(--bs-bg-opacity))!important}.bg-danger{--bs-bg-opacity:1;background-color:rgba(var(--bs-danger-rgb),var(--bs-bg-opacity))!important}.bg-light{--bs-bg-opacity:1;background-color:rgba(var(--bs-light-rgb),var(--bs-bg-opacity))!important}.bg-dark{--bs-bg-opacity:1;background-color:rgba(var(--bs-dark-rgb),var(--bs-bg-opacity))!important}.bg-black{--bs-bg-opacity:1;background-color:rgba(var(--bs-black-rgb),var(--bs-bg-opacity))!important}.bg-white{--bs-bg-opacity:1;background-color:rgba(var(--bs-white-rgb),var(--bs-bg-opacity))!important}.bg-body{--bs-bg-opacity:1;background-color:rgba(var(--bs-body-bg-rgb),var(--bs-bg-opacity))!important}.bg-transparent{--bs-bg-opacity:1;background-color:transparent!important}.bg-body-secondary{--bs-bg-opacity:1;background-color:rgba(var(--bs-secondary-bg-rgb),var(--bs-bg-opacity))!important}.bg-body-tertiary{--bs-bg-opacity:1;background-color:rgba(var(--bs-tertiary-bg-rgb),var(--bs-bg-opacity))!important}.bg-opacity-10{--bs-bg-opacity:0.1}.bg-opacity-25{--bs-bg-opacity:0.25}.bg-opacity-50{--bs-bg-opacity:0.5}.bg-opacity-75{--bs-bg-opacity:0.75}.bg-opacity-100{--bs-bg-opacity:1}.bg-primary-subtle{background-color:var(--bs-primary-bg-subtle)!important}.bg-secondary-subtle{background-color:var(--bs-secondary-bg-subtle)!important}.bg-success-subtle{background-color:var(--bs-success-bg-subtle)!important}.bg-info-subtle{background-color:var(--bs-info-bg-subtle)!important}.bg-warning-subtle{background-color:var(--bs-warning-bg-subtle)!important}.bg-danger-subtle{background-color:var(--bs-danger-bg-subtle)!important}.bg-light-subtle{background-color:var(--bs-light-bg-subtle)!important}.bg-dark-subtle{background-color:var(--bs-dark-bg-subtle)!important}.bg-gradient{background-image:var(--bs-gradient)!important}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;user-select:none!important}.pe-none{pointer-events:none!important}.pe-auto{pointer-events:auto!important}.rounded{border-radius:var(--bs-border-radius)!important}.rounded-0{border-radius:0!important}.rounded-1{border-radius:var(--bs-border-radius-sm)!important}.rounded-2{border-radius:var(--bs-border-radius)!important}.rounded-3{border-radius:var(--bs-border-radius-lg)!important}.rounded-4{border-radius:var(--bs-border-radius-xl)!important}.rounded-5{border-radius:var(--bs-border-radius-xxl)!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:var(--bs-border-radius-pill)!important}.rounded-top{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-0{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-top-1{border-top-left-radius:var(--bs-border-radius-sm)!important;border-top-right-radius:var(--bs-border-radius-sm)!important}.rounded-top-2{border-top-left-radius:var(--bs-border-radius)!important;border-top-right-radius:var(--bs-border-radius)!important}.rounded-top-3{border-top-left-radius:var(--bs-border-radius-lg)!important;border-top-right-radius:var(--bs-border-radius-lg)!important}.rounded-top-4{border-top-left-radius:var(--bs-border-radius-xl)!important;border-top-right-radius:var(--bs-border-radius-xl)!important}.rounded-top-5{border-top-left-radius:var(--bs-border-radius-xxl)!important;border-top-right-radius:var(--bs-border-radius-xxl)!important}.rounded-top-circle{border-top-left-radius:50%!important;border-top-right-radius:50%!important}.rounded-top-pill{border-top-left-radius:var(--bs-border-radius-pill)!important;border-top-right-radius:var(--bs-border-radius-pill)!important}.rounded-end{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-0{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.rounded-end-1{border-top-right-radius:var(--bs-border-radius-sm)!important;border-bottom-right-radius:var(--bs-border-radius-sm)!important}.rounded-end-2{border-top-right-radius:var(--bs-border-radius)!important;border-bottom-right-radius:var(--bs-border-radius)!important}.rounded-end-3{border-top-right-radius:var(--bs-border-radius-lg)!important;border-bottom-right-radius:var(--bs-border-radius-lg)!important}.rounded-end-4{border-top-right-radius:var(--bs-border-radius-xl)!important;border-bottom-right-radius:var(--bs-border-radius-xl)!important}.rounded-end-5{border-top-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-right-radius:var(--bs-border-radius-xxl)!important}.rounded-end-circle{border-top-right-radius:50%!important;border-bottom-right-radius:50%!important}.rounded-end-pill{border-top-right-radius:var(--bs-border-radius-pill)!important;border-bottom-right-radius:var(--bs-border-radius-pill)!important}.rounded-bottom{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-0{border-bottom-right-radius:0!important;border-bottom-left-radius:0!important}.rounded-bottom-1{border-bottom-right-radius:var(--bs-border-radius-sm)!important;border-bottom-left-radius:var(--bs-border-radius-sm)!important}.rounded-bottom-2{border-bottom-right-radius:var(--bs-border-radius)!important;border-bottom-left-radius:var(--bs-border-radius)!important}.rounded-bottom-3{border-bottom-right-radius:var(--bs-border-radius-lg)!important;border-bottom-left-radius:var(--bs-border-radius-lg)!important}.rounded-bottom-4{border-bottom-right-radius:var(--bs-border-radius-xl)!important;border-bottom-left-radius:var(--bs-border-radius-xl)!important}.rounded-bottom-5{border-bottom-right-radius:var(--bs-border-radius-xxl)!important;border-bottom-left-radius:var(--bs-border-radius-xxl)!important}.rounded-bottom-circle{border-bottom-right-radius:50%!important;border-bottom-left-radius:50%!important}.rounded-bottom-pill{border-bottom-right-radius:var(--bs-border-radius-pill)!important;border-bottom-left-radius:var(--bs-border-radius-pill)!important}.rounded-start{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-0{border-bottom-left-radius:0!important;border-top-left-radius:0!important}.rounded-start-1{border-bottom-left-radius:var(--bs-border-radius-sm)!important;border-top-left-radius:var(--bs-border-radius-sm)!important}.rounded-start-2{border-bottom-left-radius:var(--bs-border-radius)!important;border-top-left-radius:var(--bs-border-radius)!important}.rounded-start-3{border-bottom-left-radius:var(--bs-border-radius-lg)!important;border-top-left-radius:var(--bs-border-radius-lg)!important}.rounded-start-4{border-bottom-left-radius:var(--bs-border-radius-xl)!important;border-top-left-radius:var(--bs-border-radius-xl)!important}.rounded-start-5{border-bottom-left-radius:var(--bs-border-radius-xxl)!important;border-top-left-radius:var(--bs-border-radius-xxl)!important}.rounded-start-circle{border-bottom-left-radius:50%!important;border-top-left-radius:50%!important}.rounded-start-pill{border-bottom-left-radius:var(--bs-border-radius-pill)!important;border-top-left-radius:var(--bs-border-radius-pill)!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}.z-n1{z-index:-1!important}.z-0{z-index:0!important}.z-1{z-index:1!important}.z-2{z-index:2!important}.z-3{z-index:3!important}@media (min-width:576px){.float-sm-start{float:left!important}.float-sm-end{float:right!important}.float-sm-none{float:none!important}.object-fit-sm-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-sm-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-sm-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-sm-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-sm-none{-o-object-fit:none!important;object-fit:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-grid{display:grid!important}.d-sm-inline-grid{display:inline-grid!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:flex!important}.d-sm-inline-flex{display:inline-flex!important}.d-sm-none{display:none!important}.flex-sm-fill{flex:1 1 auto!important}.flex-sm-row{flex-direction:row!important}.flex-sm-column{flex-direction:column!important}.flex-sm-row-reverse{flex-direction:row-reverse!important}.flex-sm-column-reverse{flex-direction:column-reverse!important}.flex-sm-grow-0{flex-grow:0!important}.flex-sm-grow-1{flex-grow:1!important}.flex-sm-shrink-0{flex-shrink:0!important}.flex-sm-shrink-1{flex-shrink:1!important}.flex-sm-wrap{flex-wrap:wrap!important}.flex-sm-nowrap{flex-wrap:nowrap!important}.flex-sm-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-sm-start{justify-content:flex-start!important}.justify-content-sm-end{justify-content:flex-end!important}.justify-content-sm-center{justify-content:center!important}.justify-content-sm-between{justify-content:space-between!important}.justify-content-sm-around{justify-content:space-around!important}.justify-content-sm-evenly{justify-content:space-evenly!important}.align-items-sm-start{align-items:flex-start!important}.align-items-sm-end{align-items:flex-end!important}.align-items-sm-center{align-items:center!important}.align-items-sm-baseline{align-items:baseline!important}.align-items-sm-stretch{align-items:stretch!important}.align-content-sm-start{align-content:flex-start!important}.align-content-sm-end{align-content:flex-end!important}.align-content-sm-center{align-content:center!important}.align-content-sm-between{align-content:space-between!important}.align-content-sm-around{align-content:space-around!important}.align-content-sm-stretch{align-content:stretch!important}.align-self-sm-auto{align-self:auto!important}.align-self-sm-start{align-self:flex-start!important}.align-self-sm-end{align-self:flex-end!important}.align-self-sm-center{align-self:center!important}.align-self-sm-baseline{align-self:baseline!important}.align-self-sm-stretch{align-self:stretch!important}.order-sm-first{order:-1!important}.order-sm-0{order:0!important}.order-sm-1{order:1!important}.order-sm-2{order:2!important}.order-sm-3{order:3!important}.order-sm-4{order:4!important}.order-sm-5{order:5!important}.order-sm-last{order:6!important}.m-sm-0{margin:0!important}.m-sm-1{margin:.25rem!important}.m-sm-2{margin:.5rem!important}.m-sm-3{margin:1rem!important}.m-sm-4{margin:1.5rem!important}.m-sm-5{margin:3rem!important}.m-sm-auto{margin:auto!important}.mx-sm-0{margin-right:0!important;margin-left:0!important}.mx-sm-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-sm-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-sm-3{margin-right:1rem!important;margin-left:1rem!important}.mx-sm-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-sm-5{margin-right:3rem!important;margin-left:3rem!important}.mx-sm-auto{margin-right:auto!important;margin-left:auto!important}.my-sm-0{margin-top:0!important;margin-bottom:0!important}.my-sm-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-sm-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-sm-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-sm-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-sm-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-sm-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-sm-0{margin-top:0!important}.mt-sm-1{margin-top:.25rem!important}.mt-sm-2{margin-top:.5rem!important}.mt-sm-3{margin-top:1rem!important}.mt-sm-4{margin-top:1.5rem!important}.mt-sm-5{margin-top:3rem!important}.mt-sm-auto{margin-top:auto!important}.me-sm-0{margin-right:0!important}.me-sm-1{margin-right:.25rem!important}.me-sm-2{margin-right:.5rem!important}.me-sm-3{margin-right:1rem!important}.me-sm-4{margin-right:1.5rem!important}.me-sm-5{margin-right:3rem!important}.me-sm-auto{margin-right:auto!important}.mb-sm-0{margin-bottom:0!important}.mb-sm-1{margin-bottom:.25rem!important}.mb-sm-2{margin-bottom:.5rem!important}.mb-sm-3{margin-bottom:1rem!important}.mb-sm-4{margin-bottom:1.5rem!important}.mb-sm-5{margin-bottom:3rem!important}.mb-sm-auto{margin-bottom:auto!important}.ms-sm-0{margin-left:0!important}.ms-sm-1{margin-left:.25rem!important}.ms-sm-2{margin-left:.5rem!important}.ms-sm-3{margin-left:1rem!important}.ms-sm-4{margin-left:1.5rem!important}.ms-sm-5{margin-left:3rem!important}.ms-sm-auto{margin-left:auto!important}.p-sm-0{padding:0!important}.p-sm-1{padding:.25rem!important}.p-sm-2{padding:.5rem!important}.p-sm-3{padding:1rem!important}.p-sm-4{padding:1.5rem!important}.p-sm-5{padding:3rem!important}.px-sm-0{padding-right:0!important;padding-left:0!important}.px-sm-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-sm-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-sm-3{padding-right:1rem!important;padding-left:1rem!important}.px-sm-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-sm-5{padding-right:3rem!important;padding-left:3rem!important}.py-sm-0{padding-top:0!important;padding-bottom:0!important}.py-sm-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-sm-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-sm-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-sm-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-sm-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-sm-0{padding-top:0!important}.pt-sm-1{padding-top:.25rem!important}.pt-sm-2{padding-top:.5rem!important}.pt-sm-3{padding-top:1rem!important}.pt-sm-4{padding-top:1.5rem!important}.pt-sm-5{padding-top:3rem!important}.pe-sm-0{padding-right:0!important}.pe-sm-1{padding-right:.25rem!important}.pe-sm-2{padding-right:.5rem!important}.pe-sm-3{padding-right:1rem!important}.pe-sm-4{padding-right:1.5rem!important}.pe-sm-5{padding-right:3rem!important}.pb-sm-0{padding-bottom:0!important}.pb-sm-1{padding-bottom:.25rem!important}.pb-sm-2{padding-bottom:.5rem!important}.pb-sm-3{padding-bottom:1rem!important}.pb-sm-4{padding-bottom:1.5rem!important}.pb-sm-5{padding-bottom:3rem!important}.ps-sm-0{padding-left:0!important}.ps-sm-1{padding-left:.25rem!important}.ps-sm-2{padding-left:.5rem!important}.ps-sm-3{padding-left:1rem!important}.ps-sm-4{padding-left:1.5rem!important}.ps-sm-5{padding-left:3rem!important}.gap-sm-0{gap:0!important}.gap-sm-1{gap:.25rem!important}.gap-sm-2{gap:.5rem!important}.gap-sm-3{gap:1rem!important}.gap-sm-4{gap:1.5rem!important}.gap-sm-5{gap:3rem!important}.row-gap-sm-0{row-gap:0!important}.row-gap-sm-1{row-gap:.25rem!important}.row-gap-sm-2{row-gap:.5rem!important}.row-gap-sm-3{row-gap:1rem!important}.row-gap-sm-4{row-gap:1.5rem!important}.row-gap-sm-5{row-gap:3rem!important}.column-gap-sm-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-sm-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-sm-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-sm-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-sm-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-sm-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-sm-start{text-align:left!important}.text-sm-end{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.float-md-start{float:left!important}.float-md-end{float:right!important}.float-md-none{float:none!important}.object-fit-md-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-md-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-md-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-md-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-md-none{-o-object-fit:none!important;object-fit:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-grid{display:grid!important}.d-md-inline-grid{display:inline-grid!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:flex!important}.d-md-inline-flex{display:inline-flex!important}.d-md-none{display:none!important}.flex-md-fill{flex:1 1 auto!important}.flex-md-row{flex-direction:row!important}.flex-md-column{flex-direction:column!important}.flex-md-row-reverse{flex-direction:row-reverse!important}.flex-md-column-reverse{flex-direction:column-reverse!important}.flex-md-grow-0{flex-grow:0!important}.flex-md-grow-1{flex-grow:1!important}.flex-md-shrink-0{flex-shrink:0!important}.flex-md-shrink-1{flex-shrink:1!important}.flex-md-wrap{flex-wrap:wrap!important}.flex-md-nowrap{flex-wrap:nowrap!important}.flex-md-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-md-start{justify-content:flex-start!important}.justify-content-md-end{justify-content:flex-end!important}.justify-content-md-center{justify-content:center!important}.justify-content-md-between{justify-content:space-between!important}.justify-content-md-around{justify-content:space-around!important}.justify-content-md-evenly{justify-content:space-evenly!important}.align-items-md-start{align-items:flex-start!important}.align-items-md-end{align-items:flex-end!important}.align-items-md-center{align-items:center!important}.align-items-md-baseline{align-items:baseline!important}.align-items-md-stretch{align-items:stretch!important}.align-content-md-start{align-content:flex-start!important}.align-content-md-end{align-content:flex-end!important}.align-content-md-center{align-content:center!important}.align-content-md-between{align-content:space-between!important}.align-content-md-around{align-content:space-around!important}.align-content-md-stretch{align-content:stretch!important}.align-self-md-auto{align-self:auto!important}.align-self-md-start{align-self:flex-start!important}.align-self-md-end{align-self:flex-end!important}.align-self-md-center{align-self:center!important}.align-self-md-baseline{align-self:baseline!important}.align-self-md-stretch{align-self:stretch!important}.order-md-first{order:-1!important}.order-md-0{order:0!important}.order-md-1{order:1!important}.order-md-2{order:2!important}.order-md-3{order:3!important}.order-md-4{order:4!important}.order-md-5{order:5!important}.order-md-last{order:6!important}.m-md-0{margin:0!important}.m-md-1{margin:.25rem!important}.m-md-2{margin:.5rem!important}.m-md-3{margin:1rem!important}.m-md-4{margin:1.5rem!important}.m-md-5{margin:3rem!important}.m-md-auto{margin:auto!important}.mx-md-0{margin-right:0!important;margin-left:0!important}.mx-md-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-md-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-md-3{margin-right:1rem!important;margin-left:1rem!important}.mx-md-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-md-5{margin-right:3rem!important;margin-left:3rem!important}.mx-md-auto{margin-right:auto!important;margin-left:auto!important}.my-md-0{margin-top:0!important;margin-bottom:0!important}.my-md-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-md-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-md-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-md-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-md-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-md-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-md-0{margin-top:0!important}.mt-md-1{margin-top:.25rem!important}.mt-md-2{margin-top:.5rem!important}.mt-md-3{margin-top:1rem!important}.mt-md-4{margin-top:1.5rem!important}.mt-md-5{margin-top:3rem!important}.mt-md-auto{margin-top:auto!important}.me-md-0{margin-right:0!important}.me-md-1{margin-right:.25rem!important}.me-md-2{margin-right:.5rem!important}.me-md-3{margin-right:1rem!important}.me-md-4{margin-right:1.5rem!important}.me-md-5{margin-right:3rem!important}.me-md-auto{margin-right:auto!important}.mb-md-0{margin-bottom:0!important}.mb-md-1{margin-bottom:.25rem!important}.mb-md-2{margin-bottom:.5rem!important}.mb-md-3{margin-bottom:1rem!important}.mb-md-4{margin-bottom:1.5rem!important}.mb-md-5{margin-bottom:3rem!important}.mb-md-auto{margin-bottom:auto!important}.ms-md-0{margin-left:0!important}.ms-md-1{margin-left:.25rem!important}.ms-md-2{margin-left:.5rem!important}.ms-md-3{margin-left:1rem!important}.ms-md-4{margin-left:1.5rem!important}.ms-md-5{margin-left:3rem!important}.ms-md-auto{margin-left:auto!important}.p-md-0{padding:0!important}.p-md-1{padding:.25rem!important}.p-md-2{padding:.5rem!important}.p-md-3{padding:1rem!important}.p-md-4{padding:1.5rem!important}.p-md-5{padding:3rem!important}.px-md-0{padding-right:0!important;padding-left:0!important}.px-md-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-md-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-md-3{padding-right:1rem!important;padding-left:1rem!important}.px-md-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-md-5{padding-right:3rem!important;padding-left:3rem!important}.py-md-0{padding-top:0!important;padding-bottom:0!important}.py-md-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-md-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-md-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-md-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-md-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-md-0{padding-top:0!important}.pt-md-1{padding-top:.25rem!important}.pt-md-2{padding-top:.5rem!important}.pt-md-3{padding-top:1rem!important}.pt-md-4{padding-top:1.5rem!important}.pt-md-5{padding-top:3rem!important}.pe-md-0{padding-right:0!important}.pe-md-1{padding-right:.25rem!important}.pe-md-2{padding-right:.5rem!important}.pe-md-3{padding-right:1rem!important}.pe-md-4{padding-right:1.5rem!important}.pe-md-5{padding-right:3rem!important}.pb-md-0{padding-bottom:0!important}.pb-md-1{padding-bottom:.25rem!important}.pb-md-2{padding-bottom:.5rem!important}.pb-md-3{padding-bottom:1rem!important}.pb-md-4{padding-bottom:1.5rem!important}.pb-md-5{padding-bottom:3rem!important}.ps-md-0{padding-left:0!important}.ps-md-1{padding-left:.25rem!important}.ps-md-2{padding-left:.5rem!important}.ps-md-3{padding-left:1rem!important}.ps-md-4{padding-left:1.5rem!important}.ps-md-5{padding-left:3rem!important}.gap-md-0{gap:0!important}.gap-md-1{gap:.25rem!important}.gap-md-2{gap:.5rem!important}.gap-md-3{gap:1rem!important}.gap-md-4{gap:1.5rem!important}.gap-md-5{gap:3rem!important}.row-gap-md-0{row-gap:0!important}.row-gap-md-1{row-gap:.25rem!important}.row-gap-md-2{row-gap:.5rem!important}.row-gap-md-3{row-gap:1rem!important}.row-gap-md-4{row-gap:1.5rem!important}.row-gap-md-5{row-gap:3rem!important}.column-gap-md-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-md-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-md-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-md-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-md-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-md-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-md-start{text-align:left!important}.text-md-end{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.float-lg-start{float:left!important}.float-lg-end{float:right!important}.float-lg-none{float:none!important}.object-fit-lg-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-lg-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-lg-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-lg-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-lg-none{-o-object-fit:none!important;object-fit:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-grid{display:grid!important}.d-lg-inline-grid{display:inline-grid!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:flex!important}.d-lg-inline-flex{display:inline-flex!important}.d-lg-none{display:none!important}.flex-lg-fill{flex:1 1 auto!important}.flex-lg-row{flex-direction:row!important}.flex-lg-column{flex-direction:column!important}.flex-lg-row-reverse{flex-direction:row-reverse!important}.flex-lg-column-reverse{flex-direction:column-reverse!important}.flex-lg-grow-0{flex-grow:0!important}.flex-lg-grow-1{flex-grow:1!important}.flex-lg-shrink-0{flex-shrink:0!important}.flex-lg-shrink-1{flex-shrink:1!important}.flex-lg-wrap{flex-wrap:wrap!important}.flex-lg-nowrap{flex-wrap:nowrap!important}.flex-lg-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-lg-start{justify-content:flex-start!important}.justify-content-lg-end{justify-content:flex-end!important}.justify-content-lg-center{justify-content:center!important}.justify-content-lg-between{justify-content:space-between!important}.justify-content-lg-around{justify-content:space-around!important}.justify-content-lg-evenly{justify-content:space-evenly!important}.align-items-lg-start{align-items:flex-start!important}.align-items-lg-end{align-items:flex-end!important}.align-items-lg-center{align-items:center!important}.align-items-lg-baseline{align-items:baseline!important}.align-items-lg-stretch{align-items:stretch!important}.align-content-lg-start{align-content:flex-start!important}.align-content-lg-end{align-content:flex-end!important}.align-content-lg-center{align-content:center!important}.align-content-lg-between{align-content:space-between!important}.align-content-lg-around{align-content:space-around!important}.align-content-lg-stretch{align-content:stretch!important}.align-self-lg-auto{align-self:auto!important}.align-self-lg-start{align-self:flex-start!important}.align-self-lg-end{align-self:flex-end!important}.align-self-lg-center{align-self:center!important}.align-self-lg-baseline{align-self:baseline!important}.align-self-lg-stretch{align-self:stretch!important}.order-lg-first{order:-1!important}.order-lg-0{order:0!important}.order-lg-1{order:1!important}.order-lg-2{order:2!important}.order-lg-3{order:3!important}.order-lg-4{order:4!important}.order-lg-5{order:5!important}.order-lg-last{order:6!important}.m-lg-0{margin:0!important}.m-lg-1{margin:.25rem!important}.m-lg-2{margin:.5rem!important}.m-lg-3{margin:1rem!important}.m-lg-4{margin:1.5rem!important}.m-lg-5{margin:3rem!important}.m-lg-auto{margin:auto!important}.mx-lg-0{margin-right:0!important;margin-left:0!important}.mx-lg-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-lg-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-lg-3{margin-right:1rem!important;margin-left:1rem!important}.mx-lg-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-lg-5{margin-right:3rem!important;margin-left:3rem!important}.mx-lg-auto{margin-right:auto!important;margin-left:auto!important}.my-lg-0{margin-top:0!important;margin-bottom:0!important}.my-lg-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-lg-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-lg-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-lg-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-lg-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-lg-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-lg-0{margin-top:0!important}.mt-lg-1{margin-top:.25rem!important}.mt-lg-2{margin-top:.5rem!important}.mt-lg-3{margin-top:1rem!important}.mt-lg-4{margin-top:1.5rem!important}.mt-lg-5{margin-top:3rem!important}.mt-lg-auto{margin-top:auto!important}.me-lg-0{margin-right:0!important}.me-lg-1{margin-right:.25rem!important}.me-lg-2{margin-right:.5rem!important}.me-lg-3{margin-right:1rem!important}.me-lg-4{margin-right:1.5rem!important}.me-lg-5{margin-right:3rem!important}.me-lg-auto{margin-right:auto!important}.mb-lg-0{margin-bottom:0!important}.mb-lg-1{margin-bottom:.25rem!important}.mb-lg-2{margin-bottom:.5rem!important}.mb-lg-3{margin-bottom:1rem!important}.mb-lg-4{margin-bottom:1.5rem!important}.mb-lg-5{margin-bottom:3rem!important}.mb-lg-auto{margin-bottom:auto!important}.ms-lg-0{margin-left:0!important}.ms-lg-1{margin-left:.25rem!important}.ms-lg-2{margin-left:.5rem!important}.ms-lg-3{margin-left:1rem!important}.ms-lg-4{margin-left:1.5rem!important}.ms-lg-5{margin-left:3rem!important}.ms-lg-auto{margin-left:auto!important}.p-lg-0{padding:0!important}.p-lg-1{padding:.25rem!important}.p-lg-2{padding:.5rem!important}.p-lg-3{padding:1rem!important}.p-lg-4{padding:1.5rem!important}.p-lg-5{padding:3rem!important}.px-lg-0{padding-right:0!important;padding-left:0!important}.px-lg-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-lg-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-lg-3{padding-right:1rem!important;padding-left:1rem!important}.px-lg-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-lg-5{padding-right:3rem!important;padding-left:3rem!important}.py-lg-0{padding-top:0!important;padding-bottom:0!important}.py-lg-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-lg-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-lg-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-lg-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-lg-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-lg-0{padding-top:0!important}.pt-lg-1{padding-top:.25rem!important}.pt-lg-2{padding-top:.5rem!important}.pt-lg-3{padding-top:1rem!important}.pt-lg-4{padding-top:1.5rem!important}.pt-lg-5{padding-top:3rem!important}.pe-lg-0{padding-right:0!important}.pe-lg-1{padding-right:.25rem!important}.pe-lg-2{padding-right:.5rem!important}.pe-lg-3{padding-right:1rem!important}.pe-lg-4{padding-right:1.5rem!important}.pe-lg-5{padding-right:3rem!important}.pb-lg-0{padding-bottom:0!important}.pb-lg-1{padding-bottom:.25rem!important}.pb-lg-2{padding-bottom:.5rem!important}.pb-lg-3{padding-bottom:1rem!important}.pb-lg-4{padding-bottom:1.5rem!important}.pb-lg-5{padding-bottom:3rem!important}.ps-lg-0{padding-left:0!important}.ps-lg-1{padding-left:.25rem!important}.ps-lg-2{padding-left:.5rem!important}.ps-lg-3{padding-left:1rem!important}.ps-lg-4{padding-left:1.5rem!important}.ps-lg-5{padding-left:3rem!important}.gap-lg-0{gap:0!important}.gap-lg-1{gap:.25rem!important}.gap-lg-2{gap:.5rem!important}.gap-lg-3{gap:1rem!important}.gap-lg-4{gap:1.5rem!important}.gap-lg-5{gap:3rem!important}.row-gap-lg-0{row-gap:0!important}.row-gap-lg-1{row-gap:.25rem!important}.row-gap-lg-2{row-gap:.5rem!important}.row-gap-lg-3{row-gap:1rem!important}.row-gap-lg-4{row-gap:1.5rem!important}.row-gap-lg-5{row-gap:3rem!important}.column-gap-lg-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-lg-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-lg-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-lg-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-lg-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-lg-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-lg-start{text-align:left!important}.text-lg-end{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.float-xl-start{float:left!important}.float-xl-end{float:right!important}.float-xl-none{float:none!important}.object-fit-xl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xl-none{-o-object-fit:none!important;object-fit:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-grid{display:grid!important}.d-xl-inline-grid{display:inline-grid!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:flex!important}.d-xl-inline-flex{display:inline-flex!important}.d-xl-none{display:none!important}.flex-xl-fill{flex:1 1 auto!important}.flex-xl-row{flex-direction:row!important}.flex-xl-column{flex-direction:column!important}.flex-xl-row-reverse{flex-direction:row-reverse!important}.flex-xl-column-reverse{flex-direction:column-reverse!important}.flex-xl-grow-0{flex-grow:0!important}.flex-xl-grow-1{flex-grow:1!important}.flex-xl-shrink-0{flex-shrink:0!important}.flex-xl-shrink-1{flex-shrink:1!important}.flex-xl-wrap{flex-wrap:wrap!important}.flex-xl-nowrap{flex-wrap:nowrap!important}.flex-xl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xl-start{justify-content:flex-start!important}.justify-content-xl-end{justify-content:flex-end!important}.justify-content-xl-center{justify-content:center!important}.justify-content-xl-between{justify-content:space-between!important}.justify-content-xl-around{justify-content:space-around!important}.justify-content-xl-evenly{justify-content:space-evenly!important}.align-items-xl-start{align-items:flex-start!important}.align-items-xl-end{align-items:flex-end!important}.align-items-xl-center{align-items:center!important}.align-items-xl-baseline{align-items:baseline!important}.align-items-xl-stretch{align-items:stretch!important}.align-content-xl-start{align-content:flex-start!important}.align-content-xl-end{align-content:flex-end!important}.align-content-xl-center{align-content:center!important}.align-content-xl-between{align-content:space-between!important}.align-content-xl-around{align-content:space-around!important}.align-content-xl-stretch{align-content:stretch!important}.align-self-xl-auto{align-self:auto!important}.align-self-xl-start{align-self:flex-start!important}.align-self-xl-end{align-self:flex-end!important}.align-self-xl-center{align-self:center!important}.align-self-xl-baseline{align-self:baseline!important}.align-self-xl-stretch{align-self:stretch!important}.order-xl-first{order:-1!important}.order-xl-0{order:0!important}.order-xl-1{order:1!important}.order-xl-2{order:2!important}.order-xl-3{order:3!important}.order-xl-4{order:4!important}.order-xl-5{order:5!important}.order-xl-last{order:6!important}.m-xl-0{margin:0!important}.m-xl-1{margin:.25rem!important}.m-xl-2{margin:.5rem!important}.m-xl-3{margin:1rem!important}.m-xl-4{margin:1.5rem!important}.m-xl-5{margin:3rem!important}.m-xl-auto{margin:auto!important}.mx-xl-0{margin-right:0!important;margin-left:0!important}.mx-xl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xl-auto{margin-right:auto!important;margin-left:auto!important}.my-xl-0{margin-top:0!important;margin-bottom:0!important}.my-xl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xl-0{margin-top:0!important}.mt-xl-1{margin-top:.25rem!important}.mt-xl-2{margin-top:.5rem!important}.mt-xl-3{margin-top:1rem!important}.mt-xl-4{margin-top:1.5rem!important}.mt-xl-5{margin-top:3rem!important}.mt-xl-auto{margin-top:auto!important}.me-xl-0{margin-right:0!important}.me-xl-1{margin-right:.25rem!important}.me-xl-2{margin-right:.5rem!important}.me-xl-3{margin-right:1rem!important}.me-xl-4{margin-right:1.5rem!important}.me-xl-5{margin-right:3rem!important}.me-xl-auto{margin-right:auto!important}.mb-xl-0{margin-bottom:0!important}.mb-xl-1{margin-bottom:.25rem!important}.mb-xl-2{margin-bottom:.5rem!important}.mb-xl-3{margin-bottom:1rem!important}.mb-xl-4{margin-bottom:1.5rem!important}.mb-xl-5{margin-bottom:3rem!important}.mb-xl-auto{margin-bottom:auto!important}.ms-xl-0{margin-left:0!important}.ms-xl-1{margin-left:.25rem!important}.ms-xl-2{margin-left:.5rem!important}.ms-xl-3{margin-left:1rem!important}.ms-xl-4{margin-left:1.5rem!important}.ms-xl-5{margin-left:3rem!important}.ms-xl-auto{margin-left:auto!important}.p-xl-0{padding:0!important}.p-xl-1{padding:.25rem!important}.p-xl-2{padding:.5rem!important}.p-xl-3{padding:1rem!important}.p-xl-4{padding:1.5rem!important}.p-xl-5{padding:3rem!important}.px-xl-0{padding-right:0!important;padding-left:0!important}.px-xl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xl-0{padding-top:0!important;padding-bottom:0!important}.py-xl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xl-0{padding-top:0!important}.pt-xl-1{padding-top:.25rem!important}.pt-xl-2{padding-top:.5rem!important}.pt-xl-3{padding-top:1rem!important}.pt-xl-4{padding-top:1.5rem!important}.pt-xl-5{padding-top:3rem!important}.pe-xl-0{padding-right:0!important}.pe-xl-1{padding-right:.25rem!important}.pe-xl-2{padding-right:.5rem!important}.pe-xl-3{padding-right:1rem!important}.pe-xl-4{padding-right:1.5rem!important}.pe-xl-5{padding-right:3rem!important}.pb-xl-0{padding-bottom:0!important}.pb-xl-1{padding-bottom:.25rem!important}.pb-xl-2{padding-bottom:.5rem!important}.pb-xl-3{padding-bottom:1rem!important}.pb-xl-4{padding-bottom:1.5rem!important}.pb-xl-5{padding-bottom:3rem!important}.ps-xl-0{padding-left:0!important}.ps-xl-1{padding-left:.25rem!important}.ps-xl-2{padding-left:.5rem!important}.ps-xl-3{padding-left:1rem!important}.ps-xl-4{padding-left:1.5rem!important}.ps-xl-5{padding-left:3rem!important}.gap-xl-0{gap:0!important}.gap-xl-1{gap:.25rem!important}.gap-xl-2{gap:.5rem!important}.gap-xl-3{gap:1rem!important}.gap-xl-4{gap:1.5rem!important}.gap-xl-5{gap:3rem!important}.row-gap-xl-0{row-gap:0!important}.row-gap-xl-1{row-gap:.25rem!important}.row-gap-xl-2{row-gap:.5rem!important}.row-gap-xl-3{row-gap:1rem!important}.row-gap-xl-4{row-gap:1.5rem!important}.row-gap-xl-5{row-gap:3rem!important}.column-gap-xl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xl-start{text-align:left!important}.text-xl-end{text-align:right!important}.text-xl-center{text-align:center!important}}@media (min-width:1400px){.float-xxl-start{float:left!important}.float-xxl-end{float:right!important}.float-xxl-none{float:none!important}.object-fit-xxl-contain{-o-object-fit:contain!important;object-fit:contain!important}.object-fit-xxl-cover{-o-object-fit:cover!important;object-fit:cover!important}.object-fit-xxl-fill{-o-object-fit:fill!important;object-fit:fill!important}.object-fit-xxl-scale{-o-object-fit:scale-down!important;object-fit:scale-down!important}.object-fit-xxl-none{-o-object-fit:none!important;object-fit:none!important}.d-xxl-inline{display:inline!important}.d-xxl-inline-block{display:inline-block!important}.d-xxl-block{display:block!important}.d-xxl-grid{display:grid!important}.d-xxl-inline-grid{display:inline-grid!important}.d-xxl-table{display:table!important}.d-xxl-table-row{display:table-row!important}.d-xxl-table-cell{display:table-cell!important}.d-xxl-flex{display:flex!important}.d-xxl-inline-flex{display:inline-flex!important}.d-xxl-none{display:none!important}.flex-xxl-fill{flex:1 1 auto!important}.flex-xxl-row{flex-direction:row!important}.flex-xxl-column{flex-direction:column!important}.flex-xxl-row-reverse{flex-direction:row-reverse!important}.flex-xxl-column-reverse{flex-direction:column-reverse!important}.flex-xxl-grow-0{flex-grow:0!important}.flex-xxl-grow-1{flex-grow:1!important}.flex-xxl-shrink-0{flex-shrink:0!important}.flex-xxl-shrink-1{flex-shrink:1!important}.flex-xxl-wrap{flex-wrap:wrap!important}.flex-xxl-nowrap{flex-wrap:nowrap!important}.flex-xxl-wrap-reverse{flex-wrap:wrap-reverse!important}.justify-content-xxl-start{justify-content:flex-start!important}.justify-content-xxl-end{justify-content:flex-end!important}.justify-content-xxl-center{justify-content:center!important}.justify-content-xxl-between{justify-content:space-between!important}.justify-content-xxl-around{justify-content:space-around!important}.justify-content-xxl-evenly{justify-content:space-evenly!important}.align-items-xxl-start{align-items:flex-start!important}.align-items-xxl-end{align-items:flex-end!important}.align-items-xxl-center{align-items:center!important}.align-items-xxl-baseline{align-items:baseline!important}.align-items-xxl-stretch{align-items:stretch!important}.align-content-xxl-start{align-content:flex-start!important}.align-content-xxl-end{align-content:flex-end!important}.align-content-xxl-center{align-content:center!important}.align-content-xxl-between{align-content:space-between!important}.align-content-xxl-around{align-content:space-around!important}.align-content-xxl-stretch{align-content:stretch!important}.align-self-xxl-auto{align-self:auto!important}.align-self-xxl-start{align-self:flex-start!important}.align-self-xxl-end{align-self:flex-end!important}.align-self-xxl-center{align-self:center!important}.align-self-xxl-baseline{align-self:baseline!important}.align-self-xxl-stretch{align-self:stretch!important}.order-xxl-first{order:-1!important}.order-xxl-0{order:0!important}.order-xxl-1{order:1!important}.order-xxl-2{order:2!important}.order-xxl-3{order:3!important}.order-xxl-4{order:4!important}.order-xxl-5{order:5!important}.order-xxl-last{order:6!important}.m-xxl-0{margin:0!important}.m-xxl-1{margin:.25rem!important}.m-xxl-2{margin:.5rem!important}.m-xxl-3{margin:1rem!important}.m-xxl-4{margin:1.5rem!important}.m-xxl-5{margin:3rem!important}.m-xxl-auto{margin:auto!important}.mx-xxl-0{margin-right:0!important;margin-left:0!important}.mx-xxl-1{margin-right:.25rem!important;margin-left:.25rem!important}.mx-xxl-2{margin-right:.5rem!important;margin-left:.5rem!important}.mx-xxl-3{margin-right:1rem!important;margin-left:1rem!important}.mx-xxl-4{margin-right:1.5rem!important;margin-left:1.5rem!important}.mx-xxl-5{margin-right:3rem!important;margin-left:3rem!important}.mx-xxl-auto{margin-right:auto!important;margin-left:auto!important}.my-xxl-0{margin-top:0!important;margin-bottom:0!important}.my-xxl-1{margin-top:.25rem!important;margin-bottom:.25rem!important}.my-xxl-2{margin-top:.5rem!important;margin-bottom:.5rem!important}.my-xxl-3{margin-top:1rem!important;margin-bottom:1rem!important}.my-xxl-4{margin-top:1.5rem!important;margin-bottom:1.5rem!important}.my-xxl-5{margin-top:3rem!important;margin-bottom:3rem!important}.my-xxl-auto{margin-top:auto!important;margin-bottom:auto!important}.mt-xxl-0{margin-top:0!important}.mt-xxl-1{margin-top:.25rem!important}.mt-xxl-2{margin-top:.5rem!important}.mt-xxl-3{margin-top:1rem!important}.mt-xxl-4{margin-top:1.5rem!important}.mt-xxl-5{margin-top:3rem!important}.mt-xxl-auto{margin-top:auto!important}.me-xxl-0{margin-right:0!important}.me-xxl-1{margin-right:.25rem!important}.me-xxl-2{margin-right:.5rem!important}.me-xxl-3{margin-right:1rem!important}.me-xxl-4{margin-right:1.5rem!important}.me-xxl-5{margin-right:3rem!important}.me-xxl-auto{margin-right:auto!important}.mb-xxl-0{margin-bottom:0!important}.mb-xxl-1{margin-bottom:.25rem!important}.mb-xxl-2{margin-bottom:.5rem!important}.mb-xxl-3{margin-bottom:1rem!important}.mb-xxl-4{margin-bottom:1.5rem!important}.mb-xxl-5{margin-bottom:3rem!important}.mb-xxl-auto{margin-bottom:auto!important}.ms-xxl-0{margin-left:0!important}.ms-xxl-1{margin-left:.25rem!important}.ms-xxl-2{margin-left:.5rem!important}.ms-xxl-3{margin-left:1rem!important}.ms-xxl-4{margin-left:1.5rem!important}.ms-xxl-5{margin-left:3rem!important}.ms-xxl-auto{margin-left:auto!important}.p-xxl-0{padding:0!important}.p-xxl-1{padding:.25rem!important}.p-xxl-2{padding:.5rem!important}.p-xxl-3{padding:1rem!important}.p-xxl-4{padding:1.5rem!important}.p-xxl-5{padding:3rem!important}.px-xxl-0{padding-right:0!important;padding-left:0!important}.px-xxl-1{padding-right:.25rem!important;padding-left:.25rem!important}.px-xxl-2{padding-right:.5rem!important;padding-left:.5rem!important}.px-xxl-3{padding-right:1rem!important;padding-left:1rem!important}.px-xxl-4{padding-right:1.5rem!important;padding-left:1.5rem!important}.px-xxl-5{padding-right:3rem!important;padding-left:3rem!important}.py-xxl-0{padding-top:0!important;padding-bottom:0!important}.py-xxl-1{padding-top:.25rem!important;padding-bottom:.25rem!important}.py-xxl-2{padding-top:.5rem!important;padding-bottom:.5rem!important}.py-xxl-3{padding-top:1rem!important;padding-bottom:1rem!important}.py-xxl-4{padding-top:1.5rem!important;padding-bottom:1.5rem!important}.py-xxl-5{padding-top:3rem!important;padding-bottom:3rem!important}.pt-xxl-0{padding-top:0!important}.pt-xxl-1{padding-top:.25rem!important}.pt-xxl-2{padding-top:.5rem!important}.pt-xxl-3{padding-top:1rem!important}.pt-xxl-4{padding-top:1.5rem!important}.pt-xxl-5{padding-top:3rem!important}.pe-xxl-0{padding-right:0!important}.pe-xxl-1{padding-right:.25rem!important}.pe-xxl-2{padding-right:.5rem!important}.pe-xxl-3{padding-right:1rem!important}.pe-xxl-4{padding-right:1.5rem!important}.pe-xxl-5{padding-right:3rem!important}.pb-xxl-0{padding-bottom:0!important}.pb-xxl-1{padding-bottom:.25rem!important}.pb-xxl-2{padding-bottom:.5rem!important}.pb-xxl-3{padding-bottom:1rem!important}.pb-xxl-4{padding-bottom:1.5rem!important}.pb-xxl-5{padding-bottom:3rem!important}.ps-xxl-0{padding-left:0!important}.ps-xxl-1{padding-left:.25rem!important}.ps-xxl-2{padding-left:.5rem!important}.ps-xxl-3{padding-left:1rem!important}.ps-xxl-4{padding-left:1.5rem!important}.ps-xxl-5{padding-left:3rem!important}.gap-xxl-0{gap:0!important}.gap-xxl-1{gap:.25rem!important}.gap-xxl-2{gap:.5rem!important}.gap-xxl-3{gap:1rem!important}.gap-xxl-4{gap:1.5rem!important}.gap-xxl-5{gap:3rem!important}.row-gap-xxl-0{row-gap:0!important}.row-gap-xxl-1{row-gap:.25rem!important}.row-gap-xxl-2{row-gap:.5rem!important}.row-gap-xxl-3{row-gap:1rem!important}.row-gap-xxl-4{row-gap:1.5rem!important}.row-gap-xxl-5{row-gap:3rem!important}.column-gap-xxl-0{-moz-column-gap:0!important;column-gap:0!important}.column-gap-xxl-1{-moz-column-gap:0.25rem!important;column-gap:.25rem!important}.column-gap-xxl-2{-moz-column-gap:0.5rem!important;column-gap:.5rem!important}.column-gap-xxl-3{-moz-column-gap:1rem!important;column-gap:1rem!important}.column-gap-xxl-4{-moz-column-gap:1.5rem!important;column-gap:1.5rem!important}.column-gap-xxl-5{-moz-column-gap:3rem!important;column-gap:3rem!important}.text-xxl-start{text-align:left!important}.text-xxl-end{text-align:right!important}.text-xxl-center{text-align:center!important}}@media (min-width:1200px){.fs-1{font-size:2.5rem!important}.fs-2{font-size:2rem!important}.fs-3{font-size:1.75rem!important}.fs-4{font-size:1.5rem!important}}@media print{.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-grid{display:grid!important}.d-print-inline-grid{display:inline-grid!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:flex!important}.d-print-inline-flex{display:inline-flex!important}.d-print-none{display:none!important}}
/*!
 * Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com
 * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License)
 * Copyright 2024 Fonticons, Inc.
 */
.fa{font-family:var(--fa-style-family,"Font Awesome 6 Free");font-weight:var(--fa-style,900)}.fa,.fa-brands,.fa-regular,.fa-solid,.fab,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:var(--fa-display,inline-block);font-style:normal;font-variant:normal;line-height:1;text-rendering:auto}.fa-brands:before,.fa-regular:before,.fa-solid:before,.fa:before,.fab:before,.far:before,.fas:before{content:var(--fa)}.fa-classic,.fa-regular,.fa-solid,.far,.fas{font-family:"Font Awesome 6 Free"}.fa-brands,.fab{font-family:"Font Awesome 6 Brands"}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-2xs{font-size:.625em;line-height:.1em;vertical-align:.225em}.fa-xs{font-size:.75em;line-height:.08333em;vertical-align:.125em}.fa-sm{font-size:.875em;line-height:.07143em;vertical-align:.05357em}.fa-lg{font-size:1.25em;line-height:.05em;vertical-align:-.075em}.fa-xl{font-size:1.5em;line-height:.04167em;vertical-align:-.125em}.fa-2xl{font-size:2em;line-height:.03125em;vertical-align:-.1875em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:var(--fa-li-margin,2.5em);padding-left:0}.fa-ul>li{position:relative}.fa-li{left:calc(var(--fa-li-width, 2em)*-1);position:absolute;text-align:center;width:var(--fa-li-width,2em);line-height:inherit}.fa-border{border-radius:var(--fa-border-radius,.1em);border:var(--fa-border-width,.08em) var(--fa-border-style,solid) var(--fa-border-color,#eee);padding:var(--fa-border-padding,.2em .25em .15em)}.fa-pull-left{float:left;margin-right:var(--fa-pull-margin,.3em)}.fa-pull-right{float:right;margin-left:var(--fa-pull-margin,.3em)}.fa-beat{animation-name:fa-beat;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-bounce{animation-name:fa-bounce;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.28,.84,.42,1))}.fa-fade{animation-name:fa-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-beat-fade,.fa-fade{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s)}.fa-beat-fade{animation-name:fa-beat-fade;animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,cubic-bezier(.4,0,.6,1))}.fa-flip{animation-name:fa-flip;animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,ease-in-out)}.fa-shake{animation-name:fa-shake;animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-shake,.fa-spin{animation-delay:var(--fa-animation-delay,0s);animation-direction:var(--fa-animation-direction,normal)}.fa-spin{animation-name:fa-spin;animation-duration:var(--fa-animation-duration,2s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,linear)}.fa-spin-reverse{--fa-animation-direction:reverse}.fa-pulse,.fa-spin-pulse{animation-name:fa-spin;animation-direction:var(--fa-animation-direction,normal);animation-duration:var(--fa-animation-duration,1s);animation-iteration-count:var(--fa-animation-iteration-count,infinite);animation-timing-function:var(--fa-animation-timing,steps(8))}@media (prefers-reduced-motion:reduce){.fa-beat,.fa-beat-fade,.fa-bounce,.fa-fade,.fa-flip,.fa-pulse,.fa-shake,.fa-spin,.fa-spin-pulse{animation-delay:-1ms;animation-duration:1ms;animation-iteration-count:1;transition-delay:0s;transition-duration:0s}}@keyframes fa-beat{0%,90%{transform:scale(1)}45%{transform:scale(var(--fa-beat-scale,1.25))}}@keyframes fa-bounce{0%{transform:scale(1) translateY(0)}10%{transform:scale(var(--fa-bounce-start-scale-x,1.1),var(--fa-bounce-start-scale-y,.9)) translateY(0)}30%{transform:scale(var(--fa-bounce-jump-scale-x,.9),var(--fa-bounce-jump-scale-y,1.1)) translateY(var(--fa-bounce-height,-.5em))}50%{transform:scale(var(--fa-bounce-land-scale-x,1.05),var(--fa-bounce-land-scale-y,.95)) translateY(0)}57%{transform:scale(1) translateY(var(--fa-bounce-rebound,-.125em))}64%{transform:scale(1) translateY(0)}to{transform:scale(1) translateY(0)}}@keyframes fa-fade{50%{opacity:var(--fa-fade-opacity,.4)}}@keyframes fa-beat-fade{0%,to{opacity:var(--fa-beat-fade-opacity,.4);transform:scale(1)}50%{opacity:1;transform:scale(var(--fa-beat-fade-scale,1.125))}}@keyframes fa-flip{50%{transform:rotate3d(var(--fa-flip-x,0),var(--fa-flip-y,1),var(--fa-flip-z,0),var(--fa-flip-angle,-180deg))}}@keyframes fa-shake{0%{transform:rotate(-15deg)}4%{transform:rotate(15deg)}8%,24%{transform:rotate(-18deg)}12%,28%{transform:rotate(18deg)}16%{transform:rotate(-22deg)}20%{transform:rotate(22deg)}32%{transform:rotate(-12deg)}36%{transform:rotate(12deg)}40%,to{transform:rotate(0deg)}}@keyframes fa-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.fa-rotate-90{transform:rotate(90deg)}.fa-rotate-180{transform:rotate(180deg)}.fa-rotate-270{transform:rotate(270deg)}.fa-flip-horizontal{transform:scaleX(-1)}.fa-flip-vertical{transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{transform:scale(-1)}.fa-rotate-by{transform:rotate(var(--fa-rotate-angle,0))}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%;z-index:var(--fa-stack-z-index,auto)}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:var(--fa-inverse,#fff)}

.fa-0{--fa:"\30"}.fa-1{--fa:"\31"}.fa-2{--fa:"\32"}.fa-3{--fa:"\33"}.fa-4{--fa:"\34"}.fa-5{--fa:"\35"}.fa-6{--fa:"\36"}.fa-7{--fa:"\37"}.fa-8{--fa:"\38"}.fa-9{--fa:"\39"}.fa-fill-drip{--fa:"\f576"}.fa-arrows-to-circle{--fa:"\e4bd"}.fa-chevron-circle-right,.fa-circle-chevron-right{--fa:"\f138"}.fa-at{--fa:"\40"}.fa-trash-alt,.fa-trash-can{--fa:"\f2ed"}.fa-text-height{--fa:"\f034"}.fa-user-times,.fa-user-xmark{--fa:"\f235"}.fa-stethoscope{--fa:"\f0f1"}.fa-comment-alt,.fa-message{--fa:"\f27a"}.fa-info{--fa:"\f129"}.fa-compress-alt,.fa-down-left-and-up-right-to-center{--fa:"\f422"}.fa-explosion{--fa:"\e4e9"}.fa-file-alt,.fa-file-lines,.fa-file-text{--fa:"\f15c"}.fa-wave-square{--fa:"\f83e"}.fa-ring{--fa:"\f70b"}.fa-building-un{--fa:"\e4d9"}.fa-dice-three{--fa:"\f527"}.fa-calendar-alt,.fa-calendar-days{--fa:"\f073"}.fa-anchor-circle-check{--fa:"\e4aa"}.fa-building-circle-arrow-right{--fa:"\e4d1"}.fa-volleyball,.fa-volleyball-ball{--fa:"\f45f"}.fa-arrows-up-to-line{--fa:"\e4c2"}.fa-sort-desc,.fa-sort-down{--fa:"\f0dd"}.fa-circle-minus,.fa-minus-circle{--fa:"\f056"}.fa-door-open{--fa:"\f52b"}.fa-right-from-bracket,.fa-sign-out-alt{--fa:"\f2f5"}.fa-atom{--fa:"\f5d2"}.fa-soap{--fa:"\e06e"}.fa-heart-music-camera-bolt,.fa-icons{--fa:"\f86d"}.fa-microphone-alt-slash,.fa-microphone-lines-slash{--fa:"\f539"}.fa-bridge-circle-check{--fa:"\e4c9"}.fa-pump-medical{--fa:"\e06a"}.fa-fingerprint{--fa:"\f577"}.fa-hand-point-right{--fa:"\f0a4"}.fa-magnifying-glass-location,.fa-search-location{--fa:"\f689"}.fa-forward-step,.fa-step-forward{--fa:"\f051"}.fa-face-smile-beam,.fa-smile-beam{--fa:"\f5b8"}.fa-flag-checkered{--fa:"\f11e"}.fa-football,.fa-football-ball{--fa:"\f44e"}.fa-school-circle-exclamation{--fa:"\e56c"}.fa-crop{--fa:"\f125"}.fa-angle-double-down,.fa-angles-down{--fa:"\f103"}.fa-users-rectangle{--fa:"\e594"}.fa-people-roof{--fa:"\e537"}.fa-people-line{--fa:"\e534"}.fa-beer,.fa-beer-mug-empty{--fa:"\f0fc"}.fa-diagram-predecessor{--fa:"\e477"}.fa-arrow-up-long,.fa-long-arrow-up{--fa:"\f176"}.fa-burn,.fa-fire-flame-simple{--fa:"\f46a"}.fa-male,.fa-person{--fa:"\f183"}.fa-laptop{--fa:"\f109"}.fa-file-csv{--fa:"\f6dd"}.fa-menorah{--fa:"\f676"}.fa-truck-plane{--fa:"\e58f"}.fa-record-vinyl{--fa:"\f8d9"}.fa-face-grin-stars,.fa-grin-stars{--fa:"\f587"}.fa-bong{--fa:"\f55c"}.fa-pastafarianism,.fa-spaghetti-monster-flying{--fa:"\f67b"}.fa-arrow-down-up-across-line{--fa:"\e4af"}.fa-spoon,.fa-utensil-spoon{--fa:"\f2e5"}.fa-jar-wheat{--fa:"\e517"}.fa-envelopes-bulk,.fa-mail-bulk{--fa:"\f674"}.fa-file-circle-exclamation{--fa:"\e4eb"}.fa-circle-h,.fa-hospital-symbol{--fa:"\f47e"}.fa-pager{--fa:"\f815"}.fa-address-book,.fa-contact-book{--fa:"\f2b9"}.fa-strikethrough{--fa:"\f0cc"}.fa-k{--fa:"\4b"}.fa-landmark-flag{--fa:"\e51c"}.fa-pencil,.fa-pencil-alt{--fa:"\f303"}.fa-backward{--fa:"\f04a"}.fa-caret-right{--fa:"\f0da"}.fa-comments{--fa:"\f086"}.fa-file-clipboard,.fa-paste{--fa:"\f0ea"}.fa-code-pull-request{--fa:"\e13c"}.fa-clipboard-list{--fa:"\f46d"}.fa-truck-loading,.fa-truck-ramp-box{--fa:"\f4de"}.fa-user-check{--fa:"\f4fc"}.fa-vial-virus{--fa:"\e597"}.fa-sheet-plastic{--fa:"\e571"}.fa-blog{--fa:"\f781"}.fa-user-ninja{--fa:"\f504"}.fa-person-arrow-up-from-line{--fa:"\e539"}.fa-scroll-torah,.fa-torah{--fa:"\f6a0"}.fa-broom-ball,.fa-quidditch,.fa-quidditch-broom-ball{--fa:"\f458"}.fa-toggle-off{--fa:"\f204"}.fa-archive,.fa-box-archive{--fa:"\f187"}.fa-person-drowning{--fa:"\e545"}.fa-arrow-down-9-1,.fa-sort-numeric-desc,.fa-sort-numeric-down-alt{--fa:"\f886"}.fa-face-grin-tongue-squint,.fa-grin-tongue-squint{--fa:"\f58a"}.fa-spray-can{--fa:"\f5bd"}.fa-truck-monster{--fa:"\f63b"}.fa-w{--fa:"\57"}.fa-earth-africa,.fa-globe-africa{--fa:"\f57c"}.fa-rainbow{--fa:"\f75b"}.fa-circle-notch{--fa:"\f1ce"}.fa-tablet-alt,.fa-tablet-screen-button{--fa:"\f3fa"}.fa-paw{--fa:"\f1b0"}.fa-cloud{--fa:"\f0c2"}.fa-trowel-bricks{--fa:"\e58a"}.fa-face-flushed,.fa-flushed{--fa:"\f579"}.fa-hospital-user{--fa:"\f80d"}.fa-tent-arrow-left-right{--fa:"\e57f"}.fa-gavel,.fa-legal{--fa:"\f0e3"}.fa-binoculars{--fa:"\f1e5"}.fa-microphone-slash{--fa:"\f131"}.fa-box-tissue{--fa:"\e05b"}.fa-motorcycle{--fa:"\f21c"}.fa-bell-concierge,.fa-concierge-bell{--fa:"\f562"}.fa-pen-ruler,.fa-pencil-ruler{--fa:"\f5ae"}.fa-people-arrows,.fa-people-arrows-left-right{--fa:"\e068"}.fa-mars-and-venus-burst{--fa:"\e523"}.fa-caret-square-right,.fa-square-caret-right{--fa:"\f152"}.fa-cut,.fa-scissors{--fa:"\f0c4"}.fa-sun-plant-wilt{--fa:"\e57a"}.fa-toilets-portable{--fa:"\e584"}.fa-hockey-puck{--fa:"\f453"}.fa-table{--fa:"\f0ce"}.fa-magnifying-glass-arrow-right{--fa:"\e521"}.fa-digital-tachograph,.fa-tachograph-digital{--fa:"\f566"}.fa-users-slash{--fa:"\e073"}.fa-clover{--fa:"\e139"}.fa-mail-reply,.fa-reply{--fa:"\f3e5"}.fa-star-and-crescent{--fa:"\f699"}.fa-house-fire{--fa:"\e50c"}.fa-minus-square,.fa-square-minus{--fa:"\f146"}.fa-helicopter{--fa:"\f533"}.fa-compass{--fa:"\f14e"}.fa-caret-square-down,.fa-square-caret-down{--fa:"\f150"}.fa-file-circle-question{--fa:"\e4ef"}.fa-laptop-code{--fa:"\f5fc"}.fa-swatchbook{--fa:"\f5c3"}.fa-prescription-bottle{--fa:"\f485"}.fa-bars,.fa-navicon{--fa:"\f0c9"}.fa-people-group{--fa:"\e533"}.fa-hourglass-3,.fa-hourglass-end{--fa:"\f253"}.fa-heart-broken,.fa-heart-crack{--fa:"\f7a9"}.fa-external-link-square-alt,.fa-square-up-right{--fa:"\f360"}.fa-face-kiss-beam,.fa-kiss-beam{--fa:"\f597"}.fa-film{--fa:"\f008"}.fa-ruler-horizontal{--fa:"\f547"}.fa-people-robbery{--fa:"\e536"}.fa-lightbulb{--fa:"\f0eb"}.fa-caret-left{--fa:"\f0d9"}.fa-circle-exclamation,.fa-exclamation-circle{--fa:"\f06a"}.fa-school-circle-xmark{--fa:"\e56d"}.fa-arrow-right-from-bracket,.fa-sign-out{--fa:"\f08b"}.fa-chevron-circle-down,.fa-circle-chevron-down{--fa:"\f13a"}.fa-unlock-alt,.fa-unlock-keyhole{--fa:"\f13e"}.fa-cloud-showers-heavy{--fa:"\f740"}.fa-headphones-alt,.fa-headphones-simple{--fa:"\f58f"}.fa-sitemap{--fa:"\f0e8"}.fa-circle-dollar-to-slot,.fa-donate{--fa:"\f4b9"}.fa-memory{--fa:"\f538"}.fa-road-spikes{--fa:"\e568"}.fa-fire-burner{--fa:"\e4f1"}.fa-flag{--fa:"\f024"}.fa-hanukiah{--fa:"\f6e6"}.fa-feather{--fa:"\f52d"}.fa-volume-down,.fa-volume-low{--fa:"\f027"}.fa-comment-slash{--fa:"\f4b3"}.fa-cloud-sun-rain{--fa:"\f743"}.fa-compress{--fa:"\f066"}.fa-wheat-alt,.fa-wheat-awn{--fa:"\e2cd"}.fa-ankh{--fa:"\f644"}.fa-hands-holding-child{--fa:"\e4fa"}.fa-asterisk{--fa:"\2a"}.fa-check-square,.fa-square-check{--fa:"\f14a"}.fa-peseta-sign{--fa:"\e221"}.fa-header,.fa-heading{--fa:"\f1dc"}.fa-ghost{--fa:"\f6e2"}.fa-list,.fa-list-squares{--fa:"\f03a"}.fa-phone-square-alt,.fa-square-phone-flip{--fa:"\f87b"}.fa-cart-plus{--fa:"\f217"}.fa-gamepad{--fa:"\f11b"}.fa-circle-dot,.fa-dot-circle{--fa:"\f192"}.fa-dizzy,.fa-face-dizzy{--fa:"\f567"}.fa-egg{--fa:"\f7fb"}.fa-house-medical-circle-xmark{--fa:"\e513"}.fa-campground{--fa:"\f6bb"}.fa-folder-plus{--fa:"\f65e"}.fa-futbol,.fa-futbol-ball,.fa-soccer-ball{--fa:"\f1e3"}.fa-paint-brush,.fa-paintbrush{--fa:"\f1fc"}.fa-lock{--fa:"\f023"}.fa-gas-pump{--fa:"\f52f"}.fa-hot-tub,.fa-hot-tub-person{--fa:"\f593"}.fa-map-location,.fa-map-marked{--fa:"\f59f"}.fa-house-flood-water{--fa:"\e50e"}.fa-tree{--fa:"\f1bb"}.fa-bridge-lock{--fa:"\e4cc"}.fa-sack-dollar{--fa:"\f81d"}.fa-edit,.fa-pen-to-square{--fa:"\f044"}.fa-car-side{--fa:"\f5e4"}.fa-share-alt,.fa-share-nodes{--fa:"\f1e0"}.fa-heart-circle-minus{--fa:"\e4ff"}.fa-hourglass-2,.fa-hourglass-half{--fa:"\f252"}.fa-microscope{--fa:"\f610"}.fa-sink{--fa:"\e06d"}.fa-bag-shopping,.fa-shopping-bag{--fa:"\f290"}.fa-arrow-down-z-a,.fa-sort-alpha-desc,.fa-sort-alpha-down-alt{--fa:"\f881"}.fa-mitten{--fa:"\f7b5"}.fa-person-rays{--fa:"\e54d"}.fa-users{--fa:"\f0c0"}.fa-eye-slash{--fa:"\f070"}.fa-flask-vial{--fa:"\e4f3"}.fa-hand,.fa-hand-paper{--fa:"\f256"}.fa-om{--fa:"\f679"}.fa-worm{--fa:"\e599"}.fa-house-circle-xmark{--fa:"\e50b"}.fa-plug{--fa:"\f1e6"}.fa-chevron-up{--fa:"\f077"}.fa-hand-spock{--fa:"\f259"}.fa-stopwatch{--fa:"\f2f2"}.fa-face-kiss,.fa-kiss{--fa:"\f596"}.fa-bridge-circle-xmark{--fa:"\e4cb"}.fa-face-grin-tongue,.fa-grin-tongue{--fa:"\f589"}.fa-chess-bishop{--fa:"\f43a"}.fa-face-grin-wink,.fa-grin-wink{--fa:"\f58c"}.fa-deaf,.fa-deafness,.fa-ear-deaf,.fa-hard-of-hearing{--fa:"\f2a4"}.fa-road-circle-check{--fa:"\e564"}.fa-dice-five{--fa:"\f523"}.fa-rss-square,.fa-square-rss{--fa:"\f143"}.fa-land-mine-on{--fa:"\e51b"}.fa-i-cursor{--fa:"\f246"}.fa-stamp{--fa:"\f5bf"}.fa-stairs{--fa:"\e289"}.fa-i{--fa:"\49"}.fa-hryvnia,.fa-hryvnia-sign{--fa:"\f6f2"}.fa-pills{--fa:"\f484"}.fa-face-grin-wide,.fa-grin-alt{--fa:"\f581"}.fa-tooth{--fa:"\f5c9"}.fa-v{--fa:"\56"}.fa-bangladeshi-taka-sign{--fa:"\e2e6"}.fa-bicycle{--fa:"\f206"}.fa-rod-asclepius,.fa-rod-snake,.fa-staff-aesculapius,.fa-staff-snake{--fa:"\e579"}.fa-head-side-cough-slash{--fa:"\e062"}.fa-ambulance,.fa-truck-medical{--fa:"\f0f9"}.fa-wheat-awn-circle-exclamation{--fa:"\e598"}.fa-snowman{--fa:"\f7d0"}.fa-mortar-pestle{--fa:"\f5a7"}.fa-road-barrier{--fa:"\e562"}.fa-school{--fa:"\f549"}.fa-igloo{--fa:"\f7ae"}.fa-joint{--fa:"\f595"}.fa-angle-right{--fa:"\f105"}.fa-horse{--fa:"\f6f0"}.fa-q{--fa:"\51"}.fa-g{--fa:"\47"}.fa-notes-medical{--fa:"\f481"}.fa-temperature-2,.fa-temperature-half,.fa-thermometer-2,.fa-thermometer-half{--fa:"\f2c9"}.fa-dong-sign{--fa:"\e169"}.fa-capsules{--fa:"\f46b"}.fa-poo-bolt,.fa-poo-storm{--fa:"\f75a"}.fa-face-frown-open,.fa-frown-open{--fa:"\f57a"}.fa-hand-point-up{--fa:"\f0a6"}.fa-money-bill{--fa:"\f0d6"}.fa-bookmark{--fa:"\f02e"}.fa-align-justify{--fa:"\f039"}.fa-umbrella-beach{--fa:"\f5ca"}.fa-helmet-un{--fa:"\e503"}.fa-bullseye{--fa:"\f140"}.fa-bacon{--fa:"\f7e5"}.fa-hand-point-down{--fa:"\f0a7"}.fa-arrow-up-from-bracket{--fa:"\e09a"}.fa-folder,.fa-folder-blank{--fa:"\f07b"}.fa-file-medical-alt,.fa-file-waveform{--fa:"\f478"}.fa-radiation{--fa:"\f7b9"}.fa-chart-simple{--fa:"\e473"}.fa-mars-stroke{--fa:"\f229"}.fa-vial{--fa:"\f492"}.fa-dashboard,.fa-gauge,.fa-gauge-med,.fa-tachometer-alt-average{--fa:"\f624"}.fa-magic-wand-sparkles,.fa-wand-magic-sparkles{--fa:"\e2ca"}.fa-e{--fa:"\45"}.fa-pen-alt,.fa-pen-clip{--fa:"\f305"}.fa-bridge-circle-exclamation{--fa:"\e4ca"}.fa-user{--fa:"\f007"}.fa-school-circle-check{--fa:"\e56b"}.fa-dumpster{--fa:"\f793"}.fa-shuttle-van,.fa-van-shuttle{--fa:"\f5b6"}.fa-building-user{--fa:"\e4da"}.fa-caret-square-left,.fa-square-caret-left{--fa:"\f191"}.fa-highlighter{--fa:"\f591"}.fa-key{--fa:"\f084"}.fa-bullhorn{--fa:"\f0a1"}.fa-globe{--fa:"\f0ac"}.fa-synagogue{--fa:"\f69b"}.fa-person-half-dress{--fa:"\e548"}.fa-road-bridge{--fa:"\e563"}.fa-location-arrow{--fa:"\f124"}.fa-c{--fa:"\43"}.fa-tablet-button{--fa:"\f10a"}.fa-building-lock{--fa:"\e4d6"}.fa-pizza-slice{--fa:"\f818"}.fa-money-bill-wave{--fa:"\f53a"}.fa-area-chart,.fa-chart-area{--fa:"\f1fe"}.fa-house-flag{--fa:"\e50d"}.fa-person-circle-minus{--fa:"\e540"}.fa-ban,.fa-cancel{--fa:"\f05e"}.fa-camera-rotate{--fa:"\e0d8"}.fa-air-freshener,.fa-spray-can-sparkles{--fa:"\f5d0"}.fa-star{--fa:"\f005"}.fa-repeat{--fa:"\f363"}.fa-cross{--fa:"\f654"}.fa-box{--fa:"\f466"}.fa-venus-mars{--fa:"\f228"}.fa-arrow-pointer,.fa-mouse-pointer{--fa:"\f245"}.fa-expand-arrows-alt,.fa-maximize{--fa:"\f31e"}.fa-charging-station{--fa:"\f5e7"}.fa-shapes,.fa-triangle-circle-square{--fa:"\f61f"}.fa-random,.fa-shuffle{--fa:"\f074"}.fa-person-running,.fa-running{--fa:"\f70c"}.fa-mobile-retro{--fa:"\e527"}.fa-grip-lines-vertical{--fa:"\f7a5"}.fa-spider{--fa:"\f717"}.fa-hands-bound{--fa:"\e4f9"}.fa-file-invoice-dollar{--fa:"\f571"}.fa-plane-circle-exclamation{--fa:"\e556"}.fa-x-ray{--fa:"\f497"}.fa-spell-check{--fa:"\f891"}.fa-slash{--fa:"\f715"}.fa-computer-mouse,.fa-mouse{--fa:"\f8cc"}.fa-arrow-right-to-bracket,.fa-sign-in{--fa:"\f090"}.fa-shop-slash,.fa-store-alt-slash{--fa:"\e070"}.fa-server{--fa:"\f233"}.fa-virus-covid-slash{--fa:"\e4a9"}.fa-shop-lock{--fa:"\e4a5"}.fa-hourglass-1,.fa-hourglass-start{--fa:"\f251"}.fa-blender-phone{--fa:"\f6b6"}.fa-building-wheat{--fa:"\e4db"}.fa-person-breastfeeding{--fa:"\e53a"}.fa-right-to-bracket,.fa-sign-in-alt{--fa:"\f2f6"}.fa-venus{--fa:"\f221"}.fa-passport{--fa:"\f5ab"}.fa-thumb-tack-slash,.fa-thumbtack-slash{--fa:"\e68f"}.fa-heart-pulse,.fa-heartbeat{--fa:"\f21e"}.fa-people-carry,.fa-people-carry-box{--fa:"\f4ce"}.fa-temperature-high{--fa:"\f769"}.fa-microchip{--fa:"\f2db"}.fa-crown{--fa:"\f521"}.fa-weight-hanging{--fa:"\f5cd"}.fa-xmarks-lines{--fa:"\e59a"}.fa-file-prescription{--fa:"\f572"}.fa-weight,.fa-weight-scale{--fa:"\f496"}.fa-user-friends,.fa-user-group{--fa:"\f500"}.fa-arrow-up-a-z,.fa-sort-alpha-up{--fa:"\f15e"}.fa-chess-knight{--fa:"\f441"}.fa-face-laugh-squint,.fa-laugh-squint{--fa:"\f59b"}.fa-wheelchair{--fa:"\f193"}.fa-arrow-circle-up,.fa-circle-arrow-up{--fa:"\f0aa"}.fa-toggle-on{--fa:"\f205"}.fa-person-walking,.fa-walking{--fa:"\f554"}.fa-l{--fa:"\4c"}.fa-fire{--fa:"\f06d"}.fa-bed-pulse,.fa-procedures{--fa:"\f487"}.fa-shuttle-space,.fa-space-shuttle{--fa:"\f197"}.fa-face-laugh,.fa-laugh{--fa:"\f599"}.fa-folder-open{--fa:"\f07c"}.fa-heart-circle-plus{--fa:"\e500"}.fa-code-fork{--fa:"\e13b"}.fa-city{--fa:"\f64f"}.fa-microphone-alt,.fa-microphone-lines{--fa:"\f3c9"}.fa-pepper-hot{--fa:"\f816"}.fa-unlock{--fa:"\f09c"}.fa-colon-sign{--fa:"\e140"}.fa-headset{--fa:"\f590"}.fa-store-slash{--fa:"\e071"}.fa-road-circle-xmark{--fa:"\e566"}.fa-user-minus{--fa:"\f503"}.fa-mars-stroke-up,.fa-mars-stroke-v{--fa:"\f22a"}.fa-champagne-glasses,.fa-glass-cheers{--fa:"\f79f"}.fa-clipboard{--fa:"\f328"}.fa-house-circle-exclamation{--fa:"\e50a"}.fa-file-arrow-up,.fa-file-upload{--fa:"\f574"}.fa-wifi,.fa-wifi-3,.fa-wifi-strong{--fa:"\f1eb"}.fa-bath,.fa-bathtub{--fa:"\f2cd"}.fa-underline{--fa:"\f0cd"}.fa-user-edit,.fa-user-pen{--fa:"\f4ff"}.fa-signature{--fa:"\f5b7"}.fa-stroopwafel{--fa:"\f551"}.fa-bold{--fa:"\f032"}.fa-anchor-lock{--fa:"\e4ad"}.fa-building-ngo{--fa:"\e4d7"}.fa-manat-sign{--fa:"\e1d5"}.fa-not-equal{--fa:"\f53e"}.fa-border-style,.fa-border-top-left{--fa:"\f853"}.fa-map-location-dot,.fa-map-marked-alt{--fa:"\f5a0"}.fa-jedi{--fa:"\f669"}.fa-poll,.fa-square-poll-vertical{--fa:"\f681"}.fa-mug-hot{--fa:"\f7b6"}.fa-battery-car,.fa-car-battery{--fa:"\f5df"}.fa-gift{--fa:"\f06b"}.fa-dice-two{--fa:"\f528"}.fa-chess-queen{--fa:"\f445"}.fa-glasses{--fa:"\f530"}.fa-chess-board{--fa:"\f43c"}.fa-building-circle-check{--fa:"\e4d2"}.fa-person-chalkboard{--fa:"\e53d"}.fa-mars-stroke-h,.fa-mars-stroke-right{--fa:"\f22b"}.fa-hand-back-fist,.fa-hand-rock{--fa:"\f255"}.fa-caret-square-up,.fa-square-caret-up{--fa:"\f151"}.fa-cloud-showers-water{--fa:"\e4e4"}.fa-bar-chart,.fa-chart-bar{--fa:"\f080"}.fa-hands-bubbles,.fa-hands-wash{--fa:"\e05e"}.fa-less-than-equal{--fa:"\f537"}.fa-train{--fa:"\f238"}.fa-eye-low-vision,.fa-low-vision{--fa:"\f2a8"}.fa-crow{--fa:"\f520"}.fa-sailboat{--fa:"\e445"}.fa-window-restore{--fa:"\f2d2"}.fa-plus-square,.fa-square-plus{--fa:"\f0fe"}.fa-torii-gate{--fa:"\f6a1"}.fa-frog{--fa:"\f52e"}.fa-bucket{--fa:"\e4cf"}.fa-image{--fa:"\f03e"}.fa-microphone{--fa:"\f130"}.fa-cow{--fa:"\f6c8"}.fa-caret-up{--fa:"\f0d8"}.fa-screwdriver{--fa:"\f54a"}.fa-folder-closed{--fa:"\e185"}.fa-house-tsunami{--fa:"\e515"}.fa-square-nfi{--fa:"\e576"}.fa-arrow-up-from-ground-water{--fa:"\e4b5"}.fa-glass-martini-alt,.fa-martini-glass{--fa:"\f57b"}.fa-square-binary{--fa:"\e69b"}.fa-rotate-back,.fa-rotate-backward,.fa-rotate-left,.fa-undo-alt{--fa:"\f2ea"}.fa-columns,.fa-table-columns{--fa:"\f0db"}.fa-lemon{--fa:"\f094"}.fa-head-side-mask{--fa:"\e063"}.fa-handshake{--fa:"\f2b5"}.fa-gem{--fa:"\f3a5"}.fa-dolly,.fa-dolly-box{--fa:"\f472"}.fa-smoking{--fa:"\f48d"}.fa-compress-arrows-alt,.fa-minimize{--fa:"\f78c"}.fa-monument{--fa:"\f5a6"}.fa-snowplow{--fa:"\f7d2"}.fa-angle-double-right,.fa-angles-right{--fa:"\f101"}.fa-cannabis{--fa:"\f55f"}.fa-circle-play,.fa-play-circle{--fa:"\f144"}.fa-tablets{--fa:"\f490"}.fa-ethernet{--fa:"\f796"}.fa-eur,.fa-euro,.fa-euro-sign{--fa:"\f153"}.fa-chair{--fa:"\f6c0"}.fa-check-circle,.fa-circle-check{--fa:"\f058"}.fa-circle-stop,.fa-stop-circle{--fa:"\f28d"}.fa-compass-drafting,.fa-drafting-compass{--fa:"\f568"}.fa-plate-wheat{--fa:"\e55a"}.fa-icicles{--fa:"\f7ad"}.fa-person-shelter{--fa:"\e54f"}.fa-neuter{--fa:"\f22c"}.fa-id-badge{--fa:"\f2c1"}.fa-marker{--fa:"\f5a1"}.fa-face-laugh-beam,.fa-laugh-beam{--fa:"\f59a"}.fa-helicopter-symbol{--fa:"\e502"}.fa-universal-access{--fa:"\f29a"}.fa-chevron-circle-up,.fa-circle-chevron-up{--fa:"\f139"}.fa-lari-sign{--fa:"\e1c8"}.fa-volcano{--fa:"\f770"}.fa-person-walking-dashed-line-arrow-right{--fa:"\e553"}.fa-gbp,.fa-pound-sign,.fa-sterling-sign{--fa:"\f154"}.fa-viruses{--fa:"\e076"}.fa-square-person-confined{--fa:"\e577"}.fa-user-tie{--fa:"\f508"}.fa-arrow-down-long,.fa-long-arrow-down{--fa:"\f175"}.fa-tent-arrow-down-to-line{--fa:"\e57e"}.fa-certificate{--fa:"\f0a3"}.fa-mail-reply-all,.fa-reply-all{--fa:"\f122"}.fa-suitcase{--fa:"\f0f2"}.fa-person-skating,.fa-skating{--fa:"\f7c5"}.fa-filter-circle-dollar,.fa-funnel-dollar{--fa:"\f662"}.fa-camera-retro{--fa:"\f083"}.fa-arrow-circle-down,.fa-circle-arrow-down{--fa:"\f0ab"}.fa-arrow-right-to-file,.fa-file-import{--fa:"\f56f"}.fa-external-link-square,.fa-square-arrow-up-right{--fa:"\f14c"}.fa-box-open{--fa:"\f49e"}.fa-scroll{--fa:"\f70e"}.fa-spa{--fa:"\f5bb"}.fa-location-pin-lock{--fa:"\e51f"}.fa-pause{--fa:"\f04c"}.fa-hill-avalanche{--fa:"\e507"}.fa-temperature-0,.fa-temperature-empty,.fa-thermometer-0,.fa-thermometer-empty{--fa:"\f2cb"}.fa-bomb{--fa:"\f1e2"}.fa-registered{--fa:"\f25d"}.fa-address-card,.fa-contact-card,.fa-vcard{--fa:"\f2bb"}.fa-balance-scale-right,.fa-scale-unbalanced-flip{--fa:"\f516"}.fa-subscript{--fa:"\f12c"}.fa-diamond-turn-right,.fa-directions{--fa:"\f5eb"}.fa-burst{--fa:"\e4dc"}.fa-house-laptop,.fa-laptop-house{--fa:"\e066"}.fa-face-tired,.fa-tired{--fa:"\f5c8"}.fa-money-bills{--fa:"\e1f3"}.fa-smog{--fa:"\f75f"}.fa-crutch{--fa:"\f7f7"}.fa-cloud-arrow-up,.fa-cloud-upload,.fa-cloud-upload-alt{--fa:"\f0ee"}.fa-palette{--fa:"\f53f"}.fa-arrows-turn-right{--fa:"\e4c0"}.fa-vest{--fa:"\e085"}.fa-ferry{--fa:"\e4ea"}.fa-arrows-down-to-people{--fa:"\e4b9"}.fa-seedling,.fa-sprout{--fa:"\f4d8"}.fa-arrows-alt-h,.fa-left-right{--fa:"\f337"}.fa-boxes-packing{--fa:"\e4c7"}.fa-arrow-circle-left,.fa-circle-arrow-left{--fa:"\f0a8"}.fa-group-arrows-rotate{--fa:"\e4f6"}.fa-bowl-food{--fa:"\e4c6"}.fa-candy-cane{--fa:"\f786"}.fa-arrow-down-wide-short,.fa-sort-amount-asc,.fa-sort-amount-down{--fa:"\f160"}.fa-cloud-bolt,.fa-thunderstorm{--fa:"\f76c"}.fa-remove-format,.fa-text-slash{--fa:"\f87d"}.fa-face-smile-wink,.fa-smile-wink{--fa:"\f4da"}.fa-file-word{--fa:"\f1c2"}.fa-file-powerpoint{--fa:"\f1c4"}.fa-arrows-h,.fa-arrows-left-right{--fa:"\f07e"}.fa-house-lock{--fa:"\e510"}.fa-cloud-arrow-down,.fa-cloud-download,.fa-cloud-download-alt{--fa:"\f0ed"}.fa-children{--fa:"\e4e1"}.fa-blackboard,.fa-chalkboard{--fa:"\f51b"}.fa-user-alt-slash,.fa-user-large-slash{--fa:"\f4fa"}.fa-envelope-open{--fa:"\f2b6"}.fa-handshake-alt-slash,.fa-handshake-simple-slash{--fa:"\e05f"}.fa-mattress-pillow{--fa:"\e525"}.fa-guarani-sign{--fa:"\e19a"}.fa-arrows-rotate,.fa-refresh,.fa-sync{--fa:"\f021"}.fa-fire-extinguisher{--fa:"\f134"}.fa-cruzeiro-sign{--fa:"\e152"}.fa-greater-than-equal{--fa:"\f532"}.fa-shield-alt,.fa-shield-halved{--fa:"\f3ed"}.fa-atlas,.fa-book-atlas{--fa:"\f558"}.fa-virus{--fa:"\e074"}.fa-envelope-circle-check{--fa:"\e4e8"}.fa-layer-group{--fa:"\f5fd"}.fa-arrows-to-dot{--fa:"\e4be"}.fa-archway{--fa:"\f557"}.fa-heart-circle-check{--fa:"\e4fd"}.fa-house-chimney-crack,.fa-house-damage{--fa:"\f6f1"}.fa-file-archive,.fa-file-zipper{--fa:"\f1c6"}.fa-square{--fa:"\f0c8"}.fa-glass-martini,.fa-martini-glass-empty{--fa:"\f000"}.fa-couch{--fa:"\f4b8"}.fa-cedi-sign{--fa:"\e0df"}.fa-italic{--fa:"\f033"}.fa-table-cells-column-lock{--fa:"\e678"}.fa-church{--fa:"\f51d"}.fa-comments-dollar{--fa:"\f653"}.fa-democrat{--fa:"\f747"}.fa-z{--fa:"\5a"}.fa-person-skiing,.fa-skiing{--fa:"\f7c9"}.fa-road-lock{--fa:"\e567"}.fa-a{--fa:"\41"}.fa-temperature-arrow-down,.fa-temperature-down{--fa:"\e03f"}.fa-feather-alt,.fa-feather-pointed{--fa:"\f56b"}.fa-p{--fa:"\50"}.fa-snowflake{--fa:"\f2dc"}.fa-newspaper{--fa:"\f1ea"}.fa-ad,.fa-rectangle-ad{--fa:"\f641"}.fa-arrow-circle-right,.fa-circle-arrow-right{--fa:"\f0a9"}.fa-filter-circle-xmark{--fa:"\e17b"}.fa-locust{--fa:"\e520"}.fa-sort,.fa-unsorted{--fa:"\f0dc"}.fa-list-1-2,.fa-list-numeric,.fa-list-ol{--fa:"\f0cb"}.fa-person-dress-burst{--fa:"\e544"}.fa-money-check-alt,.fa-money-check-dollar{--fa:"\f53d"}.fa-vector-square{--fa:"\f5cb"}.fa-bread-slice{--fa:"\f7ec"}.fa-language{--fa:"\f1ab"}.fa-face-kiss-wink-heart,.fa-kiss-wink-heart{--fa:"\f598"}.fa-filter{--fa:"\f0b0"}.fa-question{--fa:"\3f"}.fa-file-signature{--fa:"\f573"}.fa-arrows-alt,.fa-up-down-left-right{--fa:"\f0b2"}.fa-house-chimney-user{--fa:"\e065"}.fa-hand-holding-heart{--fa:"\f4be"}.fa-puzzle-piece{--fa:"\f12e"}.fa-money-check{--fa:"\f53c"}.fa-star-half-alt,.fa-star-half-stroke{--fa:"\f5c0"}.fa-code{--fa:"\f121"}.fa-glass-whiskey,.fa-whiskey-glass{--fa:"\f7a0"}.fa-building-circle-exclamation{--fa:"\e4d3"}.fa-magnifying-glass-chart{--fa:"\e522"}.fa-arrow-up-right-from-square,.fa-external-link{--fa:"\f08e"}.fa-cubes-stacked{--fa:"\e4e6"}.fa-krw,.fa-won,.fa-won-sign{--fa:"\f159"}.fa-virus-covid{--fa:"\e4a8"}.fa-austral-sign{--fa:"\e0a9"}.fa-f{--fa:"\46"}.fa-leaf{--fa:"\f06c"}.fa-road{--fa:"\f018"}.fa-cab,.fa-taxi{--fa:"\f1ba"}.fa-person-circle-plus{--fa:"\e541"}.fa-chart-pie,.fa-pie-chart{--fa:"\f200"}.fa-bolt-lightning{--fa:"\e0b7"}.fa-sack-xmark{--fa:"\e56a"}.fa-file-excel{--fa:"\f1c3"}.fa-file-contract{--fa:"\f56c"}.fa-fish-fins{--fa:"\e4f2"}.fa-building-flag{--fa:"\e4d5"}.fa-face-grin-beam,.fa-grin-beam{--fa:"\f582"}.fa-object-ungroup{--fa:"\f248"}.fa-poop{--fa:"\f619"}.fa-location-pin,.fa-map-marker{--fa:"\f041"}.fa-kaaba{--fa:"\f66b"}.fa-toilet-paper{--fa:"\f71e"}.fa-hard-hat,.fa-hat-hard,.fa-helmet-safety{--fa:"\f807"}.fa-eject{--fa:"\f052"}.fa-arrow-alt-circle-right,.fa-circle-right{--fa:"\f35a"}.fa-plane-circle-check{--fa:"\e555"}.fa-face-rolling-eyes,.fa-meh-rolling-eyes{--fa:"\f5a5"}.fa-object-group{--fa:"\f247"}.fa-chart-line,.fa-line-chart{--fa:"\f201"}.fa-mask-ventilator{--fa:"\e524"}.fa-arrow-right{--fa:"\f061"}.fa-map-signs,.fa-signs-post{--fa:"\f277"}.fa-cash-register{--fa:"\f788"}.fa-person-circle-question{--fa:"\e542"}.fa-h{--fa:"\48"}.fa-tarp{--fa:"\e57b"}.fa-screwdriver-wrench,.fa-tools{--fa:"\f7d9"}.fa-arrows-to-eye{--fa:"\e4bf"}.fa-plug-circle-bolt{--fa:"\e55b"}.fa-heart{--fa:"\f004"}.fa-mars-and-venus{--fa:"\f224"}.fa-home-user,.fa-house-user{--fa:"\e1b0"}.fa-dumpster-fire{--fa:"\f794"}.fa-house-crack{--fa:"\e3b1"}.fa-cocktail,.fa-martini-glass-citrus{--fa:"\f561"}.fa-face-surprise,.fa-surprise{--fa:"\f5c2"}.fa-bottle-water{--fa:"\e4c5"}.fa-circle-pause,.fa-pause-circle{--fa:"\f28b"}.fa-toilet-paper-slash{--fa:"\e072"}.fa-apple-alt,.fa-apple-whole{--fa:"\f5d1"}.fa-kitchen-set{--fa:"\e51a"}.fa-r{--fa:"\52"}.fa-temperature-1,.fa-temperature-quarter,.fa-thermometer-1,.fa-thermometer-quarter{--fa:"\f2ca"}.fa-cube{--fa:"\f1b2"}.fa-bitcoin-sign{--fa:"\e0b4"}.fa-shield-dog{--fa:"\e573"}.fa-solar-panel{--fa:"\f5ba"}.fa-lock-open{--fa:"\f3c1"}.fa-elevator{--fa:"\e16d"}.fa-money-bill-transfer{--fa:"\e528"}.fa-money-bill-trend-up{--fa:"\e529"}.fa-house-flood-water-circle-arrow-right{--fa:"\e50f"}.fa-poll-h,.fa-square-poll-horizontal{--fa:"\f682"}.fa-circle{--fa:"\f111"}.fa-backward-fast,.fa-fast-backward{--fa:"\f049"}.fa-recycle{--fa:"\f1b8"}.fa-user-astronaut{--fa:"\f4fb"}.fa-plane-slash{--fa:"\e069"}.fa-trademark{--fa:"\f25c"}.fa-basketball,.fa-basketball-ball{--fa:"\f434"}.fa-satellite-dish{--fa:"\f7c0"}.fa-arrow-alt-circle-up,.fa-circle-up{--fa:"\f35b"}.fa-mobile-alt,.fa-mobile-screen-button{--fa:"\f3cd"}.fa-volume-high,.fa-volume-up{--fa:"\f028"}.fa-users-rays{--fa:"\e593"}.fa-wallet{--fa:"\f555"}.fa-clipboard-check{--fa:"\f46c"}.fa-file-audio{--fa:"\f1c7"}.fa-burger,.fa-hamburger{--fa:"\f805"}.fa-wrench{--fa:"\f0ad"}.fa-bugs{--fa:"\e4d0"}.fa-rupee,.fa-rupee-sign{--fa:"\f156"}.fa-file-image{--fa:"\f1c5"}.fa-circle-question,.fa-question-circle{--fa:"\f059"}.fa-plane-departure{--fa:"\f5b0"}.fa-handshake-slash{--fa:"\e060"}.fa-book-bookmark{--fa:"\e0bb"}.fa-code-branch{--fa:"\f126"}.fa-hat-cowboy{--fa:"\f8c0"}.fa-bridge{--fa:"\e4c8"}.fa-phone-alt,.fa-phone-flip{--fa:"\f879"}.fa-truck-front{--fa:"\e2b7"}.fa-cat{--fa:"\f6be"}.fa-anchor-circle-exclamation{--fa:"\e4ab"}.fa-truck-field{--fa:"\e58d"}.fa-route{--fa:"\f4d7"}.fa-clipboard-question{--fa:"\e4e3"}.fa-panorama{--fa:"\e209"}.fa-comment-medical{--fa:"\f7f5"}.fa-teeth-open{--fa:"\f62f"}.fa-file-circle-minus{--fa:"\e4ed"}.fa-tags{--fa:"\f02c"}.fa-wine-glass{--fa:"\f4e3"}.fa-fast-forward,.fa-forward-fast{--fa:"\f050"}.fa-face-meh-blank,.fa-meh-blank{--fa:"\f5a4"}.fa-parking,.fa-square-parking{--fa:"\f540"}.fa-house-signal{--fa:"\e012"}.fa-bars-progress,.fa-tasks-alt{--fa:"\f828"}.fa-faucet-drip{--fa:"\e006"}.fa-cart-flatbed,.fa-dolly-flatbed{--fa:"\f474"}.fa-ban-smoking,.fa-smoking-ban{--fa:"\f54d"}.fa-terminal{--fa:"\f120"}.fa-mobile-button{--fa:"\f10b"}.fa-house-medical-flag{--fa:"\e514"}.fa-basket-shopping,.fa-shopping-basket{--fa:"\f291"}.fa-tape{--fa:"\f4db"}.fa-bus-alt,.fa-bus-simple{--fa:"\f55e"}.fa-eye{--fa:"\f06e"}.fa-face-sad-cry,.fa-sad-cry{--fa:"\f5b3"}.fa-audio-description{--fa:"\f29e"}.fa-person-military-to-person{--fa:"\e54c"}.fa-file-shield{--fa:"\e4f0"}.fa-user-slash{--fa:"\f506"}.fa-pen{--fa:"\f304"}.fa-tower-observation{--fa:"\e586"}.fa-file-code{--fa:"\f1c9"}.fa-signal,.fa-signal-5,.fa-signal-perfect{--fa:"\f012"}.fa-bus{--fa:"\f207"}.fa-heart-circle-xmark{--fa:"\e501"}.fa-home-lg,.fa-house-chimney{--fa:"\e3af"}.fa-window-maximize{--fa:"\f2d0"}.fa-face-frown,.fa-frown{--fa:"\f119"}.fa-prescription{--fa:"\f5b1"}.fa-shop,.fa-store-alt{--fa:"\f54f"}.fa-floppy-disk,.fa-save{--fa:"\f0c7"}.fa-vihara{--fa:"\f6a7"}.fa-balance-scale-left,.fa-scale-unbalanced{--fa:"\f515"}.fa-sort-asc,.fa-sort-up{--fa:"\f0de"}.fa-comment-dots,.fa-commenting{--fa:"\f4ad"}.fa-plant-wilt{--fa:"\e5aa"}.fa-diamond{--fa:"\f219"}.fa-face-grin-squint,.fa-grin-squint{--fa:"\f585"}.fa-hand-holding-dollar,.fa-hand-holding-usd{--fa:"\f4c0"}.fa-chart-diagram{--fa:"\e695"}.fa-bacterium{--fa:"\e05a"}.fa-hand-pointer{--fa:"\f25a"}.fa-drum-steelpan{--fa:"\f56a"}.fa-hand-scissors{--fa:"\f257"}.fa-hands-praying,.fa-praying-hands{--fa:"\f684"}.fa-arrow-right-rotate,.fa-arrow-rotate-forward,.fa-arrow-rotate-right,.fa-redo{--fa:"\f01e"}.fa-biohazard{--fa:"\f780"}.fa-location,.fa-location-crosshairs{--fa:"\f601"}.fa-mars-double{--fa:"\f227"}.fa-child-dress{--fa:"\e59c"}.fa-users-between-lines{--fa:"\e591"}.fa-lungs-virus{--fa:"\e067"}.fa-face-grin-tears,.fa-grin-tears{--fa:"\f588"}.fa-phone{--fa:"\f095"}.fa-calendar-times,.fa-calendar-xmark{--fa:"\f273"}.fa-child-reaching{--fa:"\e59d"}.fa-head-side-virus{--fa:"\e064"}.fa-user-cog,.fa-user-gear{--fa:"\f4fe"}.fa-arrow-up-1-9,.fa-sort-numeric-up{--fa:"\f163"}.fa-door-closed{--fa:"\f52a"}.fa-shield-virus{--fa:"\e06c"}.fa-dice-six{--fa:"\f526"}.fa-mosquito-net{--fa:"\e52c"}.fa-file-fragment{--fa:"\e697"}.fa-bridge-water{--fa:"\e4ce"}.fa-person-booth{--fa:"\f756"}.fa-text-width{--fa:"\f035"}.fa-hat-wizard{--fa:"\f6e8"}.fa-pen-fancy{--fa:"\f5ac"}.fa-digging,.fa-person-digging{--fa:"\f85e"}.fa-trash{--fa:"\f1f8"}.fa-gauge-simple,.fa-gauge-simple-med,.fa-tachometer-average{--fa:"\f629"}.fa-book-medical{--fa:"\f7e6"}.fa-poo{--fa:"\f2fe"}.fa-quote-right,.fa-quote-right-alt{--fa:"\f10e"}.fa-shirt,.fa-t-shirt,.fa-tshirt{--fa:"\f553"}.fa-cubes{--fa:"\f1b3"}.fa-divide{--fa:"\f529"}.fa-tenge,.fa-tenge-sign{--fa:"\f7d7"}.fa-headphones{--fa:"\f025"}.fa-hands-holding{--fa:"\f4c2"}.fa-hands-clapping{--fa:"\e1a8"}.fa-republican{--fa:"\f75e"}.fa-arrow-left{--fa:"\f060"}.fa-person-circle-xmark{--fa:"\e543"}.fa-ruler{--fa:"\f545"}.fa-align-left{--fa:"\f036"}.fa-dice-d6{--fa:"\f6d1"}.fa-restroom{--fa:"\f7bd"}.fa-j{--fa:"\4a"}.fa-users-viewfinder{--fa:"\e595"}.fa-file-video{--fa:"\f1c8"}.fa-external-link-alt,.fa-up-right-from-square{--fa:"\f35d"}.fa-table-cells,.fa-th{--fa:"\f00a"}.fa-file-pdf{--fa:"\f1c1"}.fa-bible,.fa-book-bible{--fa:"\f647"}.fa-o{--fa:"\4f"}.fa-medkit,.fa-suitcase-medical{--fa:"\f0fa"}.fa-user-secret{--fa:"\f21b"}.fa-otter{--fa:"\f700"}.fa-female,.fa-person-dress{--fa:"\f182"}.fa-comment-dollar{--fa:"\f651"}.fa-briefcase-clock,.fa-business-time{--fa:"\f64a"}.fa-table-cells-large,.fa-th-large{--fa:"\f009"}.fa-book-tanakh,.fa-tanakh{--fa:"\f827"}.fa-phone-volume,.fa-volume-control-phone{--fa:"\f2a0"}.fa-hat-cowboy-side{--fa:"\f8c1"}.fa-clipboard-user{--fa:"\f7f3"}.fa-child{--fa:"\f1ae"}.fa-lira-sign{--fa:"\f195"}.fa-satellite{--fa:"\f7bf"}.fa-plane-lock{--fa:"\e558"}.fa-tag{--fa:"\f02b"}.fa-comment{--fa:"\f075"}.fa-birthday-cake,.fa-cake,.fa-cake-candles{--fa:"\f1fd"}.fa-envelope{--fa:"\f0e0"}.fa-angle-double-up,.fa-angles-up{--fa:"\f102"}.fa-paperclip{--fa:"\f0c6"}.fa-arrow-right-to-city{--fa:"\e4b3"}.fa-ribbon{--fa:"\f4d6"}.fa-lungs{--fa:"\f604"}.fa-arrow-up-9-1,.fa-sort-numeric-up-alt{--fa:"\f887"}.fa-litecoin-sign{--fa:"\e1d3"}.fa-border-none{--fa:"\f850"}.fa-circle-nodes{--fa:"\e4e2"}.fa-parachute-box{--fa:"\f4cd"}.fa-indent{--fa:"\f03c"}.fa-truck-field-un{--fa:"\e58e"}.fa-hourglass,.fa-hourglass-empty{--fa:"\f254"}.fa-mountain{--fa:"\f6fc"}.fa-user-doctor,.fa-user-md{--fa:"\f0f0"}.fa-circle-info,.fa-info-circle{--fa:"\f05a"}.fa-cloud-meatball{--fa:"\f73b"}.fa-camera,.fa-camera-alt{--fa:"\f030"}.fa-square-virus{--fa:"\e578"}.fa-meteor{--fa:"\f753"}.fa-car-on{--fa:"\e4dd"}.fa-sleigh{--fa:"\f7cc"}.fa-arrow-down-1-9,.fa-sort-numeric-asc,.fa-sort-numeric-down{--fa:"\f162"}.fa-hand-holding-droplet,.fa-hand-holding-water{--fa:"\f4c1"}.fa-water{--fa:"\f773"}.fa-calendar-check{--fa:"\f274"}.fa-braille{--fa:"\f2a1"}.fa-prescription-bottle-alt,.fa-prescription-bottle-medical{--fa:"\f486"}.fa-landmark{--fa:"\f66f"}.fa-truck{--fa:"\f0d1"}.fa-crosshairs{--fa:"\f05b"}.fa-person-cane{--fa:"\e53c"}.fa-tent{--fa:"\e57d"}.fa-vest-patches{--fa:"\e086"}.fa-check-double{--fa:"\f560"}.fa-arrow-down-a-z,.fa-sort-alpha-asc,.fa-sort-alpha-down{--fa:"\f15d"}.fa-money-bill-wheat{--fa:"\e52a"}.fa-cookie{--fa:"\f563"}.fa-arrow-left-rotate,.fa-arrow-rotate-back,.fa-arrow-rotate-backward,.fa-arrow-rotate-left,.fa-undo{--fa:"\f0e2"}.fa-hard-drive,.fa-hdd{--fa:"\f0a0"}.fa-face-grin-squint-tears,.fa-grin-squint-tears{--fa:"\f586"}.fa-dumbbell{--fa:"\f44b"}.fa-list-alt,.fa-rectangle-list{--fa:"\f022"}.fa-tarp-droplet{--fa:"\e57c"}.fa-house-medical-circle-check{--fa:"\e511"}.fa-person-skiing-nordic,.fa-skiing-nordic{--fa:"\f7ca"}.fa-calendar-plus{--fa:"\f271"}.fa-plane-arrival{--fa:"\f5af"}.fa-arrow-alt-circle-left,.fa-circle-left{--fa:"\f359"}.fa-subway,.fa-train-subway{--fa:"\f239"}.fa-chart-gantt{--fa:"\e0e4"}.fa-indian-rupee,.fa-indian-rupee-sign,.fa-inr{--fa:"\e1bc"}.fa-crop-alt,.fa-crop-simple{--fa:"\f565"}.fa-money-bill-1,.fa-money-bill-alt{--fa:"\f3d1"}.fa-left-long,.fa-long-arrow-alt-left{--fa:"\f30a"}.fa-dna{--fa:"\f471"}.fa-virus-slash{--fa:"\e075"}.fa-minus,.fa-subtract{--fa:"\f068"}.fa-chess{--fa:"\f439"}.fa-arrow-left-long,.fa-long-arrow-left{--fa:"\f177"}.fa-plug-circle-check{--fa:"\e55c"}.fa-street-view{--fa:"\f21d"}.fa-franc-sign{--fa:"\e18f"}.fa-volume-off{--fa:"\f026"}.fa-american-sign-language-interpreting,.fa-asl-interpreting,.fa-hands-american-sign-language-interpreting,.fa-hands-asl-interpreting{--fa:"\f2a3"}.fa-cog,.fa-gear{--fa:"\f013"}.fa-droplet-slash,.fa-tint-slash{--fa:"\f5c7"}.fa-mosque{--fa:"\f678"}.fa-mosquito{--fa:"\e52b"}.fa-star-of-david{--fa:"\f69a"}.fa-person-military-rifle{--fa:"\e54b"}.fa-cart-shopping,.fa-shopping-cart{--fa:"\f07a"}.fa-vials{--fa:"\f493"}.fa-plug-circle-plus{--fa:"\e55f"}.fa-place-of-worship{--fa:"\f67f"}.fa-grip-vertical{--fa:"\f58e"}.fa-hexagon-nodes{--fa:"\e699"}.fa-arrow-turn-up,.fa-level-up{--fa:"\f148"}.fa-u{--fa:"\55"}.fa-square-root-alt,.fa-square-root-variable{--fa:"\f698"}.fa-clock,.fa-clock-four{--fa:"\f017"}.fa-backward-step,.fa-step-backward{--fa:"\f048"}.fa-pallet{--fa:"\f482"}.fa-faucet{--fa:"\e005"}.fa-baseball-bat-ball{--fa:"\f432"}.fa-s{--fa:"\53"}.fa-timeline{--fa:"\e29c"}.fa-keyboard{--fa:"\f11c"}.fa-caret-down{--fa:"\f0d7"}.fa-clinic-medical,.fa-house-chimney-medical{--fa:"\f7f2"}.fa-temperature-3,.fa-temperature-three-quarters,.fa-thermometer-3,.fa-thermometer-three-quarters{--fa:"\f2c8"}.fa-mobile-android-alt,.fa-mobile-screen{--fa:"\f3cf"}.fa-plane-up{--fa:"\e22d"}.fa-piggy-bank{--fa:"\f4d3"}.fa-battery-3,.fa-battery-half{--fa:"\f242"}.fa-mountain-city{--fa:"\e52e"}.fa-coins{--fa:"\f51e"}.fa-khanda{--fa:"\f66d"}.fa-sliders,.fa-sliders-h{--fa:"\f1de"}.fa-folder-tree{--fa:"\f802"}.fa-network-wired{--fa:"\f6ff"}.fa-map-pin{--fa:"\f276"}.fa-hamsa{--fa:"\f665"}.fa-cent-sign{--fa:"\e3f5"}.fa-flask{--fa:"\f0c3"}.fa-person-pregnant{--fa:"\e31e"}.fa-wand-sparkles{--fa:"\f72b"}.fa-ellipsis-v,.fa-ellipsis-vertical{--fa:"\f142"}.fa-ticket{--fa:"\f145"}.fa-power-off{--fa:"\f011"}.fa-long-arrow-alt-right,.fa-right-long{--fa:"\f30b"}.fa-flag-usa{--fa:"\f74d"}.fa-laptop-file{--fa:"\e51d"}.fa-teletype,.fa-tty{--fa:"\f1e4"}.fa-diagram-next{--fa:"\e476"}.fa-person-rifle{--fa:"\e54e"}.fa-house-medical-circle-exclamation{--fa:"\e512"}.fa-closed-captioning{--fa:"\f20a"}.fa-hiking,.fa-person-hiking{--fa:"\f6ec"}.fa-venus-double{--fa:"\f226"}.fa-images{--fa:"\f302"}.fa-calculator{--fa:"\f1ec"}.fa-people-pulling{--fa:"\e535"}.fa-n{--fa:"\4e"}.fa-cable-car,.fa-tram{--fa:"\f7da"}.fa-cloud-rain{--fa:"\f73d"}.fa-building-circle-xmark{--fa:"\e4d4"}.fa-ship{--fa:"\f21a"}.fa-arrows-down-to-line{--fa:"\e4b8"}.fa-download{--fa:"\f019"}.fa-face-grin,.fa-grin{--fa:"\f580"}.fa-backspace,.fa-delete-left{--fa:"\f55a"}.fa-eye-dropper,.fa-eye-dropper-empty,.fa-eyedropper{--fa:"\f1fb"}.fa-file-circle-check{--fa:"\e5a0"}.fa-forward{--fa:"\f04e"}.fa-mobile,.fa-mobile-android,.fa-mobile-phone{--fa:"\f3ce"}.fa-face-meh,.fa-meh{--fa:"\f11a"}.fa-align-center{--fa:"\f037"}.fa-book-dead,.fa-book-skull{--fa:"\f6b7"}.fa-drivers-license,.fa-id-card{--fa:"\f2c2"}.fa-dedent,.fa-outdent{--fa:"\f03b"}.fa-heart-circle-exclamation{--fa:"\e4fe"}.fa-home,.fa-home-alt,.fa-home-lg-alt,.fa-house{--fa:"\f015"}.fa-calendar-week{--fa:"\f784"}.fa-laptop-medical{--fa:"\f812"}.fa-b{--fa:"\42"}.fa-file-medical{--fa:"\f477"}.fa-dice-one{--fa:"\f525"}.fa-kiwi-bird{--fa:"\f535"}.fa-arrow-right-arrow-left,.fa-exchange{--fa:"\f0ec"}.fa-redo-alt,.fa-rotate-forward,.fa-rotate-right{--fa:"\f2f9"}.fa-cutlery,.fa-utensils{--fa:"\f2e7"}.fa-arrow-up-wide-short,.fa-sort-amount-up{--fa:"\f161"}.fa-mill-sign{--fa:"\e1ed"}.fa-bowl-rice{--fa:"\e2eb"}.fa-skull{--fa:"\f54c"}.fa-broadcast-tower,.fa-tower-broadcast{--fa:"\f519"}.fa-truck-pickup{--fa:"\f63c"}.fa-long-arrow-alt-up,.fa-up-long{--fa:"\f30c"}.fa-stop{--fa:"\f04d"}.fa-code-merge{--fa:"\f387"}.fa-upload{--fa:"\f093"}.fa-hurricane{--fa:"\f751"}.fa-mound{--fa:"\e52d"}.fa-toilet-portable{--fa:"\e583"}.fa-compact-disc{--fa:"\f51f"}.fa-file-arrow-down,.fa-file-download{--fa:"\f56d"}.fa-caravan{--fa:"\f8ff"}.fa-shield-cat{--fa:"\e572"}.fa-bolt,.fa-zap{--fa:"\f0e7"}.fa-glass-water{--fa:"\e4f4"}.fa-oil-well{--fa:"\e532"}.fa-vault{--fa:"\e2c5"}.fa-mars{--fa:"\f222"}.fa-toilet{--fa:"\f7d8"}.fa-plane-circle-xmark{--fa:"\e557"}.fa-cny,.fa-jpy,.fa-rmb,.fa-yen,.fa-yen-sign{--fa:"\f157"}.fa-rouble,.fa-rub,.fa-ruble,.fa-ruble-sign{--fa:"\f158"}.fa-sun{--fa:"\f185"}.fa-guitar{--fa:"\f7a6"}.fa-face-laugh-wink,.fa-laugh-wink{--fa:"\f59c"}.fa-horse-head{--fa:"\f7ab"}.fa-bore-hole{--fa:"\e4c3"}.fa-industry{--fa:"\f275"}.fa-arrow-alt-circle-down,.fa-circle-down{--fa:"\f358"}.fa-arrows-turn-to-dots{--fa:"\e4c1"}.fa-florin-sign{--fa:"\e184"}.fa-arrow-down-short-wide,.fa-sort-amount-desc,.fa-sort-amount-down-alt{--fa:"\f884"}.fa-less-than{--fa:"\3c"}.fa-angle-down{--fa:"\f107"}.fa-car-tunnel{--fa:"\e4de"}.fa-head-side-cough{--fa:"\e061"}.fa-grip-lines{--fa:"\f7a4"}.fa-thumbs-down{--fa:"\f165"}.fa-user-lock{--fa:"\f502"}.fa-arrow-right-long,.fa-long-arrow-right{--fa:"\f178"}.fa-anchor-circle-xmark{--fa:"\e4ac"}.fa-ellipsis,.fa-ellipsis-h{--fa:"\f141"}.fa-chess-pawn{--fa:"\f443"}.fa-first-aid,.fa-kit-medical{--fa:"\f479"}.fa-person-through-window{--fa:"\e5a9"}.fa-toolbox{--fa:"\f552"}.fa-hands-holding-circle{--fa:"\e4fb"}.fa-bug{--fa:"\f188"}.fa-credit-card,.fa-credit-card-alt{--fa:"\f09d"}.fa-automobile,.fa-car{--fa:"\f1b9"}.fa-hand-holding-hand{--fa:"\e4f7"}.fa-book-open-reader,.fa-book-reader{--fa:"\f5da"}.fa-mountain-sun{--fa:"\e52f"}.fa-arrows-left-right-to-line{--fa:"\e4ba"}.fa-dice-d20{--fa:"\f6cf"}.fa-truck-droplet{--fa:"\e58c"}.fa-file-circle-xmark{--fa:"\e5a1"}.fa-temperature-arrow-up,.fa-temperature-up{--fa:"\e040"}.fa-medal{--fa:"\f5a2"}.fa-bed{--fa:"\f236"}.fa-h-square,.fa-square-h{--fa:"\f0fd"}.fa-podcast{--fa:"\f2ce"}.fa-temperature-4,.fa-temperature-full,.fa-thermometer-4,.fa-thermometer-full{--fa:"\f2c7"}.fa-bell{--fa:"\f0f3"}.fa-superscript{--fa:"\f12b"}.fa-plug-circle-xmark{--fa:"\e560"}.fa-star-of-life{--fa:"\f621"}.fa-phone-slash{--fa:"\f3dd"}.fa-paint-roller{--fa:"\f5aa"}.fa-hands-helping,.fa-handshake-angle{--fa:"\f4c4"}.fa-location-dot,.fa-map-marker-alt{--fa:"\f3c5"}.fa-file{--fa:"\f15b"}.fa-greater-than{--fa:"\3e"}.fa-person-swimming,.fa-swimmer{--fa:"\f5c4"}.fa-arrow-down{--fa:"\f063"}.fa-droplet,.fa-tint{--fa:"\f043"}.fa-eraser{--fa:"\f12d"}.fa-earth,.fa-earth-america,.fa-earth-americas,.fa-globe-americas{--fa:"\f57d"}.fa-person-burst{--fa:"\e53b"}.fa-dove{--fa:"\f4ba"}.fa-battery-0,.fa-battery-empty{--fa:"\f244"}.fa-socks{--fa:"\f696"}.fa-inbox{--fa:"\f01c"}.fa-section{--fa:"\e447"}.fa-gauge-high,.fa-tachometer-alt,.fa-tachometer-alt-fast{--fa:"\f625"}.fa-envelope-open-text{--fa:"\f658"}.fa-hospital,.fa-hospital-alt,.fa-hospital-wide{--fa:"\f0f8"}.fa-wine-bottle{--fa:"\f72f"}.fa-chess-rook{--fa:"\f447"}.fa-bars-staggered,.fa-reorder,.fa-stream{--fa:"\f550"}.fa-dharmachakra{--fa:"\f655"}.fa-hotdog{--fa:"\f80f"}.fa-blind,.fa-person-walking-with-cane{--fa:"\f29d"}.fa-drum{--fa:"\f569"}.fa-ice-cream{--fa:"\f810"}.fa-heart-circle-bolt{--fa:"\e4fc"}.fa-fax{--fa:"\f1ac"}.fa-paragraph{--fa:"\f1dd"}.fa-check-to-slot,.fa-vote-yea{--fa:"\f772"}.fa-star-half{--fa:"\f089"}.fa-boxes,.fa-boxes-alt,.fa-boxes-stacked{--fa:"\f468"}.fa-chain,.fa-link{--fa:"\f0c1"}.fa-assistive-listening-systems,.fa-ear-listen{--fa:"\f2a2"}.fa-tree-city{--fa:"\e587"}.fa-play{--fa:"\f04b"}.fa-font{--fa:"\f031"}.fa-table-cells-row-lock{--fa:"\e67a"}.fa-rupiah-sign{--fa:"\e23d"}.fa-magnifying-glass,.fa-search{--fa:"\f002"}.fa-ping-pong-paddle-ball,.fa-table-tennis,.fa-table-tennis-paddle-ball{--fa:"\f45d"}.fa-diagnoses,.fa-person-dots-from-line{--fa:"\f470"}.fa-trash-can-arrow-up,.fa-trash-restore-alt{--fa:"\f82a"}.fa-naira-sign{--fa:"\e1f6"}.fa-cart-arrow-down{--fa:"\f218"}.fa-walkie-talkie{--fa:"\f8ef"}.fa-file-edit,.fa-file-pen{--fa:"\f31c"}.fa-receipt{--fa:"\f543"}.fa-pen-square,.fa-pencil-square,.fa-square-pen{--fa:"\f14b"}.fa-suitcase-rolling{--fa:"\f5c1"}.fa-person-circle-exclamation{--fa:"\e53f"}.fa-chevron-down{--fa:"\f078"}.fa-battery,.fa-battery-5,.fa-battery-full{--fa:"\f240"}.fa-skull-crossbones{--fa:"\f714"}.fa-code-compare{--fa:"\e13a"}.fa-list-dots,.fa-list-ul{--fa:"\f0ca"}.fa-school-lock{--fa:"\e56f"}.fa-tower-cell{--fa:"\e585"}.fa-down-long,.fa-long-arrow-alt-down{--fa:"\f309"}.fa-ranking-star{--fa:"\e561"}.fa-chess-king{--fa:"\f43f"}.fa-person-harassing{--fa:"\e549"}.fa-brazilian-real-sign{--fa:"\e46c"}.fa-landmark-alt,.fa-landmark-dome{--fa:"\f752"}.fa-arrow-up{--fa:"\f062"}.fa-television,.fa-tv,.fa-tv-alt{--fa:"\f26c"}.fa-shrimp{--fa:"\e448"}.fa-list-check,.fa-tasks{--fa:"\f0ae"}.fa-jug-detergent{--fa:"\e519"}.fa-circle-user,.fa-user-circle{--fa:"\f2bd"}.fa-user-shield{--fa:"\f505"}.fa-wind{--fa:"\f72e"}.fa-car-burst,.fa-car-crash{--fa:"\f5e1"}.fa-y{--fa:"\59"}.fa-person-snowboarding,.fa-snowboarding{--fa:"\f7ce"}.fa-shipping-fast,.fa-truck-fast{--fa:"\f48b"}.fa-fish{--fa:"\f578"}.fa-user-graduate{--fa:"\f501"}.fa-adjust,.fa-circle-half-stroke{--fa:"\f042"}.fa-clapperboard{--fa:"\e131"}.fa-circle-radiation,.fa-radiation-alt{--fa:"\f7ba"}.fa-baseball,.fa-baseball-ball{--fa:"\f433"}.fa-jet-fighter-up{--fa:"\e518"}.fa-diagram-project,.fa-project-diagram{--fa:"\f542"}.fa-copy{--fa:"\f0c5"}.fa-volume-mute,.fa-volume-times,.fa-volume-xmark{--fa:"\f6a9"}.fa-hand-sparkles{--fa:"\e05d"}.fa-grip,.fa-grip-horizontal{--fa:"\f58d"}.fa-share-from-square,.fa-share-square{--fa:"\f14d"}.fa-child-combatant,.fa-child-rifle{--fa:"\e4e0"}.fa-gun{--fa:"\e19b"}.fa-phone-square,.fa-square-phone{--fa:"\f098"}.fa-add,.fa-plus{--fa:"\2b"}.fa-expand{--fa:"\f065"}.fa-computer{--fa:"\e4e5"}.fa-close,.fa-multiply,.fa-remove,.fa-times,.fa-xmark{--fa:"\f00d"}.fa-arrows,.fa-arrows-up-down-left-right{--fa:"\f047"}.fa-chalkboard-teacher,.fa-chalkboard-user{--fa:"\f51c"}.fa-peso-sign{--fa:"\e222"}.fa-building-shield{--fa:"\e4d8"}.fa-baby{--fa:"\f77c"}.fa-users-line{--fa:"\e592"}.fa-quote-left,.fa-quote-left-alt{--fa:"\f10d"}.fa-tractor{--fa:"\f722"}.fa-trash-arrow-up,.fa-trash-restore{--fa:"\f829"}.fa-arrow-down-up-lock{--fa:"\e4b0"}.fa-lines-leaning{--fa:"\e51e"}.fa-ruler-combined{--fa:"\f546"}.fa-copyright{--fa:"\f1f9"}.fa-equals{--fa:"\3d"}.fa-blender{--fa:"\f517"}.fa-teeth{--fa:"\f62e"}.fa-ils,.fa-shekel,.fa-shekel-sign,.fa-sheqel,.fa-sheqel-sign{--fa:"\f20b"}.fa-map{--fa:"\f279"}.fa-rocket{--fa:"\f135"}.fa-photo-film,.fa-photo-video{--fa:"\f87c"}.fa-folder-minus{--fa:"\f65d"}.fa-hexagon-nodes-bolt{--fa:"\e69a"}.fa-store{--fa:"\f54e"}.fa-arrow-trend-up{--fa:"\e098"}.fa-plug-circle-minus{--fa:"\e55e"}.fa-sign,.fa-sign-hanging{--fa:"\f4d9"}.fa-bezier-curve{--fa:"\f55b"}.fa-bell-slash{--fa:"\f1f6"}.fa-tablet,.fa-tablet-android{--fa:"\f3fb"}.fa-school-flag{--fa:"\e56e"}.fa-fill{--fa:"\f575"}.fa-angle-up{--fa:"\f106"}.fa-drumstick-bite{--fa:"\f6d7"}.fa-holly-berry{--fa:"\f7aa"}.fa-chevron-left{--fa:"\f053"}.fa-bacteria{--fa:"\e059"}.fa-hand-lizard{--fa:"\f258"}.fa-notdef{--fa:"\e1fe"}.fa-disease{--fa:"\f7fa"}.fa-briefcase-medical{--fa:"\f469"}.fa-genderless{--fa:"\f22d"}.fa-chevron-right{--fa:"\f054"}.fa-retweet{--fa:"\f079"}.fa-car-alt,.fa-car-rear{--fa:"\f5de"}.fa-pump-soap{--fa:"\e06b"}.fa-video-slash{--fa:"\f4e2"}.fa-battery-2,.fa-battery-quarter{--fa:"\f243"}.fa-radio{--fa:"\f8d7"}.fa-baby-carriage,.fa-carriage-baby{--fa:"\f77d"}.fa-traffic-light{--fa:"\f637"}.fa-thermometer{--fa:"\f491"}.fa-vr-cardboard{--fa:"\f729"}.fa-hand-middle-finger{--fa:"\f806"}.fa-percent,.fa-percentage{--fa:"\25"}.fa-truck-moving{--fa:"\f4df"}.fa-glass-water-droplet{--fa:"\e4f5"}.fa-display{--fa:"\e163"}.fa-face-smile,.fa-smile{--fa:"\f118"}.fa-thumb-tack,.fa-thumbtack{--fa:"\f08d"}.fa-trophy{--fa:"\f091"}.fa-person-praying,.fa-pray{--fa:"\f683"}.fa-hammer{--fa:"\f6e3"}.fa-hand-peace{--fa:"\f25b"}.fa-rotate,.fa-sync-alt{--fa:"\f2f1"}.fa-spinner{--fa:"\f110"}.fa-robot{--fa:"\f544"}.fa-peace{--fa:"\f67c"}.fa-cogs,.fa-gears{--fa:"\f085"}.fa-warehouse{--fa:"\f494"}.fa-arrow-up-right-dots{--fa:"\e4b7"}.fa-splotch{--fa:"\f5bc"}.fa-face-grin-hearts,.fa-grin-hearts{--fa:"\f584"}.fa-dice-four{--fa:"\f524"}.fa-sim-card{--fa:"\f7c4"}.fa-transgender,.fa-transgender-alt{--fa:"\f225"}.fa-mercury{--fa:"\f223"}.fa-arrow-turn-down,.fa-level-down{--fa:"\f149"}.fa-person-falling-burst{--fa:"\e547"}.fa-award{--fa:"\f559"}.fa-ticket-alt,.fa-ticket-simple{--fa:"\f3ff"}.fa-building{--fa:"\f1ad"}.fa-angle-double-left,.fa-angles-left{--fa:"\f100"}.fa-qrcode{--fa:"\f029"}.fa-clock-rotate-left,.fa-history{--fa:"\f1da"}.fa-face-grin-beam-sweat,.fa-grin-beam-sweat{--fa:"\f583"}.fa-arrow-right-from-file,.fa-file-export{--fa:"\f56e"}.fa-shield,.fa-shield-blank{--fa:"\f132"}.fa-arrow-up-short-wide,.fa-sort-amount-up-alt{--fa:"\f885"}.fa-comment-nodes{--fa:"\e696"}.fa-house-medical{--fa:"\e3b2"}.fa-golf-ball,.fa-golf-ball-tee{--fa:"\f450"}.fa-chevron-circle-left,.fa-circle-chevron-left{--fa:"\f137"}.fa-house-chimney-window{--fa:"\e00d"}.fa-pen-nib{--fa:"\f5ad"}.fa-tent-arrow-turn-left{--fa:"\e580"}.fa-tents{--fa:"\e582"}.fa-magic,.fa-wand-magic{--fa:"\f0d0"}.fa-dog{--fa:"\f6d3"}.fa-carrot{--fa:"\f787"}.fa-moon{--fa:"\f186"}.fa-wine-glass-alt,.fa-wine-glass-empty{--fa:"\f5ce"}.fa-cheese{--fa:"\f7ef"}.fa-yin-yang{--fa:"\f6ad"}.fa-music{--fa:"\f001"}.fa-code-commit{--fa:"\f386"}.fa-temperature-low{--fa:"\f76b"}.fa-biking,.fa-person-biking{--fa:"\f84a"}.fa-broom{--fa:"\f51a"}.fa-shield-heart{--fa:"\e574"}.fa-gopuram{--fa:"\f664"}.fa-earth-oceania,.fa-globe-oceania{--fa:"\e47b"}.fa-square-xmark,.fa-times-square,.fa-xmark-square{--fa:"\f2d3"}.fa-hashtag{--fa:"\23"}.fa-expand-alt,.fa-up-right-and-down-left-from-center{--fa:"\f424"}.fa-oil-can{--fa:"\f613"}.fa-t{--fa:"\54"}.fa-hippo{--fa:"\f6ed"}.fa-chart-column{--fa:"\e0e3"}.fa-infinity{--fa:"\f534"}.fa-vial-circle-check{--fa:"\e596"}.fa-person-arrow-down-to-line{--fa:"\e538"}.fa-voicemail{--fa:"\f897"}.fa-fan{--fa:"\f863"}.fa-person-walking-luggage{--fa:"\e554"}.fa-arrows-alt-v,.fa-up-down{--fa:"\f338"}.fa-cloud-moon-rain{--fa:"\f73c"}.fa-calendar{--fa:"\f133"}.fa-trailer{--fa:"\e041"}.fa-bahai,.fa-haykal{--fa:"\f666"}.fa-sd-card{--fa:"\f7c2"}.fa-dragon{--fa:"\f6d5"}.fa-shoe-prints{--fa:"\f54b"}.fa-circle-plus,.fa-plus-circle{--fa:"\f055"}.fa-face-grin-tongue-wink,.fa-grin-tongue-wink{--fa:"\f58b"}.fa-hand-holding{--fa:"\f4bd"}.fa-plug-circle-exclamation{--fa:"\e55d"}.fa-chain-broken,.fa-chain-slash,.fa-link-slash,.fa-unlink{--fa:"\f127"}.fa-clone{--fa:"\f24d"}.fa-person-walking-arrow-loop-left{--fa:"\e551"}.fa-arrow-up-z-a,.fa-sort-alpha-up-alt{--fa:"\f882"}.fa-fire-alt,.fa-fire-flame-curved{--fa:"\f7e4"}.fa-tornado{--fa:"\f76f"}.fa-file-circle-plus{--fa:"\e494"}.fa-book-quran,.fa-quran{--fa:"\f687"}.fa-anchor{--fa:"\f13d"}.fa-border-all{--fa:"\f84c"}.fa-angry,.fa-face-angry{--fa:"\f556"}.fa-cookie-bite{--fa:"\f564"}.fa-arrow-trend-down{--fa:"\e097"}.fa-feed,.fa-rss{--fa:"\f09e"}.fa-draw-polygon{--fa:"\f5ee"}.fa-balance-scale,.fa-scale-balanced{--fa:"\f24e"}.fa-gauge-simple-high,.fa-tachometer,.fa-tachometer-fast{--fa:"\f62a"}.fa-shower{--fa:"\f2cc"}.fa-desktop,.fa-desktop-alt{--fa:"\f390"}.fa-m{--fa:"\4d"}.fa-table-list,.fa-th-list{--fa:"\f00b"}.fa-comment-sms,.fa-sms{--fa:"\f7cd"}.fa-book{--fa:"\f02d"}.fa-user-plus{--fa:"\f234"}.fa-check{--fa:"\f00c"}.fa-battery-4,.fa-battery-three-quarters{--fa:"\f241"}.fa-house-circle-check{--fa:"\e509"}.fa-angle-left{--fa:"\f104"}.fa-diagram-successor{--fa:"\e47a"}.fa-truck-arrow-right{--fa:"\e58b"}.fa-arrows-split-up-and-left{--fa:"\e4bc"}.fa-fist-raised,.fa-hand-fist{--fa:"\f6de"}.fa-cloud-moon{--fa:"\f6c3"}.fa-briefcase{--fa:"\f0b1"}.fa-person-falling{--fa:"\e546"}.fa-image-portrait,.fa-portrait{--fa:"\f3e0"}.fa-user-tag{--fa:"\f507"}.fa-rug{--fa:"\e569"}.fa-earth-europe,.fa-globe-europe{--fa:"\f7a2"}.fa-cart-flatbed-suitcase,.fa-luggage-cart{--fa:"\f59d"}.fa-rectangle-times,.fa-rectangle-xmark,.fa-times-rectangle,.fa-window-close{--fa:"\f410"}.fa-baht-sign{--fa:"\e0ac"}.fa-book-open{--fa:"\f518"}.fa-book-journal-whills,.fa-journal-whills{--fa:"\f66a"}.fa-handcuffs{--fa:"\e4f8"}.fa-exclamation-triangle,.fa-triangle-exclamation,.fa-warning{--fa:"\f071"}.fa-database{--fa:"\f1c0"}.fa-mail-forward,.fa-share{--fa:"\f064"}.fa-bottle-droplet{--fa:"\e4c4"}.fa-mask-face{--fa:"\e1d7"}.fa-hill-rockslide{--fa:"\e508"}.fa-exchange-alt,.fa-right-left{--fa:"\f362"}.fa-paper-plane{--fa:"\f1d8"}.fa-road-circle-exclamation{--fa:"\e565"}.fa-dungeon{--fa:"\f6d9"}.fa-align-right{--fa:"\f038"}.fa-money-bill-1-wave,.fa-money-bill-wave-alt{--fa:"\f53b"}.fa-life-ring{--fa:"\f1cd"}.fa-hands,.fa-sign-language,.fa-signing{--fa:"\f2a7"}.fa-calendar-day{--fa:"\f783"}.fa-ladder-water,.fa-swimming-pool,.fa-water-ladder{--fa:"\f5c5"}.fa-arrows-up-down,.fa-arrows-v{--fa:"\f07d"}.fa-face-grimace,.fa-grimace{--fa:"\f57f"}.fa-wheelchair-alt,.fa-wheelchair-move{--fa:"\e2ce"}.fa-level-down-alt,.fa-turn-down{--fa:"\f3be"}.fa-person-walking-arrow-right{--fa:"\e552"}.fa-envelope-square,.fa-square-envelope{--fa:"\f199"}.fa-dice{--fa:"\f522"}.fa-bowling-ball{--fa:"\f436"}.fa-brain{--fa:"\f5dc"}.fa-band-aid,.fa-bandage{--fa:"\f462"}.fa-calendar-minus{--fa:"\f272"}.fa-circle-xmark,.fa-times-circle,.fa-xmark-circle{--fa:"\f057"}.fa-gifts{--fa:"\f79c"}.fa-hotel{--fa:"\f594"}.fa-earth-asia,.fa-globe-asia{--fa:"\f57e"}.fa-id-card-alt,.fa-id-card-clip{--fa:"\f47f"}.fa-magnifying-glass-plus,.fa-search-plus{--fa:"\f00e"}.fa-thumbs-up{--fa:"\f164"}.fa-user-clock{--fa:"\f4fd"}.fa-allergies,.fa-hand-dots{--fa:"\f461"}.fa-file-invoice{--fa:"\f570"}.fa-window-minimize{--fa:"\f2d1"}.fa-coffee,.fa-mug-saucer{--fa:"\f0f4"}.fa-brush{--fa:"\f55d"}.fa-file-half-dashed{--fa:"\e698"}.fa-mask{--fa:"\f6fa"}.fa-magnifying-glass-minus,.fa-search-minus{--fa:"\f010"}.fa-ruler-vertical{--fa:"\f548"}.fa-user-alt,.fa-user-large{--fa:"\f406"}.fa-train-tram{--fa:"\e5b4"}.fa-user-nurse{--fa:"\f82f"}.fa-syringe{--fa:"\f48e"}.fa-cloud-sun{--fa:"\f6c4"}.fa-stopwatch-20{--fa:"\e06f"}.fa-square-full{--fa:"\f45c"}.fa-magnet{--fa:"\f076"}.fa-jar{--fa:"\e516"}.fa-note-sticky,.fa-sticky-note{--fa:"\f249"}.fa-bug-slash{--fa:"\e490"}.fa-arrow-up-from-water-pump{--fa:"\e4b6"}.fa-bone{--fa:"\f5d7"}.fa-table-cells-row-unlock{--fa:"\e691"}.fa-user-injured{--fa:"\f728"}.fa-face-sad-tear,.fa-sad-tear{--fa:"\f5b4"}.fa-plane{--fa:"\f072"}.fa-tent-arrows-down{--fa:"\e581"}.fa-exclamation{--fa:"\21"}.fa-arrows-spin{--fa:"\e4bb"}.fa-print{--fa:"\f02f"}.fa-try,.fa-turkish-lira,.fa-turkish-lira-sign{--fa:"\e2bb"}.fa-dollar,.fa-dollar-sign,.fa-usd{--fa:"\24"}.fa-x{--fa:"\58"}.fa-magnifying-glass-dollar,.fa-search-dollar{--fa:"\f688"}.fa-users-cog,.fa-users-gear{--fa:"\f509"}.fa-person-military-pointing{--fa:"\e54a"}.fa-bank,.fa-building-columns,.fa-institution,.fa-museum,.fa-university{--fa:"\f19c"}.fa-umbrella{--fa:"\f0e9"}.fa-trowel{--fa:"\e589"}.fa-d{--fa:"\44"}.fa-stapler{--fa:"\e5af"}.fa-masks-theater,.fa-theater-masks{--fa:"\f630"}.fa-kip-sign{--fa:"\e1c4"}.fa-hand-point-left{--fa:"\f0a5"}.fa-handshake-alt,.fa-handshake-simple{--fa:"\f4c6"}.fa-fighter-jet,.fa-jet-fighter{--fa:"\f0fb"}.fa-share-alt-square,.fa-square-share-nodes{--fa:"\f1e1"}.fa-barcode{--fa:"\f02a"}.fa-plus-minus{--fa:"\e43c"}.fa-video,.fa-video-camera{--fa:"\f03d"}.fa-graduation-cap,.fa-mortar-board{--fa:"\f19d"}.fa-hand-holding-medical{--fa:"\e05c"}.fa-person-circle-check{--fa:"\e53e"}.fa-level-up-alt,.fa-turn-up{--fa:"\f3bf"}
.fa-sr-only,.fa-sr-only-focusable:not(:focus),.sr-only,.sr-only-focusable:not(:focus){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}:host,:root{--fa-style-family-brands:"Font Awesome 6 Brands";--fa-font-brands:normal 400 1em/1 "Font Awesome 6 Brands"}@font-face{font-family:"Font Awesome 6 Brands";font-style:normal;font-weight:400;font-display:block;src:url(/c210719e60948b211a12.woff2) format("woff2"),url(/1815e00441357e01619e.ttf) format("truetype")}.fa-brands,.fab{font-weight:400}.fa-monero{--fa:"\f3d0"}.fa-hooli{--fa:"\f427"}.fa-yelp{--fa:"\f1e9"}.fa-cc-visa{--fa:"\f1f0"}.fa-lastfm{--fa:"\f202"}.fa-shopware{--fa:"\f5b5"}.fa-creative-commons-nc{--fa:"\f4e8"}.fa-aws{--fa:"\f375"}.fa-redhat{--fa:"\f7bc"}.fa-yoast{--fa:"\f2b1"}.fa-cloudflare{--fa:"\e07d"}.fa-ups{--fa:"\f7e0"}.fa-pixiv{--fa:"\e640"}.fa-wpexplorer{--fa:"\f2de"}.fa-dyalog{--fa:"\f399"}.fa-bity{--fa:"\f37a"}.fa-stackpath{--fa:"\f842"}.fa-buysellads{--fa:"\f20d"}.fa-first-order{--fa:"\f2b0"}.fa-modx{--fa:"\f285"}.fa-guilded{--fa:"\e07e"}.fa-vnv{--fa:"\f40b"}.fa-js-square,.fa-square-js{--fa:"\f3b9"}.fa-microsoft{--fa:"\f3ca"}.fa-qq{--fa:"\f1d6"}.fa-orcid{--fa:"\f8d2"}.fa-java{--fa:"\f4e4"}.fa-invision{--fa:"\f7b0"}.fa-creative-commons-pd-alt{--fa:"\f4ed"}.fa-centercode{--fa:"\f380"}.fa-glide-g{--fa:"\f2a6"}.fa-drupal{--fa:"\f1a9"}.fa-jxl{--fa:"\e67b"}.fa-dart-lang{--fa:"\e693"}.fa-hire-a-helper{--fa:"\f3b0"}.fa-creative-commons-by{--fa:"\f4e7"}.fa-unity{--fa:"\e049"}.fa-whmcs{--fa:"\f40d"}.fa-rocketchat{--fa:"\f3e8"}.fa-vk{--fa:"\f189"}.fa-untappd{--fa:"\f405"}.fa-mailchimp{--fa:"\f59e"}.fa-css3-alt{--fa:"\f38b"}.fa-reddit-square,.fa-square-reddit{--fa:"\f1a2"}.fa-vimeo-v{--fa:"\f27d"}.fa-contao{--fa:"\f26d"}.fa-square-font-awesome{--fa:"\e5ad"}.fa-deskpro{--fa:"\f38f"}.fa-brave{--fa:"\e63c"}.fa-sistrix{--fa:"\f3ee"}.fa-instagram-square,.fa-square-instagram{--fa:"\e055"}.fa-battle-net{--fa:"\f835"}.fa-the-red-yeti{--fa:"\f69d"}.fa-hacker-news-square,.fa-square-hacker-news{--fa:"\f3af"}.fa-edge{--fa:"\f282"}.fa-threads{--fa:"\e618"}.fa-napster{--fa:"\f3d2"}.fa-snapchat-square,.fa-square-snapchat{--fa:"\f2ad"}.fa-google-plus-g{--fa:"\f0d5"}.fa-artstation{--fa:"\f77a"}.fa-markdown{--fa:"\f60f"}.fa-sourcetree{--fa:"\f7d3"}.fa-google-plus{--fa:"\f2b3"}.fa-diaspora{--fa:"\f791"}.fa-foursquare{--fa:"\f180"}.fa-stack-overflow{--fa:"\f16c"}.fa-github-alt{--fa:"\f113"}.fa-phoenix-squadron{--fa:"\f511"}.fa-pagelines{--fa:"\f18c"}.fa-algolia{--fa:"\f36c"}.fa-red-river{--fa:"\f3e3"}.fa-creative-commons-sa{--fa:"\f4ef"}.fa-safari{--fa:"\f267"}.fa-google{--fa:"\f1a0"}.fa-font-awesome-alt,.fa-square-font-awesome-stroke{--fa:"\f35c"}.fa-atlassian{--fa:"\f77b"}.fa-linkedin-in{--fa:"\f0e1"}.fa-digital-ocean{--fa:"\f391"}.fa-nimblr{--fa:"\f5a8"}.fa-chromecast{--fa:"\f838"}.fa-evernote{--fa:"\f839"}.fa-hacker-news{--fa:"\f1d4"}.fa-creative-commons-sampling{--fa:"\f4f0"}.fa-adversal{--fa:"\f36a"}.fa-creative-commons{--fa:"\f25e"}.fa-watchman-monitoring{--fa:"\e087"}.fa-fonticons{--fa:"\f280"}.fa-weixin{--fa:"\f1d7"}.fa-shirtsinbulk{--fa:"\f214"}.fa-codepen{--fa:"\f1cb"}.fa-git-alt{--fa:"\f841"}.fa-lyft{--fa:"\f3c3"}.fa-rev{--fa:"\f5b2"}.fa-windows{--fa:"\f17a"}.fa-wizards-of-the-coast{--fa:"\f730"}.fa-square-viadeo,.fa-viadeo-square{--fa:"\f2aa"}.fa-meetup{--fa:"\f2e0"}.fa-centos{--fa:"\f789"}.fa-adn{--fa:"\f170"}.fa-cloudsmith{--fa:"\f384"}.fa-opensuse{--fa:"\e62b"}.fa-pied-piper-alt{--fa:"\f1a8"}.fa-dribbble-square,.fa-square-dribbble{--fa:"\f397"}.fa-codiepie{--fa:"\f284"}.fa-node{--fa:"\f419"}.fa-mix{--fa:"\f3cb"}.fa-steam{--fa:"\f1b6"}.fa-cc-apple-pay{--fa:"\f416"}.fa-scribd{--fa:"\f28a"}.fa-debian{--fa:"\e60b"}.fa-openid{--fa:"\f19b"}.fa-instalod{--fa:"\e081"}.fa-files-pinwheel{--fa:"\e69f"}.fa-expeditedssl{--fa:"\f23e"}.fa-sellcast{--fa:"\f2da"}.fa-square-twitter,.fa-twitter-square{--fa:"\f081"}.fa-r-project{--fa:"\f4f7"}.fa-delicious{--fa:"\f1a5"}.fa-freebsd{--fa:"\f3a4"}.fa-vuejs{--fa:"\f41f"}.fa-accusoft{--fa:"\f369"}.fa-ioxhost{--fa:"\f208"}.fa-fonticons-fi{--fa:"\f3a2"}.fa-app-store{--fa:"\f36f"}.fa-cc-mastercard{--fa:"\f1f1"}.fa-itunes-note{--fa:"\f3b5"}.fa-golang{--fa:"\e40f"}.fa-kickstarter,.fa-square-kickstarter{--fa:"\f3bb"}.fa-grav{--fa:"\f2d6"}.fa-weibo{--fa:"\f18a"}.fa-uncharted{--fa:"\e084"}.fa-firstdraft{--fa:"\f3a1"}.fa-square-youtube,.fa-youtube-square{--fa:"\f431"}.fa-wikipedia-w{--fa:"\f266"}.fa-rendact,.fa-wpressr{--fa:"\f3e4"}.fa-angellist{--fa:"\f209"}.fa-galactic-republic{--fa:"\f50c"}.fa-nfc-directional{--fa:"\e530"}.fa-skype{--fa:"\f17e"}.fa-joget{--fa:"\f3b7"}.fa-fedora{--fa:"\f798"}.fa-stripe-s{--fa:"\f42a"}.fa-meta{--fa:"\e49b"}.fa-laravel{--fa:"\f3bd"}.fa-hotjar{--fa:"\f3b1"}.fa-bluetooth-b{--fa:"\f294"}.fa-square-letterboxd{--fa:"\e62e"}.fa-sticker-mule{--fa:"\f3f7"}.fa-creative-commons-zero{--fa:"\f4f3"}.fa-hips{--fa:"\f452"}.fa-css{--fa:"\e6a2"}.fa-behance{--fa:"\f1b4"}.fa-reddit{--fa:"\f1a1"}.fa-discord{--fa:"\f392"}.fa-chrome{--fa:"\f268"}.fa-app-store-ios{--fa:"\f370"}.fa-cc-discover{--fa:"\f1f2"}.fa-wpbeginner{--fa:"\f297"}.fa-confluence{--fa:"\f78d"}.fa-shoelace{--fa:"\e60c"}.fa-mdb{--fa:"\f8ca"}.fa-dochub{--fa:"\f394"}.fa-accessible-icon{--fa:"\f368"}.fa-ebay{--fa:"\f4f4"}.fa-amazon{--fa:"\f270"}.fa-unsplash{--fa:"\e07c"}.fa-yarn{--fa:"\f7e3"}.fa-square-steam,.fa-steam-square{--fa:"\f1b7"}.fa-500px{--fa:"\f26e"}.fa-square-vimeo,.fa-vimeo-square{--fa:"\f194"}.fa-asymmetrik{--fa:"\f372"}.fa-font-awesome,.fa-font-awesome-flag,.fa-font-awesome-logo-full{--fa:"\f2b4"}.fa-gratipay{--fa:"\f184"}.fa-apple{--fa:"\f179"}.fa-hive{--fa:"\e07f"}.fa-gitkraken{--fa:"\f3a6"}.fa-keybase{--fa:"\f4f5"}.fa-apple-pay{--fa:"\f415"}.fa-padlet{--fa:"\e4a0"}.fa-amazon-pay{--fa:"\f42c"}.fa-github-square,.fa-square-github{--fa:"\f092"}.fa-stumbleupon{--fa:"\f1a4"}.fa-fedex{--fa:"\f797"}.fa-phoenix-framework{--fa:"\f3dc"}.fa-shopify{--fa:"\e057"}.fa-neos{--fa:"\f612"}.fa-square-threads{--fa:"\e619"}.fa-hackerrank{--fa:"\f5f7"}.fa-researchgate{--fa:"\f4f8"}.fa-swift{--fa:"\f8e1"}.fa-angular{--fa:"\f420"}.fa-speakap{--fa:"\f3f3"}.fa-angrycreative{--fa:"\f36e"}.fa-y-combinator{--fa:"\f23b"}.fa-empire{--fa:"\f1d1"}.fa-envira{--fa:"\f299"}.fa-google-scholar{--fa:"\e63b"}.fa-gitlab-square,.fa-square-gitlab{--fa:"\e5ae"}.fa-studiovinari{--fa:"\f3f8"}.fa-pied-piper{--fa:"\f2ae"}.fa-wordpress{--fa:"\f19a"}.fa-product-hunt{--fa:"\f288"}.fa-firefox{--fa:"\f269"}.fa-linode{--fa:"\f2b8"}.fa-goodreads{--fa:"\f3a8"}.fa-odnoklassniki-square,.fa-square-odnoklassniki{--fa:"\f264"}.fa-jsfiddle{--fa:"\f1cc"}.fa-sith{--fa:"\f512"}.fa-themeisle{--fa:"\f2b2"}.fa-page4{--fa:"\f3d7"}.fa-hashnode{--fa:"\e499"}.fa-react{--fa:"\f41b"}.fa-cc-paypal{--fa:"\f1f4"}.fa-squarespace{--fa:"\f5be"}.fa-cc-stripe{--fa:"\f1f5"}.fa-creative-commons-share{--fa:"\f4f2"}.fa-bitcoin{--fa:"\f379"}.fa-keycdn{--fa:"\f3ba"}.fa-opera{--fa:"\f26a"}.fa-itch-io{--fa:"\f83a"}.fa-umbraco{--fa:"\f8e8"}.fa-galactic-senate{--fa:"\f50d"}.fa-ubuntu{--fa:"\f7df"}.fa-draft2digital{--fa:"\f396"}.fa-stripe{--fa:"\f429"}.fa-houzz{--fa:"\f27c"}.fa-gg{--fa:"\f260"}.fa-dhl{--fa:"\f790"}.fa-pinterest-square,.fa-square-pinterest{--fa:"\f0d3"}.fa-xing{--fa:"\f168"}.fa-blackberry{--fa:"\f37b"}.fa-creative-commons-pd{--fa:"\f4ec"}.fa-playstation{--fa:"\f3df"}.fa-quinscape{--fa:"\f459"}.fa-less{--fa:"\f41d"}.fa-blogger-b{--fa:"\f37d"}.fa-opencart{--fa:"\f23d"}.fa-vine{--fa:"\f1ca"}.fa-signal-messenger{--fa:"\e663"}.fa-paypal{--fa:"\f1ed"}.fa-gitlab{--fa:"\f296"}.fa-typo3{--fa:"\f42b"}.fa-reddit-alien{--fa:"\f281"}.fa-yahoo{--fa:"\f19e"}.fa-dailymotion{--fa:"\e052"}.fa-affiliatetheme{--fa:"\f36b"}.fa-pied-piper-pp{--fa:"\f1a7"}.fa-bootstrap{--fa:"\f836"}.fa-odnoklassniki{--fa:"\f263"}.fa-nfc-symbol{--fa:"\e531"}.fa-mintbit{--fa:"\e62f"}.fa-ethereum{--fa:"\f42e"}.fa-speaker-deck{--fa:"\f83c"}.fa-creative-commons-nc-eu{--fa:"\f4e9"}.fa-patreon{--fa:"\f3d9"}.fa-avianex{--fa:"\f374"}.fa-ello{--fa:"\f5f1"}.fa-gofore{--fa:"\f3a7"}.fa-bimobject{--fa:"\f378"}.fa-brave-reverse{--fa:"\e63d"}.fa-facebook-f{--fa:"\f39e"}.fa-google-plus-square,.fa-square-google-plus{--fa:"\f0d4"}.fa-web-awesome{--fa:"\e682"}.fa-mandalorian{--fa:"\f50f"}.fa-first-order-alt{--fa:"\f50a"}.fa-osi{--fa:"\f41a"}.fa-google-wallet{--fa:"\f1ee"}.fa-d-and-d-beyond{--fa:"\f6ca"}.fa-periscope{--fa:"\f3da"}.fa-fulcrum{--fa:"\f50b"}.fa-cloudscale{--fa:"\f383"}.fa-forumbee{--fa:"\f211"}.fa-mizuni{--fa:"\f3cc"}.fa-schlix{--fa:"\f3ea"}.fa-square-xing,.fa-xing-square{--fa:"\f169"}.fa-bandcamp{--fa:"\f2d5"}.fa-wpforms{--fa:"\f298"}.fa-cloudversify{--fa:"\f385"}.fa-usps{--fa:"\f7e1"}.fa-megaport{--fa:"\f5a3"}.fa-magento{--fa:"\f3c4"}.fa-spotify{--fa:"\f1bc"}.fa-optin-monster{--fa:"\f23c"}.fa-fly{--fa:"\f417"}.fa-square-bluesky{--fa:"\e6a3"}.fa-aviato{--fa:"\f421"}.fa-itunes{--fa:"\f3b4"}.fa-cuttlefish{--fa:"\f38c"}.fa-blogger{--fa:"\f37c"}.fa-flickr{--fa:"\f16e"}.fa-viber{--fa:"\f409"}.fa-soundcloud{--fa:"\f1be"}.fa-digg{--fa:"\f1a6"}.fa-tencent-weibo{--fa:"\f1d5"}.fa-letterboxd{--fa:"\e62d"}.fa-symfony{--fa:"\f83d"}.fa-maxcdn{--fa:"\f136"}.fa-etsy{--fa:"\f2d7"}.fa-facebook-messenger{--fa:"\f39f"}.fa-audible{--fa:"\f373"}.fa-think-peaks{--fa:"\f731"}.fa-bilibili{--fa:"\e3d9"}.fa-erlang{--fa:"\f39d"}.fa-x-twitter{--fa:"\e61b"}.fa-cotton-bureau{--fa:"\f89e"}.fa-dashcube{--fa:"\f210"}.fa-42-group,.fa-innosoft{--fa:"\e080"}.fa-stack-exchange{--fa:"\f18d"}.fa-elementor{--fa:"\f430"}.fa-pied-piper-square,.fa-square-pied-piper{--fa:"\e01e"}.fa-creative-commons-nd{--fa:"\f4eb"}.fa-palfed{--fa:"\f3d8"}.fa-superpowers{--fa:"\f2dd"}.fa-resolving{--fa:"\f3e7"}.fa-xbox{--fa:"\f412"}.fa-square-web-awesome-stroke{--fa:"\e684"}.fa-searchengin{--fa:"\f3eb"}.fa-tiktok{--fa:"\e07b"}.fa-facebook-square,.fa-square-facebook{--fa:"\f082"}.fa-renren{--fa:"\f18b"}.fa-linux{--fa:"\f17c"}.fa-glide{--fa:"\f2a5"}.fa-linkedin{--fa:"\f08c"}.fa-hubspot{--fa:"\f3b2"}.fa-deploydog{--fa:"\f38e"}.fa-twitch{--fa:"\f1e8"}.fa-flutter{--fa:"\e694"}.fa-ravelry{--fa:"\f2d9"}.fa-mixer{--fa:"\e056"}.fa-lastfm-square,.fa-square-lastfm{--fa:"\f203"}.fa-vimeo{--fa:"\f40a"}.fa-mendeley{--fa:"\f7b3"}.fa-uniregistry{--fa:"\f404"}.fa-figma{--fa:"\f799"}.fa-creative-commons-remix{--fa:"\f4ee"}.fa-cc-amazon-pay{--fa:"\f42d"}.fa-dropbox{--fa:"\f16b"}.fa-instagram{--fa:"\f16d"}.fa-cmplid{--fa:"\e360"}.fa-upwork{--fa:"\e641"}.fa-facebook{--fa:"\f09a"}.fa-gripfire{--fa:"\f3ac"}.fa-jedi-order{--fa:"\f50e"}.fa-uikit{--fa:"\f403"}.fa-fort-awesome-alt{--fa:"\f3a3"}.fa-phabricator{--fa:"\f3db"}.fa-ussunnah{--fa:"\f407"}.fa-earlybirds{--fa:"\f39a"}.fa-trade-federation{--fa:"\f513"}.fa-autoprefixer{--fa:"\f41c"}.fa-whatsapp{--fa:"\f232"}.fa-square-upwork{--fa:"\e67c"}.fa-slideshare{--fa:"\f1e7"}.fa-google-play{--fa:"\f3ab"}.fa-viadeo{--fa:"\f2a9"}.fa-line{--fa:"\f3c0"}.fa-google-drive{--fa:"\f3aa"}.fa-servicestack{--fa:"\f3ec"}.fa-simplybuilt{--fa:"\f215"}.fa-bitbucket{--fa:"\f171"}.fa-imdb{--fa:"\f2d8"}.fa-deezer{--fa:"\e077"}.fa-raspberry-pi{--fa:"\f7bb"}.fa-jira{--fa:"\f7b1"}.fa-docker{--fa:"\f395"}.fa-screenpal{--fa:"\e570"}.fa-bluetooth{--fa:"\f293"}.fa-gitter{--fa:"\f426"}.fa-d-and-d{--fa:"\f38d"}.fa-microblog{--fa:"\e01a"}.fa-cc-diners-club{--fa:"\f24c"}.fa-gg-circle{--fa:"\f261"}.fa-pied-piper-hat{--fa:"\f4e5"}.fa-kickstarter-k{--fa:"\f3bc"}.fa-yandex{--fa:"\f413"}.fa-readme{--fa:"\f4d5"}.fa-html5{--fa:"\f13b"}.fa-sellsy{--fa:"\f213"}.fa-square-web-awesome{--fa:"\e683"}.fa-sass{--fa:"\f41e"}.fa-wirsindhandwerk,.fa-wsh{--fa:"\e2d0"}.fa-buromobelexperte{--fa:"\f37f"}.fa-salesforce{--fa:"\f83b"}.fa-octopus-deploy{--fa:"\e082"}.fa-medapps{--fa:"\f3c6"}.fa-ns8{--fa:"\f3d5"}.fa-pinterest-p{--fa:"\f231"}.fa-apper{--fa:"\f371"}.fa-fort-awesome{--fa:"\f286"}.fa-waze{--fa:"\f83f"}.fa-bluesky{--fa:"\e671"}.fa-cc-jcb{--fa:"\f24b"}.fa-snapchat,.fa-snapchat-ghost{--fa:"\f2ab"}.fa-fantasy-flight-games{--fa:"\f6dc"}.fa-rust{--fa:"\e07a"}.fa-wix{--fa:"\f5cf"}.fa-behance-square,.fa-square-behance{--fa:"\f1b5"}.fa-supple{--fa:"\f3f9"}.fa-webflow{--fa:"\e65c"}.fa-rebel{--fa:"\f1d0"}.fa-css3{--fa:"\f13c"}.fa-staylinked{--fa:"\f3f5"}.fa-kaggle{--fa:"\f5fa"}.fa-space-awesome{--fa:"\e5ac"}.fa-deviantart{--fa:"\f1bd"}.fa-cpanel{--fa:"\f388"}.fa-goodreads-g{--fa:"\f3a9"}.fa-git-square,.fa-square-git{--fa:"\f1d2"}.fa-square-tumblr,.fa-tumblr-square{--fa:"\f174"}.fa-trello{--fa:"\f181"}.fa-creative-commons-nc-jp{--fa:"\f4ea"}.fa-get-pocket{--fa:"\f265"}.fa-perbyte{--fa:"\e083"}.fa-grunt{--fa:"\f3ad"}.fa-weebly{--fa:"\f5cc"}.fa-connectdevelop{--fa:"\f20e"}.fa-leanpub{--fa:"\f212"}.fa-black-tie{--fa:"\f27e"}.fa-themeco{--fa:"\f5c6"}.fa-python{--fa:"\f3e2"}.fa-android{--fa:"\f17b"}.fa-bots{--fa:"\e340"}.fa-free-code-camp{--fa:"\f2c5"}.fa-hornbill{--fa:"\f592"}.fa-js{--fa:"\f3b8"}.fa-ideal{--fa:"\e013"}.fa-git{--fa:"\f1d3"}.fa-dev{--fa:"\f6cc"}.fa-sketch{--fa:"\f7c6"}.fa-yandex-international{--fa:"\f414"}.fa-cc-amex{--fa:"\f1f3"}.fa-uber{--fa:"\f402"}.fa-github{--fa:"\f09b"}.fa-php{--fa:"\f457"}.fa-alipay{--fa:"\f642"}.fa-youtube{--fa:"\f167"}.fa-skyatlas{--fa:"\f216"}.fa-firefox-browser{--fa:"\e007"}.fa-replyd{--fa:"\f3e6"}.fa-suse{--fa:"\f7d6"}.fa-jenkins{--fa:"\f3b6"}.fa-twitter{--fa:"\f099"}.fa-rockrms{--fa:"\f3e9"}.fa-pinterest{--fa:"\f0d2"}.fa-buffer{--fa:"\f837"}.fa-npm{--fa:"\f3d4"}.fa-yammer{--fa:"\f840"}.fa-btc{--fa:"\f15a"}.fa-dribbble{--fa:"\f17d"}.fa-stumbleupon-circle{--fa:"\f1a3"}.fa-internet-explorer{--fa:"\f26b"}.fa-stubber{--fa:"\e5c7"}.fa-telegram,.fa-telegram-plane{--fa:"\f2c6"}.fa-old-republic{--fa:"\f510"}.fa-odysee{--fa:"\e5c6"}.fa-square-whatsapp,.fa-whatsapp-square{--fa:"\f40c"}.fa-node-js{--fa:"\f3d3"}.fa-edge-legacy{--fa:"\e078"}.fa-slack,.fa-slack-hash{--fa:"\f198"}.fa-medrt{--fa:"\f3c8"}.fa-usb{--fa:"\f287"}.fa-tumblr{--fa:"\f173"}.fa-vaadin{--fa:"\f408"}.fa-quora{--fa:"\f2c4"}.fa-square-x-twitter{--fa:"\e61a"}.fa-reacteurope{--fa:"\f75d"}.fa-medium,.fa-medium-m{--fa:"\f23a"}.fa-amilia{--fa:"\f36d"}.fa-mixcloud{--fa:"\f289"}.fa-flipboard{--fa:"\f44d"}.fa-viacoin{--fa:"\f237"}.fa-critical-role{--fa:"\f6c9"}.fa-sitrox{--fa:"\e44a"}.fa-discourse{--fa:"\f393"}.fa-joomla{--fa:"\f1aa"}.fa-mastodon{--fa:"\f4f6"}.fa-airbnb{--fa:"\f834"}.fa-wolf-pack-battalion{--fa:"\f514"}.fa-buy-n-large{--fa:"\f8a6"}.fa-gulp{--fa:"\f3ae"}.fa-creative-commons-sampling-plus{--fa:"\f4f1"}.fa-strava{--fa:"\f428"}.fa-ember{--fa:"\f423"}.fa-canadian-maple-leaf{--fa:"\f785"}.fa-teamspeak{--fa:"\f4f9"}.fa-pushed{--fa:"\f3e1"}.fa-wordpress-simple{--fa:"\f411"}.fa-nutritionix{--fa:"\f3d6"}.fa-wodu{--fa:"\e088"}.fa-google-pay{--fa:"\e079"}.fa-intercom{--fa:"\f7af"}.fa-zhihu{--fa:"\f63f"}.fa-korvue{--fa:"\f42f"}.fa-pix{--fa:"\e43a"}.fa-steam-symbol{--fa:"\f3f6"}:host,:root{--fa-font-regular:normal 400 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:400;font-display:block;src:url(/89999bdf5d835c012025.woff2) format("woff2"),url(/914997e1bdfc990d0897.ttf) format("truetype")}.fa-regular,.far{font-weight:400}:host,:root{--fa-style-family-classic:"Font Awesome 6 Free";--fa-font-solid:normal 900 1em/1 "Font Awesome 6 Free"}@font-face{font-family:"Font Awesome 6 Free";font-style:normal;font-weight:900;font-display:block;src:url(/2463b90d9a316e4e5294.woff2) format("woff2"),url(/2582b0e4bcf85eceead0.ttf) format("truetype")}.fa-solid,.fas{font-weight:900}@font-face{font-family:"Font Awesome 5 Brands";font-display:block;font-weight:400;src:url(/c210719e60948b211a12.woff2) format("woff2"),url(/1815e00441357e01619e.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:900;src:url(/2463b90d9a316e4e5294.woff2) format("woff2"),url(/2582b0e4bcf85eceead0.ttf) format("truetype")}@font-face{font-family:"Font Awesome 5 Free";font-display:block;font-weight:400;src:url(/89999bdf5d835c012025.woff2) format("woff2"),url(/914997e1bdfc990d0897.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/2463b90d9a316e4e5294.woff2) format("woff2"),url(/2582b0e4bcf85eceead0.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/c210719e60948b211a12.woff2) format("woff2"),url(/1815e00441357e01619e.ttf) format("truetype")}@font-face{font-family:"FontAwesome";font-display:block;src:url(/89999bdf5d835c012025.woff2) format("woff2"),url(/914997e1bdfc990d0897.ttf) format("truetype");unicode-range:u+f003,u+f006,u+f014,u+f016-f017,u+f01a-f01b,u+f01d,u+f022,u+f03e,u+f044,u+f046,u+f05c-f05d,u+f06e,u+f070,u+f087-f088,u+f08a,u+f094,u+f096-f097,u+f09d,u+f0a0,u+f0a2,u+f0a4-f0a7,u+f0c5,u+f0c7,u+f0e5-f0e6,u+f0eb,u+f0f6-f0f8,u+f10c,u+f114-f115,u+f118-f11a,u+f11c-f11d,u+f133,u+f147,u+f14e,u+f150-f152,u+f185-f186,u+f18e,u+f190-f192,u+f196,u+f1c1-f1c9,u+f1d9,u+f1db,u+f1e3,u+f1ea,u+f1f7,u+f1f9,u+f20a,u+f247-f248,u+f24a,u+f24d,u+f255-f25b,u+f25d,u+f271-f274,u+f278,u+f27b,u+f28c,u+f28e,u+f29c,u+f2b5,u+f2b7,u+f2ba,u+f2bc,u+f2be,u+f2c0-f2c1,u+f2c3,u+f2d0,u+f2d2,u+f2d4,u+f2dc}@font-face{font-family:"FontAwesome";font-display:block;src:url(/ea8f94e1d22e0d35ccd4.woff2) format("woff2"),url(/da94ef451f4969af06e6.ttf) format("truetype");unicode-range:u+f041,u+f047,u+f065-f066,u+f07d-f07e,u+f080,u+f08b,u+f08e,u+f090,u+f09a,u+f0ac,u+f0ae,u+f0b2,u+f0d0,u+f0d6,u+f0e4,u+f0ec,u+f10a-f10b,u+f123,u+f13e,u+f148-f149,u+f14c,u+f156,u+f15e,u+f160-f161,u+f163,u+f175-f178,u+f195,u+f1f8,u+f219,u+f27a}
:root {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto,
  	Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji",
  	"Segoe UI Symbol";
  --surface-a: #ffffff;
  --surface-b: #efefef;
  --surface-c: #e9ecef;
  --surface-d: #dee2e6;
  --surface-e: #ffffff;
  --surface-f: #ffffff;
  --text-color: #212529;
  --text-color-secondary: #6c757d;
  --primary-color: #007bff;
  --primary-color-text: #ffffff;
  --surface-0: #ffffff;
  --surface-50: #f9fafb;
  --surface-100: #f8f9fa;
  --surface-200: #e9ecef;
  --surface-300: #dee2e6;
  --surface-400: #ced4da;
  --surface-500: #adb5bd;
  --surface-600: #6c757d;
  --surface-700: #495057;
  --surface-800: #343a40;
  --surface-900: #212529;
  --gray-50: #f9fafb;
  --gray-100: #f8f9fa;
  --gray-200: #e9ecef;
  --gray-300: #dee2e6;
  --gray-400: #ced4da;
  --gray-500: #adb5bd;
  --gray-600: #6c757d;
  --gray-700: #495057;
  --gray-800: #343a40;
  --gray-900: #212529;
  --content-padding: 1.25rem;
  --inline-spacing: 0.5rem;
  --border-radius: 4px;
  --surface-ground: #efefef;
  --surface-section: #ffffff;
  --surface-card: #ffffff;
  --surface-overlay: #ffffff;
  --surface-border: #dee2e6;
  --surface-hover: #e9ecef;
  --focus-ring: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  --maskbg: rgba(0, 0, 0, 0.4);
  --highlight-bg: #007bff;
  --highlight-text-color: #ffffff;
  color-scheme: light;
}

:root {
  --blue-50:#f3f8ff;
  --blue-100:#c5dcff;
  --blue-200:#97c1fe;
  --blue-300:#69a5fe;
  --blue-400:#3b8afd;
  --blue-500:#0d6efd;
  --blue-600:#0b5ed7;
  --blue-700:#094db1;
  --blue-800:#073d8b;
  --blue-900:#052c65;
  --green-50:#f4f9f6;
  --green-100:#c8e2d6;
  --green-200:#9ccbb5;
  --green-300:#70b595;
  --green-400:#459e74;
  --green-500:#198754;
  --green-600:#157347;
  --green-700:#125f3b;
  --green-800:#0e4a2e;
  --green-900:#0a3622;
  --yellow-50:#fffcf3;
  --yellow-100:#fff0c3;
  --yellow-200:#ffe494;
  --yellow-300:#ffd965;
  --yellow-400:#ffcd36;
  --yellow-500:#ffc107;
  --yellow-600:#d9a406;
  --yellow-700:#b38705;
  --yellow-800:#8c6a04;
  --yellow-900:#664d03;
  --cyan-50:#f3fcfe;
  --cyan-100:#c5f2fb;
  --cyan-200:#97e8f9;
  --cyan-300:#69def6;
  --cyan-400:#3bd4f3;
  --cyan-500:#0dcaf0;
  --cyan-600:#0baccc;
  --cyan-700:#098da8;
  --cyan-800:#076f84;
  --cyan-900:#055160;
  --pink-50:#fdf5f9;
  --pink-100:#f5cee1;
  --pink-200:#eda7ca;
  --pink-300:#e681b3;
  --pink-400:#de5a9b;
  --pink-500:#d63384;
  --pink-600:#b62b70;
  --pink-700:#96245c;
  --pink-800:#761c49;
  --pink-900:#561435;
  --indigo-50:#f7f3fe;
  --indigo-100:#dac6fc;
  --indigo-200:#bd98f9;
  --indigo-300:#a06bf7;
  --indigo-400:#833df4;
  --indigo-500:#6610f2;
  --indigo-600:#570ece;
  --indigo-700:#470ba9;
  --indigo-800:#380985;
  --indigo-900:#290661;
  --teal-50:#f4fcfa;
  --teal-100:#c9f2e6;
  --teal-200:#9fe8d2;
  --teal-300:#75debf;
  --teal-400:#4ad3ab;
  --teal-500:#20c997;
  --teal-600:#1bab80;
  --teal-700:#168d6a;
  --teal-800:#126f53;
  --teal-900:#0d503c;
  --orange-50:#fff9f3;
  --orange-100:#ffe0c7;
  --orange-200:#fec89a;
  --orange-300:#feaf6d;
  --orange-400:#fd9741;
  --orange-500:#fd7e14;
  --orange-600:#d76b11;
  --orange-700:#b1580e;
  --orange-800:#8b450b;
  --orange-900:#653208;
  --bluegray-50:#f8f9fb;
  --bluegray-100:#e0e4ea;
  --bluegray-200:#c7ced9;
  --bluegray-300:#aeb9c8;
  --bluegray-400:#95a3b8;
  --bluegray-500:#7c8ea7;
  --bluegray-600:#69798e;
  --bluegray-700:#576375;
  --bluegray-800:#444e5c;
  --bluegray-900:#323943;
  --purple-50:#f8f6fc;
  --purple-100:#dcd2f0;
  --purple-200:#c1aee4;
  --purple-300:#a68ad9;
  --purple-400:#8a66cd;
  --purple-500:#6f42c1;
  --purple-600:#5e38a4;
  --purple-700:#4e2e87;
  --purple-800:#3d246a;
  --purple-900:#2c1a4d;
  --red-50:#fdf5f6;
  --red-100:#f7cfd2;
  --red-200:#f0a8af;
  --red-300:#e9828c;
  --red-400:#e35b68;
  --red-500:#dc3545;
  --red-600:#bb2d3b;
  --red-700:#9a2530;
  --red-800:#791d26;
  --red-900:#58151c;
  --primary-50:#f2f8ff;
  --primary-100:#c2dfff;
  --primary-200:#91c6ff;
  --primary-300:#61adff;
  --primary-400:#3094ff;
  --primary-500:#007bff;
  --primary-600:#0069d9;
  --primary-700:#0056b3;
  --primary-800:#00448c;
  --primary-900:#003166;
}

.p-editor-container .p-editor-toolbar {
  background: #efefef;
  border-top-right-radius: 4px;
  border-top-left-radius: 4px;
}
.p-editor-container .p-editor-toolbar.ql-snow {
  border: 1px solid #dee2e6;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke {
  stroke: #6c757d;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-fill {
  fill: #6c757d;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label {
  border: 0 none;
  color: #6c757d;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover {
  color: #212529;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke {
  stroke: #212529;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill {
  fill: #212529;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  color: #212529;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
  stroke: #212529;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
  fill: #212529;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.15);
  box-shadow: none;
  border-radius: 4px;
  padding: 0.5rem 0;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item {
  color: #212529;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover {
  color: #212529;
  background: #e9ecef;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item {
  padding: 0.5rem 1.5rem;
}
.p-editor-container .p-editor-content {
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}
.p-editor-container .p-editor-content.ql-snow {
  border: 1px solid #dee2e6;
}
.p-editor-container .p-editor-content .ql-editor {
  background: #ffffff;
  color: #495057;
  border-bottom-right-radius: 4px;
  border-bottom-left-radius: 4px;
}
.p-editor-container .ql-snow.ql-toolbar button:hover,
.p-editor-container .ql-snow.ql-toolbar button:focus {
  color: #212529;
}
.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke,
.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke {
  stroke: #212529;
}
.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill,
.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill {
  fill: #212529;
}
.p-editor-container .ql-snow.ql-toolbar button.ql-active,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected {
  color: #007bff;
}
.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke {
  stroke: #007bff;
}
.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill {
  fill: #007bff;
}
.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label {
  color: #007bff;
}

@layer primereact {
  * {
    box-sizing: border-box;
  }
  .p-component {
    font-family: var(--font-family);
    font-feature-settings: var(--font-feature-settings, normal);
    font-size: 1rem;
    font-weight: normal;
  }
  .p-component-overlay {
    background-color: rgba(0, 0, 0, 0.4);
    transition-duration: 0.15s;
  }
  .p-disabled, .p-component:disabled {
    opacity: 0.65;
  }
  .p-error {
    color: #dc3545;
  }
  .p-text-secondary {
    color: #6c757d;
  }
  .pi {
    font-size: 1rem;
  }
  .p-icon {
    width: 1rem;
    height: 1rem;
  }
  .p-link {
    font-family: var(--font-family);
    font-feature-settings: var(--font-feature-settings, normal);
    font-size: 1rem;
    border-radius: 4px;
  }
  .p-link:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-component-overlay-enter {
    animation: p-component-overlay-enter-animation 150ms forwards;
  }
  .p-component-overlay-leave {
    animation: p-component-overlay-leave-animation 150ms forwards;
  }
  @keyframes p-component-overlay-enter-animation {
    from {
      background-color: transparent;
    }
    to {
      background-color: var(--maskbg);
    }
  }
  @keyframes p-component-overlay-leave-animation {
    from {
      background-color: var(--maskbg);
    }
    to {
      background-color: transparent;
    }
  }
  .p-autocomplete .p-autocomplete-loader {
    right: 0.75rem;
  }
  .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader {
    right: 3.107rem;
  }
  .p-autocomplete .p-autocomplete-multiple-container {
    padding: 0.25rem 0.75rem;
    gap: 0.5rem;
  }
  .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover {
    border-color: #ced4da;
  }
  .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    border-color: #007bff;
  }
  .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token {
    padding: 0.25rem 0;
  }
  .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input {
    font-family: var(--font-family);
    font-feature-settings: var(--font-feature-settings, normal);
    font-size: 1rem;
    color: #212529;
    padding: 0;
    margin: 0;
  }
  .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token {
    padding: 0.25rem 0.75rem;
    margin-right: 0.5rem;
    background: #007bff;
    color: #ffffff;
    border-radius: 4px;
  }
  .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon {
    margin-left: 0.5rem;
  }
  .p-autocomplete.p-invalid.p-component > .p-inputtext {
    border-color: #dc3545;
  }
  .p-autocomplete-panel {
    background: #ffffff;
    color: #212529;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    box-shadow: none;
  }
  .p-autocomplete-panel .p-autocomplete-items {
    padding: 0.5rem 0;
  }
  .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item {
    margin: 0;
    padding: 0.5rem 1.5rem;
    border: 0 none;
    color: #212529;
    background: transparent;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover {
    color: #212529;
    background: #e9ecef;
  }
  .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight {
    color: #ffffff;
    background: #007bff;
  }
  .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group {
    margin: 0;
    padding: 0.75rem 1rem;
    color: #212529;
    background: #ffffff;
    font-weight: 600;
  }
  .p-calendar.p-invalid.p-component > .p-inputtext {
    border-color: #dc3545;
  }
  .p-calendar:not(.p-calendar-disabled).p-focus > .p-inputtext {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    border-color: #007bff;
  }
  .p-datepicker {
    padding: 0;
    background: #ffffff;
    color: #212529;
    border: 1px solid #ced4da;
    border-radius: 4px;
  }
  .p-datepicker:not(.p-datepicker-inline) {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: none;
  }
  .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header {
    background: #efefef;
  }
  .p-datepicker .p-datepicker-header {
    padding: 0.5rem;
    color: #212529;
    background: #ffffff;
    font-weight: 600;
    margin: 0;
    border-bottom: 1px solid #dee2e6;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .p-datepicker .p-datepicker-header .p-datepicker-prev,
  .p-datepicker .p-datepicker-header .p-datepicker-next {
    width: 2rem;
    height: 2rem;
    color: #6c757d;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover,
  .p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover {
    color: #495057;
    border-color: transparent;
    background: transparent;
  }
  .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible,
  .p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-datepicker .p-datepicker-header .p-datepicker-title {
    line-height: 2rem;
  }
  .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year,
  .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month {
    color: #212529;
    transition: box-shadow 0.15s;
    font-weight: 600;
    padding: 0.5rem;
  }
  .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover,
  .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover {
    color: #007bff;
  }
  .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month {
    margin-right: 0.5rem;
  }
  .p-datepicker table {
    font-size: 1rem;
    margin: 0.5rem 0;
  }
  .p-datepicker table th {
    padding: 0.5rem;
  }
  .p-datepicker table th > span {
    width: 2.5rem;
    height: 2.5rem;
  }
  .p-datepicker table td {
    padding: 0.5rem;
  }
  .p-datepicker table td > span {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 4px;
    transition: box-shadow 0.15s;
    border: 1px solid transparent;
  }
  .p-datepicker table td > span.p-highlight {
    color: #ffffff;
    background: #007bff;
  }
  .p-datepicker table td > span:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-datepicker table td.p-datepicker-today > span {
    background: #ced4da;
    color: #212529;
    border-color: transparent;
  }
  .p-datepicker table td.p-datepicker-today > span.p-highlight {
    color: #ffffff;
    background: #007bff;
  }
  .p-datepicker .p-datepicker-buttonbar {
    padding: 1rem 0;
    border-top: 1px solid #dee2e6;
  }
  .p-datepicker .p-datepicker-buttonbar .p-button {
    width: auto;
  }
  .p-datepicker .p-timepicker {
    border-top: 1px solid #dee2e6;
    padding: 0.5rem;
  }
  .p-datepicker .p-timepicker button {
    width: 2rem;
    height: 2rem;
    color: #6c757d;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-datepicker .p-timepicker button:enabled:hover {
    color: #495057;
    border-color: transparent;
    background: transparent;
  }
  .p-datepicker .p-timepicker button:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-datepicker .p-timepicker button:last-child {
    margin-top: 0.2em;
  }
  .p-datepicker .p-timepicker span {
    font-size: 1.25rem;
  }
  .p-datepicker .p-timepicker > div {
    padding: 0 0.5rem;
  }
  .p-datepicker.p-datepicker-timeonly .p-timepicker {
    border-top: 0 none;
  }
  .p-datepicker .p-monthpicker {
    margin: 0.5rem 0;
  }
  .p-datepicker .p-monthpicker .p-monthpicker-month {
    padding: 0.5rem;
    transition: box-shadow 0.15s;
    border-radius: 4px;
  }
  .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight {
    color: #ffffff;
    background: #007bff;
  }
  .p-datepicker .p-yearpicker {
    margin: 0.5rem 0;
  }
  .p-datepicker .p-yearpicker .p-yearpicker-year {
    padding: 0.5rem;
    transition: box-shadow 0.15s;
    border-radius: 4px;
  }
  .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight {
    color: #ffffff;
    background: #007bff;
  }
  .p-datepicker.p-datepicker-multiple-month .p-datepicker-group {
    border-left: 1px solid #dee2e6;
    padding-right: 0;
    padding-left: 0;
    padding-top: 0;
    padding-bottom: 0;
  }
  .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child {
    padding-left: 0;
    border-left: 0 none;
  }
  .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child {
    padding-right: 0;
  }
  .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover {
    background: #e9ecef;
  }
  .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover {
    background: #e9ecef;
  }
  .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover {
    background: #e9ecef;
  }
  .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  @media screen and (max-width: 769px) {
    .p-datepicker table th,
    .p-datepicker table td {
      padding: 0;
    }
  }
  .p-cascadeselect {
    background: #ffffff;
    border: 1px solid #ced4da;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    border-radius: 4px;
    outline-color: transparent;
  }
  .p-cascadeselect:not(.p-disabled):hover {
    border-color: #ced4da;
  }
  .p-cascadeselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    border-color: #007bff;
  }
  .p-cascadeselect.p-variant-filled {
    background-color: #efefef;
  }
  .p-cascadeselect.p-variant-filled:enabled:hover {
    background-color: #efefef;
  }
  .p-cascadeselect.p-variant-filled:enabled:focus {
    background-color: #efefef;
  }
  .p-cascadeselect .p-cascadeselect-label {
    background: transparent;
    border: 0 none;
    padding: 0.5rem 0.75rem;
  }
  .p-cascadeselect .p-cascadeselect-label.p-placeholder {
    color: #6c757d;
  }
  .p-cascadeselect .p-cascadeselect-label:enabled:focus {
    outline: 0 none;
    box-shadow: none;
  }
  .p-cascadeselect .p-cascadeselect-trigger {
    background: transparent;
    color: #495057;
    width: 2.357rem;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .p-cascadeselect.p-invalid.p-component {
    border-color: #dc3545;
  }
  .p-cascadeselect-panel {
    background: #ffffff;
    color: #212529;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    box-shadow: none;
  }
  .p-cascadeselect-panel .p-cascadeselect-items {
    padding: 0.5rem 0;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item {
    margin: 0;
    border: 0 none;
    color: #212529;
    background: transparent;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:first-child {
    margin-top: 0;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:last-child {
    margin-bottom: 0;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight {
    color: #ffffff;
    background: #007bff;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight.p-focus {
    background: #0067d6;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled).p-focus {
    color: #212529;
    background: #e9ecef;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content {
    padding: 0.5rem 1.5rem;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon {
    font-size: 0.875rem;
  }
  .p-checkbox {
    position: relative;
    display: inline-flex;
    user-select: none;
    vertical-align: bottom;
  }
  .p-checkbox-input {
    appearance: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    opacity: 0;
    z-index: 1;
    outline: 0 none;
    cursor: pointer;
  }
  .p-checkbox-box {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p-checkbox {
    width: 20px;
    height: 20px;
  }
  .p-checkbox .p-checkbox-input {
    border: 2px solid #ced4da;
    border-radius: 4px;
  }
  .p-checkbox .p-checkbox-box {
    border: 2px solid #ced4da;
    background: #ffffff;
    width: 20px;
    height: 20px;
    color: #212529;
    border-radius: 4px;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    outline-color: transparent;
  }
  .p-checkbox .p-checkbox-box .p-checkbox-icon {
    transition-duration: 0.15s;
    color: #ffffff;
    font-size: 14px;
  }
  .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon {
    width: 14px;
    height: 14px;
  }
  .p-checkbox .p-checkbox-box {
    border: 2px solid #ced4da;
    background: #ffffff;
    width: 20px;
    height: 20px;
    color: #212529;
    border-radius: 4px;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    outline-color: transparent;
  }
  .p-checkbox .p-checkbox-box .p-checkbox-icon {
    transition-duration: 0.15s;
    color: #ffffff;
    font-size: 14px;
  }
  .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon {
    width: 14px;
    height: 14px;
  }
  .p-checkbox.p-highlight .p-checkbox-box {
    border-color: #007bff;
    background: #007bff;
  }
  .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
    border-color: #ced4da;
  }
  .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight .p-checkbox-box {
    border-color: #0062cc;
    background: #0062cc;
    color: #ffffff;
  }
  .p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    border-color: #007bff;
  }
  .p-checkbox.p-invalid > .p-checkbox-box {
    border-color: #dc3545;
  }
  .p-checkbox.p-variant-filled .p-checkbox-box {
    background-color: #efefef;
  }
  .p-checkbox.p-variant-filled.p-highlight .p-checkbox-box {
    background: #007bff;
  }
  .p-checkbox.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
    background-color: #efefef;
  }
  .p-checkbox.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight .p-checkbox-box {
    background: #0062cc;
  }
  .p-input-filled .p-checkbox .p-checkbox-box {
    background-color: #efefef;
  }
  .p-input-filled .p-checkbox.p-highlight .p-checkbox-box {
    background: #007bff;
  }
  .p-input-filled .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
    background-color: #efefef;
  }
  .p-input-filled .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight .p-checkbox-box {
    background: #0062cc;
  }
  .p-highlight .p-checkbox .p-checkbox-box {
    border-color: #ffffff;
  }
  .p-checkbox {
    position: relative;
    display: inline-flex;
    user-select: none;
    vertical-align: bottom;
  }
  .p-checkbox-input {
    cursor: pointer;
  }
  .p-checkbox-box {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p-tristatecheckbox.p-variant-filled .p-checkbox-box {
    background-color: #efefef;
  }
  .p-tristatecheckbox.p-variant-filled.p-highlight .p-checkbox-box {
    background: #007bff;
  }
  .p-tristatecheckbox.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
    background-color: #efefef;
  }
  .p-tristatecheckbox.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight .p-checkbox-box {
    background: #0062cc;
  }
  .p-chips {
    display: inline-flex;
  }
  .p-chips-multiple-container {
    margin: 0;
    padding: 0;
    list-style-type: none;
    cursor: text;
    overflow: hidden;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
  .p-chips-token {
    cursor: default;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
  }
  .p-chips-input-token {
    flex: 1 1 auto;
    display: inline-flex;
  }
  .p-chips-token-icon {
    cursor: pointer;
  }
  .p-chips-input-token input {
    border: 0 none;
    outline: 0 none;
    background-color: transparent;
    margin: 0;
    padding: 0;
    box-shadow: none;
    border-radius: 0;
    width: 100%;
  }
  .p-fluid .p-chips {
    display: flex;
  }
  .p-chips:not(.p-disabled):hover .p-chips-multiple-container {
    border-color: #ced4da;
  }
  .p-chips:not(.p-disabled).p-focus .p-chips-multiple-container {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    border-color: #007bff;
  }
  .p-chips .p-chips-multiple-container {
    padding: 0.25rem 0.75rem;
    outline-color: transparent;
  }
  .p-chips .p-chips-multiple-container .p-chips-token {
    padding: 0.25rem 0.75rem;
    margin-right: 0.5rem;
    background: #dee2e6;
    color: #212529;
    border-radius: 16px;
  }
  .p-chips .p-chips-multiple-container .p-chips-token.p-focus {
    background: #ced4da;
    color: #212529;
  }
  .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon {
    margin-left: 0.5rem;
  }
  .p-chips .p-chips-multiple-container .p-chips-input-token {
    padding: 0.25rem 0;
  }
  .p-chips .p-chips-multiple-container .p-chips-input-token input {
    font-family: var(--font-family);
    font-feature-settings: var(--font-feature-settings, normal);
    font-size: 1rem;
    color: #212529;
    padding: 0;
    margin: 0;
  }
  .p-chips.p-invalid.p-component > .p-inputtext {
    border-color: #dc3545;
  }
  .p-colorpicker-preview {
    width: 2rem;
    height: 2rem;
  }
  .p-colorpicker-panel {
    background: #212529;
    border: 1px solid #212529;
  }
  .p-colorpicker-panel .p-colorpicker-color-handle,
  .p-colorpicker-panel .p-colorpicker-hue-handle {
    border-color: #ffffff;
  }
  .p-colorpicker-overlay-panel {
    box-shadow: none;
  }
  .p-dropdown {
    display: inline-flex;
    cursor: pointer;
    position: relative;
    user-select: none;
  }
  .p-dropdown-clear-icon {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
  }
  .p-dropdown-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .p-dropdown-label {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    flex: 1 1 auto;
    width: 1%;
    text-overflow: ellipsis;
    cursor: pointer;
  }
  .p-dropdown-label-empty {
    overflow: hidden;
    opacity: 0;
  }
  input.p-dropdown-label {
    cursor: default;
  }
  .p-dropdown .p-dropdown-panel {
    min-width: 100%;
  }
  .p-dropdown-panel {
    position: absolute;
    top: 0;
    left: 0;
  }
  .p-dropdown-items-wrapper {
    overflow: auto;
  }
  .p-dropdown-item {
    cursor: pointer;
    font-weight: normal;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
  }
  .p-dropdown-item-group {
    cursor: auto;
  }
  .p-dropdown-items {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  .p-dropdown-filter {
    width: 100%;
  }
  .p-dropdown-filter-container {
    position: relative;
  }
  .p-dropdown-filter-icon {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
  }
  .p-fluid .p-dropdown {
    display: flex;
  }
  .p-fluid .p-dropdown .p-dropdown-label {
    width: 1%;
  }
  .p-dropdown {
    background: #ffffff;
    border: 1px solid #ced4da;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    border-radius: 4px;
    outline-color: transparent;
  }
  .p-dropdown:not(.p-disabled):hover {
    border-color: #ced4da;
  }
  .p-dropdown:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    border-color: #007bff;
  }
  .p-dropdown.p-variant-filled {
    background: #efefef;
  }
  .p-dropdown.p-variant-filled:not(.p-disabled):hover {
    background-color: #efefef;
  }
  .p-dropdown.p-variant-filled:not(.p-disabled).p-focus {
    background-color: #efefef;
  }
  .p-dropdown.p-variant-filled:not(.p-disabled).p-focus .p-inputtext {
    background-color: transparent;
  }
  .p-dropdown.p-dropdown-clearable .p-dropdown-label {
    padding-right: 1.75rem;
  }
  .p-dropdown .p-dropdown-label {
    background: transparent;
    border: 0 none;
  }
  .p-dropdown .p-dropdown-label.p-placeholder {
    color: #6c757d;
  }
  .p-dropdown .p-dropdown-label:focus, .p-dropdown .p-dropdown-label:enabled:focus {
    outline: 0 none;
    box-shadow: none;
  }
  .p-dropdown .p-dropdown-trigger {
    background: transparent;
    color: #495057;
    width: 2.357rem;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .p-dropdown .p-dropdown-clear-icon {
    color: #495057;
    right: 2.357rem;
  }
  .p-dropdown.p-invalid.p-component {
    border-color: #dc3545;
  }
  .p-dropdown-panel {
    background: #ffffff;
    color: #212529;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    box-shadow: none;
  }
  .p-dropdown-panel .p-dropdown-header {
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #dee2e6;
    color: #212529;
    background: #efefef;
    margin: 0;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .p-dropdown-panel .p-dropdown-header .p-dropdown-filter {
    padding-right: 1.75rem;
    margin-right: -1.75rem;
  }
  .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon {
    right: 0.75rem;
    color: #495057;
  }
  .p-dropdown-panel .p-dropdown-items {
    padding: 0.5rem 0;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item {
    margin: 0;
    padding: 0.5rem 1.5rem;
    border: 0 none;
    color: #212529;
    background: transparent;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item:first-child {
    margin-top: 0;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item:last-child {
    margin-bottom: 0;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight {
    color: #ffffff;
    background: #007bff;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight.p-focus {
    background: #0067d6;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled).p-focus {
    color: #212529;
    background: #e9ecef;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item .p-dropdown-check-icon {
    position: relative;
    margin-left: -0.5rem;
    margin-right: 0.5rem;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group {
    margin: 0;
    padding: 0.75rem 1rem;
    color: #212529;
    background: #ffffff;
    font-weight: 600;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message {
    padding: 0.5rem 1.5rem;
    color: #212529;
    background: transparent;
  }
  .p-inputgroup-addon {
    background: #e9ecef;
    color: #495057;
    border-top: 1px solid #ced4da;
    border-left: 1px solid #ced4da;
    border-bottom: 1px solid #ced4da;
    padding: 0.5rem 0.75rem;
    min-width: 2.357rem;
  }
  .p-inputgroup-addon:last-child {
    border-right: 1px solid #ced4da;
  }
  .p-inputgroup > .p-component,
  .p-inputgroup > .p-inputwrapper > .p-inputtext,
  .p-inputgroup > .p-float-label > .p-component {
    border-radius: 0;
    margin: 0;
  }
  .p-inputgroup > .p-component + .p-inputgroup-addon,
  .p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon,
  .p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon {
    border-left: 0 none;
  }
  .p-inputgroup > .p-component:focus,
  .p-inputgroup > .p-inputwrapper > .p-inputtext:focus,
  .p-inputgroup > .p-float-label > .p-component:focus {
    z-index: 1;
  }
  .p-inputgroup > .p-component:focus ~ label,
  .p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label,
  .p-inputgroup > .p-float-label > .p-component:focus ~ label {
    z-index: 1;
  }
  .p-inputgroup-addon:first-child,
  .p-inputgroup button:first-child,
  .p-inputgroup input:first-child,
  .p-inputgroup > .p-inputwrapper:first-child,
  .p-inputgroup > .p-inputwrapper:first-child > .p-inputtext {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .p-inputgroup .p-float-label:first-child input {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .p-inputgroup-addon:last-child,
  .p-inputgroup button:last-child,
  .p-inputgroup input:last-child,
  .p-inputgroup > .p-inputwrapper:last-child,
  .p-inputgroup > .p-inputwrapper:last-child > .p-inputtext {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .p-inputgroup .p-float-label:last-child input {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .p-fluid .p-inputgroup .p-button {
    width: auto;
  }
  .p-fluid .p-inputgroup .p-button.p-button-icon-only {
    width: 2.357rem;
  }
  .p-inputnumber.p-invalid.p-component > .p-inputtext {
    border-color: #dc3545;
  }
  .p-inputswitch {
    position: relative;
    display: inline-block;
  }
  .p-inputswitch-input {
    appearance: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    opacity: 0;
    z-index: 1;
    outline: 0 none;
    cursor: pointer;
  }
  .p-inputswitch-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid transparent;
  }
  .p-inputswitch-slider:before {
    position: absolute;
    content: "";
    top: 50%;
  }
  .p-inputswitch {
    width: 3rem;
    height: 1.75rem;
  }
  .p-inputswitch .p-inputswitch-input {
    border-radius: 4px;
  }
  .p-inputswitch .p-inputswitch-slider {
    background: #ced4da;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    border-radius: 4px;
    outline-color: transparent;
  }
  .p-inputswitch .p-inputswitch-slider:before {
    background: #ffffff;
    width: 1.25rem;
    height: 1.25rem;
    left: 0.25rem;
    margin-top: -0.625rem;
    border-radius: 4px;
    transition-duration: 0.15s;
  }
  .p-inputswitch.p-highlight .p-inputswitch-slider {
    background: #007bff;
  }
  .p-inputswitch.p-highlight .p-inputswitch-slider:before {
    background: #ffffff;
    transform: translateX(1.25rem);
  }
  .p-inputswitch:not(.p-disabled):has(.p-inputswitch-input:hover) .p-inputswitch-slider {
    background: #ced4da;
  }
  .p-inputswitch:not(.p-disabled):has(.p-inputswitch-input:hover).p-highlight .p-inputswitch-slider {
    background: #007bff;
  }
  .p-inputswitch:not(.p-disabled):has(.p-inputswitch-input:focus-visible) .p-inputswitch-slider {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-inputswitch.p-invalid > .p-inputswitch-slider {
    border-color: #dc3545;
  }
  .p-inputtext {
    font-family: var(--font-family);
    font-feature-settings: var(--font-feature-settings, normal);
    font-size: 1rem;
    color: #495057;
    background: #ffffff;
    padding: 0.5rem 0.75rem;
    border: 1px solid #ced4da;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    appearance: none;
    border-radius: 4px;
    outline-color: transparent;
  }
  .p-inputtext:enabled:hover {
    border-color: #ced4da;
  }
  .p-inputtext:enabled:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    border-color: #007bff;
  }
  .p-inputtext.p-invalid.p-component {
    border-color: #dc3545;
  }
  .p-inputtext.p-variant-filled {
    background-color: #efefef;
  }
  .p-inputtext.p-variant-filled:enabled:hover {
    background-color: #efefef;
  }
  .p-inputtext.p-variant-filled:enabled:focus {
    background-color: #efefef;
  }
  .p-inputtext.p-inputtext-sm {
    font-size: 0.875rem;
    padding: 0.4375rem 0.65625rem;
  }
  .p-inputtext.p-inputtext-lg {
    font-size: 1.25rem;
    padding: 0.625rem 0.9375rem;
  }
  .p-float-label > label {
    left: 0.75rem;
    color: #6c757d;
    transition-duration: 0.15s;
  }
  .p-float-label > .p-invalid + label {
    color: #dc3545;
  }
  .p-icon-field-left > .p-inputtext {
    padding-left: 2.5rem;
  }
  .p-icon-field-left.p-float-label > label {
    left: 2.5rem;
  }
  .p-icon-field-right > .p-inputtext {
    padding-right: 2.5rem;
  }
  ::-webkit-input-placeholder {
    color: #6c757d;
  }
  :-moz-placeholder {
    color: #6c757d;
  }
  ::-moz-placeholder {
    color: #6c757d;
  }
  :-ms-input-placeholder {
    color: #6c757d;
  }
  .p-input-filled .p-inputtext {
    background-color: #efefef;
  }
  .p-input-filled .p-inputtext:enabled:hover {
    background-color: #efefef;
  }
  .p-input-filled .p-inputtext:enabled:focus {
    background-color: #efefef;
  }
  .p-inputtext-sm .p-inputtext {
    font-size: 0.875rem;
    padding: 0.4375rem 0.65625rem;
  }
  .p-inputtext-lg .p-inputtext {
    font-size: 1.25rem;
    padding: 0.625rem 0.9375rem;
  }
  .p-icon-field {
    position: relative;
  }
  .p-icon-field > .p-input-icon {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
  }
  .p-fluid .p-icon-field-left,
  .p-fluid .p-icon-field-right {
    width: 100%;
  }
  .p-icon-field-left > .p-input-icon:first-of-type {
    left: 0.75rem;
    color: #495057;
  }
  .p-icon-field-right > .p-input-icon:last-of-type {
    right: 0.75rem;
    color: #495057;
  }
  .p-inputotp {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  .p-inputotp-input {
    text-align: center;
    width: 2.5rem;
  }
  .p-listbox-list-wrapper {
    overflow: auto;
  }
  .p-listbox-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
  }
  .p-listbox-item {
    cursor: pointer;
    position: relative;
    overflow: hidden;
  }
  .p-listbox-item-group {
    cursor: auto;
  }
  .p-listbox-filter-container {
    position: relative;
  }
  .p-listbox-filter-icon {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
  }
  .p-listbox-filter {
    width: 100%;
  }
  .p-listbox {
    background: #ffffff;
    color: #212529;
    border: 1px solid #ced4da;
    border-radius: 4px;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    outline-color: transparent;
  }
  .p-listbox .p-listbox-header {
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #dee2e6;
    color: #212529;
    background: #efefef;
    margin: 0;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .p-listbox .p-listbox-header .p-listbox-filter {
    padding-right: 1.75rem;
  }
  .p-listbox .p-listbox-header .p-listbox-filter-icon {
    right: 0.75rem;
    color: #495057;
  }
  .p-listbox .p-listbox-list {
    padding: 0.5rem 0;
    outline: 0 none;
  }
  .p-listbox .p-listbox-list .p-listbox-item {
    margin: 0;
    padding: 0.5rem 1.5rem;
    border: 0 none;
    color: #212529;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-listbox .p-listbox-list .p-listbox-item:first-child {
    margin-top: 0;
  }
  .p-listbox .p-listbox-list .p-listbox-item:last-child {
    margin-bottom: 0;
  }
  .p-listbox .p-listbox-list .p-listbox-item.p-highlight {
    color: #ffffff;
    background: #007bff;
  }
  .p-listbox .p-listbox-list .p-listbox-item-group {
    margin: 0;
    padding: 0.75rem 1rem;
    color: #212529;
    background: #ffffff;
    font-weight: 600;
  }
  .p-listbox .p-listbox-list .p-listbox-empty-message {
    padding: 0.5rem 1.5rem;
    color: #212529;
    background: transparent;
  }
  .p-listbox:not(.p-disabled) .p-listbox-item.p-highlight.p-focus {
    background: #0067d6;
  }
  .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled).p-focus {
    color: #212529;
    background: #e9ecef;
  }
  .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover {
    color: #212529;
    background: #e9ecef;
  }
  .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover.p-focus {
    color: #212529;
    background: #e9ecef;
  }
  .p-listbox.p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    border-color: #007bff;
  }
  .p-listbox.p-invalid {
    border-color: #dc3545;
  }
  .p-mention-panel {
    background: #ffffff;
    color: #212529;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    box-shadow: none;
  }
  .p-mention-panel .p-mention-items {
    padding: 0.5rem 0;
  }
  .p-mention-panel .p-mention-items .p-mention-item {
    margin: 0;
    padding: 0.5rem 1.5rem;
    border: 0 none;
    color: #212529;
    background: transparent;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-mention-panel .p-mention-items .p-mention-item:hover {
    color: #212529;
    background: #e9ecef;
  }
  .p-mention-panel .p-mention-items .p-mention-item.p-highlight {
    color: #ffffff;
    background: #007bff;
  }
  .p-multiselect {
    display: inline-flex;
    cursor: pointer;
    user-select: none;
  }
  .p-multiselect-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .p-multiselect-label-container {
    overflow: hidden;
    flex: 1 1 auto;
    cursor: pointer;
  }
  .p-multiselect-label {
    display: block;
    white-space: nowrap;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .p-multiselect-label-empty {
    overflow: hidden;
    visibility: hidden;
  }
  .p-multiselect-token {
    cursor: default;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
  }
  .p-multiselect-token-icon {
    cursor: pointer;
  }
  .p-multiselect .p-multiselect-panel {
    min-width: 100%;
  }
  .p-multiselect-items-wrapper {
    overflow: auto;
  }
  .p-multiselect-items {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  .p-multiselect-item {
    cursor: pointer;
    display: flex;
    align-items: center;
    font-weight: normal;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
  }
  .p-multiselect-item-group {
    cursor: auto;
  }
  .p-multiselect-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .p-multiselect-filter-container {
    position: relative;
    flex: 1 1 auto;
  }
  .p-multiselect-filter-icon {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
  }
  .p-multiselect-filter-container .p-inputtext {
    width: 100%;
  }
  .p-multiselect-close {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
    margin-left: auto;
  }
  .p-fluid .p-multiselect {
    display: flex;
  }
  .p-multiselect {
    background: #ffffff;
    border: 1px solid #ced4da;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    border-radius: 4px;
    outline-color: transparent;
  }
  .p-multiselect:not(.p-disabled):hover {
    border-color: #ced4da;
  }
  .p-multiselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    border-color: #007bff;
  }
  .p-multiselect.p-variant-filled {
    background: #efefef;
  }
  .p-multiselect.p-variant-filled:not(.p-disabled):hover {
    background-color: #efefef;
  }
  .p-multiselect.p-variant-filled:not(.p-disabled).p-focus {
    background-color: #efefef;
  }
  .p-multiselect .p-multiselect-label {
    padding: 0.5rem 0.75rem;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
  }
  .p-multiselect .p-multiselect-label.p-placeholder {
    color: #6c757d;
  }
  .p-multiselect.p-multiselect-chip .p-multiselect-token {
    padding: 0.25rem 0.75rem;
    margin-right: 0.5rem;
    background: #dee2e6;
    color: #212529;
    border-radius: 16px;
  }
  .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon {
    margin-left: 0.5rem;
  }
  .p-multiselect .p-multiselect-trigger {
    background: transparent;
    color: #495057;
    width: 2.357rem;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .p-multiselect.p-invalid.p-component {
    border-color: #dc3545;
  }
  .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label {
    padding: 0.25rem 0.75rem;
  }
  .p-multiselect-panel {
    background: #ffffff;
    color: #212529;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    box-shadow: none;
  }
  .p-multiselect-panel .p-multiselect-header {
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #dee2e6;
    color: #212529;
    background: #efefef;
    margin: 0;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext {
    padding-right: 1.75rem;
  }
  .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon {
    right: 0.75rem;
    color: #495057;
  }
  .p-multiselect-panel .p-multiselect-header .p-checkbox {
    margin-right: 0.5rem;
  }
  .p-multiselect-panel .p-multiselect-header .p-multiselect-close {
    margin-left: 0.5rem;
    width: 2rem;
    height: 2rem;
    color: #6c757d;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover {
    color: #495057;
    border-color: transparent;
    background: transparent;
  }
  .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-multiselect-panel .p-multiselect-items {
    padding: 0.5rem 0;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item {
    margin: 0;
    padding: 0.5rem 1.5rem;
    border: 0 none;
    color: #212529;
    background: transparent;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item:first-child {
    margin-top: 0;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item:last-child {
    margin-bottom: 0;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight {
    color: #ffffff;
    background: #007bff;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight.p-focus {
    background: #0067d6;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled).p-focus {
    color: #212529;
    background: #e9ecef;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox {
    margin-right: 0.5rem;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group {
    margin: 0;
    padding: 0.75rem 1rem;
    color: #212529;
    background: #ffffff;
    font-weight: 600;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message {
    padding: 0.5rem 1.5rem;
    color: #212529;
    background: transparent;
  }
  .p-password.p-invalid.p-component > .p-inputtext {
    border-color: #dc3545;
  }
  .p-password-panel {
    padding: 1.25rem;
    background: #ffffff;
    color: #212529;
    border: 1px solid rgba(0, 0, 0, 0.2);
    box-shadow: none;
    border-radius: 4px;
  }
  .p-password-panel .p-password-meter {
    margin-bottom: 0.5rem;
    background: #e9ecef;
  }
  .p-password-panel .p-password-meter .p-password-strength.weak {
    background: #dc3545;
  }
  .p-password-panel .p-password-meter .p-password-strength.medium {
    background: #ffc107;
  }
  .p-password-panel .p-password-meter .p-password-strength.strong {
    background: #28a745;
  }
  .p-radiobutton {
    position: relative;
    display: inline-flex;
    user-select: none;
    vertical-align: bottom;
  }
  .p-radiobutton-input {
    cursor: pointer;
  }
  .p-radiobutton-box {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p-radiobutton-icon {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0) scale(0.1);
    border-radius: 50%;
    visibility: hidden;
  }
  .p-radiobutton.p-highlight .p-radiobutton-icon {
    transform: translateZ(0) scale(1, 1);
    visibility: visible;
  }
  .p-radiobutton {
    width: 20px;
    height: 20px;
  }
  .p-radiobutton .p-radiobutton-input {
    appearance: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    opacity: 0;
    z-index: 1;
    outline: 0 none;
    border: 2px solid #ced4da;
    border-radius: 50%;
  }
  .p-radiobutton .p-radiobutton-box {
    border: 2px solid #ced4da;
    background: #ffffff;
    width: 20px;
    height: 20px;
    color: #212529;
    border-radius: 50%;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    outline-color: transparent;
  }
  .p-radiobutton .p-radiobutton-box .p-radiobutton-icon {
    width: 12px;
    height: 12px;
    transition-duration: 0.15s;
    background-color: #ffffff;
  }
  .p-radiobutton.p-highlight .p-radiobutton-box {
    border-color: #007bff;
    background: #007bff;
  }
  .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {
    border-color: #ced4da;
  }
  .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover).p-highlight .p-radiobutton-box {
    border-color: #0062cc;
    background: #0062cc;
  }
  .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover).p-highlight .p-radiobutton-box .p-radiobutton-icon {
    background-color: #ffffff;
  }
  .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:focus-visible) .p-radiobutton-box {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    border-color: #007bff;
  }
  .p-radiobutton.p-invalid > .p-radiobutton-box {
    border-color: #dc3545;
  }
  .p-radiobutton.p-variant-filled .p-radiobutton-box {
    background-color: #efefef;
  }
  .p-radiobutton.p-variant-filled.p-highlight .p-radiobutton-box {
    background: #007bff;
  }
  .p-radiobutton.p-variant-filled:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {
    background-color: #efefef;
  }
  .p-radiobutton.p-variant-filled:not(.p-disabled):has(.p-radiobutton-input:hover).p-highlight .p-radiobutton-box {
    background: #0062cc;
  }
  .p-input-filled .p-radiobutton .p-radiobutton-box {
    background-color: #efefef;
  }
  .p-input-filled .p-radiobutton.p-highlight .p-radiobutton-box {
    background: #007bff;
  }
  .p-input-filled .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {
    background-color: #efefef;
  }
  .p-input-filled .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover).p-highlight .p-radiobutton-box {
    background: #0062cc;
  }
  .p-highlight .p-radiobutton .p-radiobutton-box {
    border-color: #ffffff;
  }
  .p-rating {
    position: relative;
    display: flex;
    align-items: center;
  }
  .p-rating-item {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
  }
  .p-rating.p-readonly .p-rating-item {
    cursor: default;
  }
  .p-rating {
    gap: 0.5rem;
  }
  .p-rating .p-rating-item {
    outline-color: transparent;
    border-radius: 50%;
  }
  .p-rating .p-rating-item .p-rating-icon {
    color: #495057;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    font-size: 1.143rem;
  }
  .p-rating .p-rating-item .p-rating-icon.p-icon {
    width: 1.143rem;
    height: 1.143rem;
  }
  .p-rating .p-rating-item .p-rating-icon.p-rating-cancel {
    color: #dc3545;
  }
  .p-rating .p-rating-item.p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-rating .p-rating-item.p-rating-item-active .p-rating-icon {
    color: #007bff;
  }
  .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon {
    color: #007bff;
  }
  .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel {
    color: #dc3545;
  }
  .p-highlight .p-rating .p-rating-item.p-rating-item-active .p-rating-icon {
    color: #ffffff;
  }
  .p-selectbutton .p-button {
    background: #6c757d;
    border: 1px solid #6c757d;
    color: #ffffff;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
  }
  .p-selectbutton .p-button .p-button-icon-left,
  .p-selectbutton .p-button .p-button-icon-right {
    color: #ffffff;
  }
  .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover {
    background: #5a6268;
    border-color: #545b62;
    color: #ffffff;
  }
  .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left,
  .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right {
    color: #ffffff;
  }
  .p-selectbutton .p-button.p-highlight {
    background: #545b62;
    border-color: #4e555b;
    color: #ffffff;
  }
  .p-selectbutton .p-button.p-highlight .p-button-icon-left,
  .p-selectbutton .p-button.p-highlight .p-button-icon-right {
    color: #ffffff;
  }
  .p-selectbutton .p-button.p-highlight:hover {
    background: #545b62;
    border-color: #4e555b;
    color: #ffffff;
  }
  .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left,
  .p-selectbutton .p-button.p-highlight:hover .p-button-icon-right {
    color: #ffffff;
  }
  .p-selectbutton.p-invalid > .p-button {
    border-color: #dc3545;
  }
  .p-slider {
    background: #e9ecef;
    border: 0 none;
    border-radius: 4px;
  }
  .p-slider.p-slider-horizontal {
    height: 0.286rem;
  }
  .p-slider.p-slider-horizontal .p-slider-handle {
    margin-top: -0.5715rem;
    margin-left: -0.5715rem;
  }
  .p-slider.p-slider-vertical {
    width: 0.286rem;
  }
  .p-slider.p-slider-vertical .p-slider-handle {
    margin-left: -0.5715rem;
    margin-bottom: -0.5715rem;
  }
  .p-slider .p-slider-handle {
    height: 1.143rem;
    width: 1.143rem;
    background: #007bff;
    border: 2px solid #007bff;
    border-radius: 4px;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
  }
  .p-slider .p-slider-handle:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-slider .p-slider-range {
    background: #007bff;
  }
  .p-slider:not(.p-disabled) .p-slider-handle:hover {
    background: #0069d9;
    border-color: #0069d9;
  }
  .p-treeselect {
    background: #ffffff;
    border: 1px solid #ced4da;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    border-radius: 4px;
  }
  .p-treeselect:not(.p-disabled):hover {
    border-color: #ced4da;
  }
  .p-treeselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    border-color: #007bff;
  }
  .p-treeselect.p-treeselect-clearable .p-treeselect-label {
    padding-right: 1.75rem;
  }
  .p-treeselect.p-variant-filled {
    background: #efefef;
  }
  .p-treeselect.p-variant-filled:not(.p-disabled):hover {
    background-color: #efefef;
  }
  .p-treeselect.p-variant-filled:not(.p-disabled).p-focus {
    background-color: #efefef;
  }
  .p-treeselect .p-treeselect-label {
    padding: 0.5rem 0.75rem;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
  }
  .p-treeselect .p-treeselect-label.p-placeholder {
    color: #6c757d;
  }
  .p-treeselect.p-treeselect-chip .p-treeselect-token {
    padding: 0.25rem 0.75rem;
    margin-right: 0.5rem;
    background: #dee2e6;
    color: #212529;
    border-radius: 16px;
  }
  .p-treeselect .p-treeselect-trigger {
    background: transparent;
    color: #495057;
    width: 2.357rem;
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .p-treeselect .p-treeselect-clear-icon {
    color: #495057;
    right: 2.357rem;
  }
  .p-treeselect.p-invalid.p-component {
    border-color: #dc3545;
  }
  .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label {
    padding: 0.25rem 0.75rem;
  }
  .p-treeselect-panel {
    background: #ffffff;
    color: #212529;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    box-shadow: none;
  }
  .p-treeselect-panel .p-treeselect-header {
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #dee2e6;
    color: #212529;
    background: #efefef;
    margin: 0;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container {
    margin-right: 0.5rem;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter {
    padding-right: 1.75rem;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon {
    right: 0.75rem;
    color: #495057;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter {
    padding-right: 3.5rem;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon {
    right: 2.5rem;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-close {
    width: 2rem;
    height: 2rem;
    color: #6c757d;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover {
    color: #495057;
    border-color: transparent;
    background: transparent;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-treeselect-panel .p-treeselect-items-wrapper .p-tree {
    border: 0 none;
  }
  .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message {
    padding: 0.5rem 1.5rem;
    color: #212529;
    background: transparent;
  }
  .p-input-filled .p-treeselect {
    background: #efefef;
  }
  .p-input-filled .p-treeselect:not(.p-disabled):hover {
    background-color: #efefef;
  }
  .p-input-filled .p-treeselect:not(.p-disabled).p-focus {
    background-color: #efefef;
  }
  .p-togglebutton {
    position: relative;
    display: inline-flex;
    user-select: none;
    vertical-align: bottom;
  }
  .p-togglebutton-input {
    cursor: pointer;
  }
  .p-togglebutton .p-button {
    flex: 1 1 auto;
  }
  .p-togglebutton .p-togglebutton-input {
    appearance: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    opacity: 0;
    z-index: 1;
    outline: 0 none;
    border: 1px solid #6c757d;
    border-radius: 4px;
  }
  .p-togglebutton .p-button {
    background: #6c757d;
    border: 1px solid #6c757d;
    color: #ffffff;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    outline-color: transparent;
  }
  .p-togglebutton .p-button .p-button-icon-left,
  .p-togglebutton .p-button .p-button-icon-right {
    color: #ffffff;
  }
  .p-togglebutton.p-highlight .p-button {
    background: #545b62;
    border-color: #4e555b;
    color: #ffffff;
  }
  .p-togglebutton.p-highlight .p-button .p-button-icon-left,
  .p-togglebutton.p-highlight .p-button .p-button-icon-right {
    color: #ffffff;
  }
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:hover):not(.p-highlight) .p-button {
    background: #5a6268;
    border-color: #545b62;
    color: #ffffff;
  }
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:hover):not(.p-highlight) .p-button .p-button-icon-left,
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:hover):not(.p-highlight) .p-button .p-button-icon-right {
    color: #ffffff;
  }
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:hover).p-highlight .p-button {
    background: #545b62;
    border-color: #4e555b;
    color: #ffffff;
  }
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:hover).p-highlight .p-button .p-button-icon-left,
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:hover).p-highlight .p-button .p-button-icon-right {
    color: #ffffff;
  }
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:focus-visible) .p-button {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    border-color: #007bff;
  }
  .p-togglebutton.p-invalid > .p-button {
    border-color: #dc3545;
  }
  .p-button {
    color: #ffffff;
    background: #007bff;
    border: 1px solid #007bff;
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
    border-radius: 4px;
  }
  .p-button:not(:disabled):hover {
    background: #0069d9;
    color: #ffffff;
    border-color: #0069d9;
  }
  .p-button:not(:disabled):active {
    background: #0062cc;
    color: #ffffff;
    border-color: #0062cc;
  }
  .p-button.p-button-outlined {
    background-color: transparent;
    color: #007bff;
    border: 1px solid;
  }
  .p-button.p-button-outlined:not(:disabled):hover {
    background: rgba(0, 123, 255, 0.04);
    color: #007bff;
    border: 1px solid;
  }
  .p-button.p-button-outlined:not(:disabled):active {
    background: rgba(0, 123, 255, 0.16);
    color: #007bff;
    border: 1px solid;
  }
  .p-button.p-button-outlined.p-button-plain {
    color: #6c757d;
    border-color: #6c757d;
  }
  .p-button.p-button-outlined.p-button-plain:not(:disabled):hover {
    background: #e9ecef;
    color: #6c757d;
  }
  .p-button.p-button-outlined.p-button-plain:not(:disabled):active {
    background: #dee2e6;
    color: #6c757d;
  }
  .p-button.p-button-text {
    background-color: transparent;
    color: #007bff;
    border-color: transparent;
  }
  .p-button.p-button-text:not(:disabled):hover {
    background: rgba(0, 123, 255, 0.04);
    color: #007bff;
    border-color: transparent;
  }
  .p-button.p-button-text:not(:disabled):active {
    background: rgba(0, 123, 255, 0.16);
    color: #007bff;
    border-color: transparent;
  }
  .p-button.p-button-text.p-button-plain {
    color: #6c757d;
  }
  .p-button.p-button-text.p-button-plain:not(:disabled):hover {
    background: #e9ecef;
    color: #6c757d;
  }
  .p-button.p-button-text.p-button-plain:not(:disabled):active {
    background: #dee2e6;
    color: #6c757d;
  }
  .p-button:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-button .p-button-label {
    transition-duration: 0.15s;
  }
  .p-button .p-button-icon-left {
    margin-right: 0.5rem;
  }
  .p-button .p-button-icon-right {
    margin-left: 0.5rem;
  }
  .p-button .p-button-icon-bottom {
    margin-top: 0.5rem;
  }
  .p-button .p-button-icon-top {
    margin-bottom: 0.5rem;
  }
  .p-button .p-badge {
    margin-left: 0.5rem;
    min-width: 1rem;
    height: 1rem;
    line-height: 1rem;
    color: #007bff;
    background-color: #ffffff;
  }
  .p-button.p-button-raised {
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  }
  .p-button.p-button-rounded {
    border-radius: 2rem;
  }
  .p-button.p-button-icon-only {
    width: 2.357rem;
    padding: 0.5rem 0;
  }
  .p-button.p-button-icon-only .p-button-icon-left,
  .p-button.p-button-icon-only .p-button-icon-right {
    margin: 0;
  }
  .p-button.p-button-icon-only.p-button-rounded {
    border-radius: 50%;
    height: 2.357rem;
  }
  .p-button.p-button-sm {
    font-size: 0.875rem;
    padding: 0.4375rem 0.65625rem;
  }
  .p-button.p-button-sm .p-button-icon {
    font-size: 0.875rem;
  }
  .p-button.p-button-lg {
    font-size: 1.25rem;
    padding: 0.625rem 0.9375rem;
  }
  .p-button.p-button-lg .p-button-icon {
    font-size: 1.25rem;
  }
  .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label {
    margin-left: 0.5rem;
  }
  .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label {
    margin-right: 0.5rem;
  }
  .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label {
    margin-top: 0.5rem;
  }
  .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label {
    margin-bottom: 0.5rem;
  }
  .p-button.p-button-loading-label-only .p-button-loading-icon {
    margin: 0;
  }
  .p-fluid .p-button {
    width: 100%;
  }
  .p-fluid .p-button-icon-only {
    width: 2.357rem;
  }
  .p-fluid .p-button-group {
    display: flex;
  }
  .p-fluid .p-button-group .p-button {
    flex: 1;
  }
  .p-button.p-button-secondary, .p-button-group.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary {
    color: #ffffff;
    background: #6c757d;
    border: 1px solid #6c757d;
  }
  .p-button.p-button-secondary:not(:disabled):hover, .p-button-group.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover {
    background: #5a6268;
    color: #ffffff;
    border-color: #5a6268;
  }
  .p-button.p-button-secondary:not(:disabled):focus, .p-button-group.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus {
    box-shadow: 0 0 0 0.2rem rgba(130, 138, 145, 0.5);
  }
  .p-button.p-button-secondary:not(:disabled):active, .p-button-group.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active {
    background: #545b62;
    color: #ffffff;
    border-color: #4e555b;
  }
  .p-button.p-button-secondary.p-button-outlined, .p-button-group.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined {
    background-color: transparent;
    color: #6c757d;
    border: 1px solid;
  }
  .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover {
    background: rgba(108, 117, 125, 0.04);
    color: #6c757d;
    border: 1px solid;
  }
  .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-button-group.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active {
    background: rgba(108, 117, 125, 0.16);
    color: #6c757d;
    border: 1px solid;
  }
  .p-button.p-button-secondary.p-button-text, .p-button-group.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text {
    background-color: transparent;
    color: #6c757d;
    border-color: transparent;
  }
  .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-button-group.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover {
    background: rgba(108, 117, 125, 0.04);
    border-color: transparent;
    color: #6c757d;
  }
  .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-button-group.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active {
    background: rgba(108, 117, 125, 0.16);
    border-color: transparent;
    color: #6c757d;
  }
  .p-button.p-button-info, .p-button-group.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info {
    color: #ffffff;
    background: #17a2b8;
    border: 1px solid #17a2b8;
  }
  .p-button.p-button-info:not(:disabled):hover, .p-button-group.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover {
    background: #138496;
    color: #ffffff;
    border-color: #117a8b;
  }
  .p-button.p-button-info:not(:disabled):focus, .p-button-group.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus {
    box-shadow: 0 0 0 0.2rem rgba(58, 176, 195, 0.5);
  }
  .p-button.p-button-info:not(:disabled):active, .p-button-group.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active {
    background: #138496;
    color: #ffffff;
    border-color: #117a8b;
  }
  .p-button.p-button-info.p-button-outlined, .p-button-group.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined {
    background-color: transparent;
    color: #17a2b8;
    border: 1px solid;
  }
  .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover {
    background: rgba(23, 162, 184, 0.04);
    color: #17a2b8;
    border: 1px solid;
  }
  .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-button-group.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active {
    background: rgba(23, 162, 184, 0.16);
    color: #17a2b8;
    border: 1px solid;
  }
  .p-button.p-button-info.p-button-text, .p-button-group.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text {
    background-color: transparent;
    color: #17a2b8;
    border-color: transparent;
  }
  .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-button-group.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover {
    background: rgba(23, 162, 184, 0.04);
    border-color: transparent;
    color: #17a2b8;
  }
  .p-button.p-button-info.p-button-text:not(:disabled):active, .p-button-group.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active {
    background: rgba(23, 162, 184, 0.16);
    border-color: transparent;
    color: #17a2b8;
  }
  .p-button.p-button-success, .p-button-group.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success {
    color: #ffffff;
    background: #28a745;
    border: 1px solid #28a745;
  }
  .p-button.p-button-success:not(:disabled):hover, .p-button-group.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover {
    background: #218838;
    color: #ffffff;
    border-color: #1e7e34;
  }
  .p-button.p-button-success:not(:disabled):focus, .p-button-group.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus {
    box-shadow: 0 0 0 0.2rem rgba(72, 180, 97, 0.5);
  }
  .p-button.p-button-success:not(:disabled):active, .p-button-group.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active {
    background: #1e7e34;
    color: #ffffff;
    border-color: #1c7430;
  }
  .p-button.p-button-success.p-button-outlined, .p-button-group.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined {
    background-color: transparent;
    color: #28a745;
    border: 1px solid;
  }
  .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover {
    background: rgba(40, 167, 69, 0.04);
    color: #28a745;
    border: 1px solid;
  }
  .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-button-group.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active {
    background: rgba(40, 167, 69, 0.16);
    color: #28a745;
    border: 1px solid;
  }
  .p-button.p-button-success.p-button-text, .p-button-group.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text {
    background-color: transparent;
    color: #28a745;
    border-color: transparent;
  }
  .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-button-group.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover {
    background: rgba(40, 167, 69, 0.04);
    border-color: transparent;
    color: #28a745;
  }
  .p-button.p-button-success.p-button-text:not(:disabled):active, .p-button-group.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active {
    background: rgba(40, 167, 69, 0.16);
    border-color: transparent;
    color: #28a745;
  }
  .p-button.p-button-warning, .p-button-group.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning {
    color: #212529;
    background: #ffc107;
    border: 1px solid #ffc107;
  }
  .p-button.p-button-warning:not(:disabled):hover, .p-button-group.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover {
    background: #e0a800;
    color: #212529;
    border-color: #d39e00;
  }
  .p-button.p-button-warning:not(:disabled):focus, .p-button-group.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus {
    box-shadow: 0 0 0 0.2rem rgba(222, 170, 12, 0.5);
  }
  .p-button.p-button-warning:not(:disabled):active, .p-button-group.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active {
    background: #d39e00;
    color: #212529;
    border-color: #c69500;
  }
  .p-button.p-button-warning.p-button-outlined, .p-button-group.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined {
    background-color: transparent;
    color: #ffc107;
    border: 1px solid;
  }
  .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover {
    background: rgba(255, 193, 7, 0.04);
    color: #ffc107;
    border: 1px solid;
  }
  .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-button-group.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active {
    background: rgba(255, 193, 7, 0.16);
    color: #ffc107;
    border: 1px solid;
  }
  .p-button.p-button-warning.p-button-text, .p-button-group.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text {
    background-color: transparent;
    color: #ffc107;
    border-color: transparent;
  }
  .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-button-group.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover {
    background: rgba(255, 193, 7, 0.04);
    border-color: transparent;
    color: #ffc107;
  }
  .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-button-group.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active {
    background: rgba(255, 193, 7, 0.16);
    border-color: transparent;
    color: #ffc107;
  }
  .p-button.p-button-help, .p-button-group.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help {
    color: #ffffff;
    background: #6f42c1;
    border: 1px solid #6f42c1;
  }
  .p-button.p-button-help:not(:disabled):hover, .p-button-group.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover {
    background: #633bad;
    color: #ffffff;
    border-color: #58349a;
  }
  .p-button.p-button-help:not(:disabled):focus, .p-button-group.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus {
    box-shadow: 0 0 0 0.2rem #d3c6ec;
  }
  .p-button.p-button-help:not(:disabled):active, .p-button-group.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active {
    background: #58349a;
    color: #ffffff;
    border-color: #4d2e87;
  }
  .p-button.p-button-help.p-button-outlined, .p-button-group.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined {
    background-color: transparent;
    color: #6f42c1;
    border: 1px solid;
  }
  .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover {
    background: rgba(111, 66, 193, 0.04);
    color: #6f42c1;
    border: 1px solid;
  }
  .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-button-group.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active {
    background: rgba(111, 66, 193, 0.16);
    color: #6f42c1;
    border: 1px solid;
  }
  .p-button.p-button-help.p-button-text, .p-button-group.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text {
    background-color: transparent;
    color: #6f42c1;
    border-color: transparent;
  }
  .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-button-group.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover {
    background: rgba(111, 66, 193, 0.04);
    border-color: transparent;
    color: #6f42c1;
  }
  .p-button.p-button-help.p-button-text:not(:disabled):active, .p-button-group.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active {
    background: rgba(111, 66, 193, 0.16);
    border-color: transparent;
    color: #6f42c1;
  }
  .p-button.p-button-danger, .p-button-group.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger {
    color: #ffffff;
    background: #dc3545;
    border: 1px solid #dc3545;
  }
  .p-button.p-button-danger:not(:disabled):hover, .p-button-group.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover {
    background: #c82333;
    color: #ffffff;
    border-color: #bd2130;
  }
  .p-button.p-button-danger:not(:disabled):focus, .p-button-group.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus {
    box-shadow: 0 0 0 0.2rem rgba(225, 83, 97, 0.5);
  }
  .p-button.p-button-danger:not(:disabled):active, .p-button-group.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active {
    background: #bd2130;
    color: #ffffff;
    border-color: #b21f2d;
  }
  .p-button.p-button-danger.p-button-outlined, .p-button-group.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined {
    background-color: transparent;
    color: #dc3545;
    border: 1px solid;
  }
  .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover {
    background: rgba(220, 53, 69, 0.04);
    color: #dc3545;
    border: 1px solid;
  }
  .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-button-group.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active {
    background: rgba(220, 53, 69, 0.16);
    color: #dc3545;
    border: 1px solid;
  }
  .p-button.p-button-danger.p-button-text, .p-button-group.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text {
    background-color: transparent;
    color: #dc3545;
    border-color: transparent;
  }
  .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-button-group.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover {
    background: rgba(220, 53, 69, 0.04);
    border-color: transparent;
    color: #dc3545;
  }
  .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-button-group.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active {
    background: rgba(220, 53, 69, 0.16);
    border-color: transparent;
    color: #dc3545;
  }
  .p-button.p-button-contrast, .p-button-group.p-button-contrast > .p-button, .p-splitbutton.p-button-contrast > .p-button {
    color: #ffffff;
    background: #212529;
    border: 1px solid #212529;
  }
  .p-button.p-button-contrast:not(:disabled):hover, .p-button-group.p-button-contrast > .p-button:not(:disabled):hover, .p-splitbutton.p-button-contrast > .p-button:not(:disabled):hover {
    background: #343a40;
    color: #ffffff;
    border-color: #343a40;
  }
  .p-button.p-button-contrast:not(:disabled):focus, .p-button-group.p-button-contrast > .p-button:not(:disabled):focus, .p-splitbutton.p-button-contrast > .p-button:not(:disabled):focus {
    box-shadow: none;
  }
  .p-button.p-button-contrast:not(:disabled):active, .p-button-group.p-button-contrast > .p-button:not(:disabled):active, .p-splitbutton.p-button-contrast > .p-button:not(:disabled):active {
    background: #495057;
    color: #ffffff;
    border-color: #495057;
  }
  .p-button.p-button-contrast.p-button-outlined, .p-button-group.p-button-contrast > .p-button.p-button-outlined, .p-splitbutton.p-button-contrast > .p-button.p-button-outlined {
    background-color: transparent;
    color: #212529;
    border: 1px solid;
  }
  .p-button.p-button-contrast.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-contrast > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-contrast > .p-button.p-button-outlined:not(:disabled):hover {
    background: rgba(33, 37, 41, 0.04);
    color: #212529;
    border: 1px solid;
  }
  .p-button.p-button-contrast.p-button-outlined:not(:disabled):active, .p-button-group.p-button-contrast > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-contrast > .p-button.p-button-outlined:not(:disabled):active {
    background: rgba(33, 37, 41, 0.16);
    color: #212529;
    border: 1px solid;
  }
  .p-button.p-button-contrast.p-button-text, .p-button-group.p-button-contrast > .p-button.p-button-text, .p-splitbutton.p-button-contrast > .p-button.p-button-text {
    background-color: transparent;
    color: #212529;
    border-color: transparent;
  }
  .p-button.p-button-contrast.p-button-text:not(:disabled):hover, .p-button-group.p-button-contrast > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-contrast > .p-button.p-button-text:not(:disabled):hover {
    background: rgba(33, 37, 41, 0.04);
    border-color: transparent;
    color: #212529;
  }
  .p-button.p-button-contrast.p-button-text:not(:disabled):active, .p-button-group.p-button-contrast > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-contrast > .p-button.p-button-text:not(:disabled):active {
    background: rgba(33, 37, 41, 0.16);
    border-color: transparent;
    color: #212529;
  }
  .p-button.p-button-link {
    color: #007bff;
    background: transparent;
    border: transparent;
  }
  .p-button.p-button-link:not(:disabled):hover {
    background: transparent;
    color: #0069d9;
    border-color: transparent;
  }
  .p-button.p-button-link:not(:disabled):hover .p-button-label {
    text-decoration: underline;
  }
  .p-button.p-button-link:not(:disabled):focus {
    background: transparent;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    border-color: transparent;
  }
  .p-button.p-button-link:not(:disabled):active {
    background: transparent;
    color: #007bff;
    border-color: transparent;
  }
  .p-splitbutton {
    border-radius: 4px;
  }
  .p-splitbutton.p-button-outlined > .p-button {
    background-color: transparent;
    color: #007bff;
    border: 1px solid;
  }
  .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(0, 123, 255, 0.04);
    color: #007bff;
  }
  .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(0, 123, 255, 0.16);
    color: #007bff;
  }
  .p-splitbutton.p-button-outlined.p-button-plain > .p-button {
    color: #6c757d;
    border-color: #6c757d;
  }
  .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover {
    background: #e9ecef;
    color: #6c757d;
  }
  .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active {
    background: #dee2e6;
    color: #6c757d;
  }
  .p-splitbutton.p-button-text > .p-button {
    background-color: transparent;
    color: #007bff;
    border-color: transparent;
  }
  .p-splitbutton.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(0, 123, 255, 0.04);
    color: #007bff;
    border-color: transparent;
  }
  .p-splitbutton.p-button-text > .p-button:not(:disabled):active {
    background: rgba(0, 123, 255, 0.16);
    color: #007bff;
    border-color: transparent;
  }
  .p-splitbutton.p-button-text.p-button-plain > .p-button {
    color: #6c757d;
  }
  .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover {
    background: #e9ecef;
    color: #6c757d;
  }
  .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active {
    background: #dee2e6;
    color: #6c757d;
  }
  .p-splitbutton.p-button-raised {
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  }
  .p-splitbutton.p-button-rounded {
    border-radius: 2rem;
  }
  .p-splitbutton.p-button-rounded > .p-button {
    border-radius: 2rem;
  }
  .p-splitbutton.p-button-sm > .p-button {
    font-size: 0.875rem;
    padding: 0.4375rem 0.65625rem;
  }
  .p-splitbutton.p-button-sm > .p-button .p-button-icon {
    font-size: 0.875rem;
  }
  .p-splitbutton.p-button-lg > .p-button {
    font-size: 1.25rem;
    padding: 0.625rem 0.9375rem;
  }
  .p-splitbutton.p-button-lg > .p-button.p-button-icon-only {
    width: auto;
  }
  .p-splitbutton.p-button-lg > .p-button .p-button-icon {
    font-size: 1.25rem;
  }
  .p-splitbutton .p-splitbutton-menubutton,
  .p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button,
  .p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .p-splitbutton.p-button-secondary.p-button-outlined > .p-button {
    background-color: transparent;
    color: #6c757d;
    border: 1px solid;
  }
  .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(108, 117, 125, 0.04);
    color: #6c757d;
  }
  .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(108, 117, 125, 0.16);
    color: #6c757d;
  }
  .p-splitbutton.p-button-secondary.p-button-text > .p-button {
    background-color: transparent;
    color: #6c757d;
    border-color: transparent;
  }
  .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(108, 117, 125, 0.04);
    border-color: transparent;
    color: #6c757d;
  }
  .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active {
    background: rgba(108, 117, 125, 0.16);
    border-color: transparent;
    color: #6c757d;
  }
  .p-splitbutton.p-button-info.p-button-outlined > .p-button {
    background-color: transparent;
    color: #17a2b8;
    border: 1px solid;
  }
  .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(23, 162, 184, 0.04);
    color: #17a2b8;
  }
  .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(23, 162, 184, 0.16);
    color: #17a2b8;
  }
  .p-splitbutton.p-button-info.p-button-text > .p-button {
    background-color: transparent;
    color: #17a2b8;
    border-color: transparent;
  }
  .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(23, 162, 184, 0.04);
    border-color: transparent;
    color: #17a2b8;
  }
  .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active {
    background: rgba(23, 162, 184, 0.16);
    border-color: transparent;
    color: #17a2b8;
  }
  .p-splitbutton.p-button-success.p-button-outlined > .p-button {
    background-color: transparent;
    color: #28a745;
    border: 1px solid;
  }
  .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(40, 167, 69, 0.04);
    color: #28a745;
  }
  .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(40, 167, 69, 0.16);
    color: #28a745;
  }
  .p-splitbutton.p-button-success.p-button-text > .p-button {
    background-color: transparent;
    color: #28a745;
    border-color: transparent;
  }
  .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(40, 167, 69, 0.04);
    border-color: transparent;
    color: #28a745;
  }
  .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active {
    background: rgba(40, 167, 69, 0.16);
    border-color: transparent;
    color: #28a745;
  }
  .p-splitbutton.p-button-warning.p-button-outlined > .p-button {
    background-color: transparent;
    color: #ffc107;
    border: 1px solid;
  }
  .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(255, 193, 7, 0.04);
    color: #ffc107;
  }
  .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(255, 193, 7, 0.16);
    color: #ffc107;
  }
  .p-splitbutton.p-button-warning.p-button-text > .p-button {
    background-color: transparent;
    color: #ffc107;
    border-color: transparent;
  }
  .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(255, 193, 7, 0.04);
    border-color: transparent;
    color: #ffc107;
  }
  .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active {
    background: rgba(255, 193, 7, 0.16);
    border-color: transparent;
    color: #ffc107;
  }
  .p-splitbutton.p-button-help.p-button-outlined > .p-button {
    background-color: transparent;
    color: #6f42c1;
    border: 1px solid;
  }
  .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(111, 66, 193, 0.04);
    color: #6f42c1;
  }
  .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(111, 66, 193, 0.16);
    color: #6f42c1;
  }
  .p-splitbutton.p-button-help.p-button-text > .p-button {
    background-color: transparent;
    color: #6f42c1;
    border-color: transparent;
  }
  .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(111, 66, 193, 0.04);
    border-color: transparent;
    color: #6f42c1;
  }
  .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active {
    background: rgba(111, 66, 193, 0.16);
    border-color: transparent;
    color: #6f42c1;
  }
  .p-splitbutton.p-button-danger.p-button-outlined > .p-button {
    background-color: transparent;
    color: #dc3545;
    border: 1px solid;
  }
  .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(220, 53, 69, 0.04);
    color: #dc3545;
  }
  .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(220, 53, 69, 0.16);
    color: #dc3545;
  }
  .p-splitbutton.p-button-danger.p-button-text > .p-button {
    background-color: transparent;
    color: #dc3545;
    border-color: transparent;
  }
  .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(220, 53, 69, 0.04);
    border-color: transparent;
    color: #dc3545;
  }
  .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active {
    background: rgba(220, 53, 69, 0.16);
    border-color: transparent;
    color: #dc3545;
  }
  .p-speeddial-button.p-button.p-button-icon-only {
    width: 4rem;
    height: 4rem;
  }
  .p-speeddial-button.p-button.p-button-icon-only .p-button-icon {
    font-size: 1.3rem;
  }
  .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon {
    width: 1.3rem;
    height: 1.3rem;
  }
  .p-speeddial-list {
    outline: 0 none;
  }
  .p-speeddial-action {
    width: 3rem;
    height: 3rem;
    background: #495057;
    color: #fff;
  }
  .p-speeddial-action:hover {
    background: #343a40;
    color: #fff;
  }
  .p-speeddial-direction-up .p-speeddial-item {
    margin: 0.25rem;
  }
  .p-speeddial-direction-up .p-speeddial-item:first-child {
    margin-bottom: 0.5rem;
  }
  .p-speeddial-direction-down .p-speeddial-item {
    margin: 0.25rem;
  }
  .p-speeddial-direction-down .p-speeddial-item:first-child {
    margin-top: 0.5rem;
  }
  .p-speeddial-direction-left .p-speeddial-item {
    margin: 0 0.25rem;
  }
  .p-speeddial-direction-left .p-speeddial-item:first-child {
    margin-right: 0.5rem;
  }
  .p-speeddial-direction-right .p-speeddial-item {
    margin: 0 0.25rem;
  }
  .p-speeddial-direction-right .p-speeddial-item:first-child {
    margin-left: 0.5rem;
  }
  .p-speeddial-circle .p-speeddial-item,
  .p-speeddial-semi-circle .p-speeddial-item,
  .p-speeddial-quarter-circle .p-speeddial-item {
    margin: 0;
  }
  .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child,
  .p-speeddial-semi-circle .p-speeddial-item:first-child,
  .p-speeddial-semi-circle .p-speeddial-item:last-child,
  .p-speeddial-quarter-circle .p-speeddial-item:first-child,
  .p-speeddial-quarter-circle .p-speeddial-item:last-child {
    margin: 0;
  }
  .p-speeddial-mask {
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 4px;
  }
  .p-carousel .p-carousel-content .p-carousel-prev,
  .p-carousel .p-carousel-content .p-carousel-next {
    width: 2rem;
    height: 2rem;
    color: #6c757d;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover,
  .p-carousel .p-carousel-content .p-carousel-next:enabled:hover {
    color: #495057;
    border-color: transparent;
    background: transparent;
  }
  .p-carousel .p-carousel-content .p-carousel-prev:focus-visible,
  .p-carousel .p-carousel-content .p-carousel-next:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-carousel .p-carousel-content .p-carousel-prev,
  .p-carousel .p-carousel-content .p-carousel-next {
    margin: 0.5rem;
  }
  .p-carousel .p-carousel-indicators {
    padding: 1rem;
  }
  .p-carousel .p-carousel-indicators .p-carousel-indicator {
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .p-carousel .p-carousel-indicators .p-carousel-indicator button {
    background-color: #e9ecef;
    width: 2rem;
    height: 0.5rem;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover {
    background: #dee2e6;
  }
  .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button {
    background: #007bff;
    color: #ffffff;
  }
  .p-datatable .p-paginator-top {
    border-width: 1px 0 0 0;
    border-radius: 0;
  }
  .p-datatable .p-paginator-bottom {
    border-width: 1px 0 0 0;
    border-radius: 0;
  }
  .p-datatable .p-datatable-header {
    background: #efefef;
    color: #212529;
    border: solid #dee2e6;
    border-width: 1px 0 0 0;
    padding: 1rem 1rem;
    font-weight: 600;
  }
  .p-datatable .p-datatable-footer {
    background: #efefef;
    color: #212529;
    border: 1px solid #dee2e6;
    border-width: 1px 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 600;
  }
  .p-datatable .p-datatable-thead > tr > th {
    text-align: left;
    padding: 1rem 1rem;
    border: 1px solid #dee2e6;
    border-width: 1px 0 2px 0;
    font-weight: 600;
    color: #212529;
    background: #ffffff;
    transition: box-shadow 0.15s;
  }
  .p-datatable .p-datatable-tfoot > tr > td {
    text-align: left;
    padding: 1rem 1rem;
    border: 1px solid #dee2e6;
    border-width: 1px 0 1px 0;
    font-weight: 600;
    color: #212529;
    background: #ffffff;
  }
  .p-datatable .p-sortable-column .p-sortable-column-icon {
    color: #6c757d;
    margin-left: 0.5rem;
  }
  .p-datatable .p-sortable-column .p-sortable-column-badge {
    border-radius: 50%;
    height: 1.143rem;
    min-width: 1.143rem;
    line-height: 1.143rem;
    color: #ffffff;
    background: #007bff;
    margin-left: 0.5rem;
  }
  .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover {
    background: #e9ecef;
    color: #212529;
  }
  .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon {
    color: #6c757d;
  }
  .p-datatable .p-sortable-column.p-highlight {
    background: #ffffff;
    color: #007bff;
  }
  .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon {
    color: #007bff;
  }
  .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover {
    background: #e9ecef;
    color: #007bff;
  }
  .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon {
    color: #007bff;
  }
  .p-datatable .p-sortable-column:focus-visible {
    box-shadow: inset 0 0 0 0.15rem rgba(38, 143, 255, 0.5);
    outline: 0 none;
  }
  .p-datatable .p-datatable-tbody > tr {
    background: #ffffff;
    color: #212529;
    transition: box-shadow 0.15s;
  }
  .p-datatable .p-datatable-tbody > tr > td {
    text-align: left;
    border: 1px solid #dee2e6;
    border-width: 1px 0 0 0;
    padding: 1rem 1rem;
  }
  .p-datatable .p-datatable-tbody > tr > td .p-row-toggler,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-init,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel {
    width: 2rem;
    height: 2rem;
    color: #6c757d;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover {
    color: #495057;
    border-color: transparent;
    background: transparent;
  }
  .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save {
    margin-right: 0.5rem;
  }
  .p-datatable .p-datatable-tbody > tr > td > .p-column-title {
    font-weight: 600;
  }
  .p-datatable .p-datatable-tbody > tr > td.p-highlight {
    background: #007bff;
    color: #ffffff;
  }
  .p-datatable .p-datatable-tbody > tr.p-highlight {
    background: #007bff;
    color: #ffffff;
  }
  .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu {
    outline: 0.15rem solid rgba(38, 143, 255, 0.5);
    outline-offset: -0.15rem;
  }
  .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td {
    box-shadow: inset 0 2px 0 0 #007bff;
  }
  .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {
    box-shadow: inset 0 -2px 0 0 #007bff;
  }
  .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover {
    background: #e9ecef;
    color: #212529;
  }
  .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible {
    outline: 0.15rem solid rgba(38, 143, 255, 0.5);
    outline-offset: -0.15rem;
  }
  .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover {
    background: #e9ecef;
    color: #212529;
  }
  .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible {
    outline: 0.15rem solid rgba(38, 143, 255, 0.5);
    outline-offset: -0.15rem;
  }
  .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover {
    background: #e9ecef;
    color: #212529;
  }
  .p-datatable .p-column-resizer-helper {
    background: #007bff;
  }
  .p-datatable .p-datatable-scrollable-header,
  .p-datatable .p-datatable-scrollable-footer {
    background: #efefef;
  }
  .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead,
  .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead,
  .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot {
    background-color: #ffffff;
  }
  .p-datatable .p-datatable-loading-icon {
    font-size: 2rem;
  }
  .p-datatable .p-datatable-loading-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-header {
    border-width: 1px 1px 0 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-footer {
    border-width: 0 1px 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-paginator-top {
    border-width: 0 1px 0 1px;
  }
  .p-datatable.p-datatable-gridlines .p-paginator-bottom {
    border-width: 0 1px 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th {
    border-width: 1px 0 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child {
    border-width: 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td {
    border-width: 1px 0 0 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child {
    border-width: 1px 1px 0 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td {
    border-width: 1px 0 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child {
    border-width: 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td {
    border-width: 1px 0 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child {
    border-width: 1px 1px 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td {
    border-width: 0 0 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child {
    border-width: 0 1px 1px 1px;
  }
  .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td {
    border-width: 0 0 1px 1px;
  }
  .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child {
    border-width: 0 1px 1px 1px;
  }
  .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td {
    border-width: 0 0 0 1px;
  }
  .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child {
    border-width: 0 1px 0 1px;
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd {
    background: rgba(0, 0, 0, 0.05);
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight {
    background: #007bff;
    color: #ffffff;
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler {
    color: #ffffff;
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover {
    color: #ffffff;
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded {
    background: rgba(0, 0, 0, 0.05);
  }
  .p-datatable.p-datatable-sm .p-datatable-header {
    padding: 0.5rem 0.5rem;
  }
  .p-datatable.p-datatable-sm .p-datatable-thead > tr > th {
    padding: 0.5rem 0.5rem;
  }
  .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td {
    padding: 0.5rem 0.5rem;
  }
  .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td {
    padding: 0.5rem 0.5rem;
  }
  .p-datatable.p-datatable-sm .p-datatable-footer {
    padding: 0.5rem 0.5rem;
  }
  .p-datatable.p-datatable-lg .p-datatable-header {
    padding: 1.25rem 1.25rem;
  }
  .p-datatable.p-datatable-lg .p-datatable-thead > tr > th {
    padding: 1.25rem 1.25rem;
  }
  .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td {
    padding: 1.25rem 1.25rem;
  }
  .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td {
    padding: 1.25rem 1.25rem;
  }
  .p-datatable.p-datatable-lg .p-datatable-footer {
    padding: 1.25rem 1.25rem;
  }
  .p-datatable-drag-selection-helper {
    background: rgba(0, 123, 255, 0.16);
  }
  .p-dataview .p-paginator-top {
    border-width: 1px 0 0 0;
    border-radius: 0;
  }
  .p-dataview .p-paginator-bottom {
    border-width: 1px 0 0 0;
    border-radius: 0;
  }
  .p-dataview .p-dataview-header {
    background: #efefef;
    color: #212529;
    border: solid #dee2e6;
    border-width: 1px 0 0 0;
    padding: 1rem 1rem;
    font-weight: 600;
  }
  .p-dataview .p-dataview-content {
    background: #ffffff;
    color: #212529;
    border: 0 none;
    padding: 0;
  }
  .p-dataview .p-dataview-footer {
    background: #efefef;
    color: #212529;
    border: 1px solid #dee2e6;
    border-width: 1px 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 600;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .p-dataview .p-dataview-loading-icon {
    font-size: 2rem;
  }
  .p-dataview .p-dataview-loading-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-datascroller .p-paginator-top {
    border-width: 1px 0 0 0;
    border-radius: 0;
  }
  .p-datascroller .p-paginator-bottom {
    border-width: 1px 0 0 0;
    border-radius: 0;
  }
  .p-datascroller .p-datascroller-header {
    background: #efefef;
    color: #212529;
    border: solid #dee2e6;
    border-width: 1px 0 0 0;
    padding: 1rem 1rem;
    font-weight: 600;
  }
  .p-datascroller .p-datascroller-content {
    background: #ffffff;
    color: #212529;
    border: 0 none;
    padding: 0;
  }
  .p-datascroller.p-datascroller-inline .p-datascroller-list > li {
    border: 1px solid #dee2e6;
    border-width: 1px 0 0 0;
  }
  .p-datascroller .p-datascroller-footer {
    background: #efefef;
    color: #212529;
    border: 1px solid #dee2e6;
    border-width: 1px 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 600;
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .p-column-filter-row .p-column-filter-menu-button,
  .p-column-filter-row .p-column-filter-clear-button {
    margin-left: 0.5rem;
  }
  .p-column-filter-menu-button {
    width: 2rem;
    height: 2rem;
    color: #6c757d;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-column-filter-menu-button:hover {
    color: #495057;
    border-color: transparent;
    background: transparent;
  }
  .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover {
    background: transparent;
    color: #495057;
  }
  .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover {
    background: #007bff;
    color: #ffffff;
  }
  .p-column-filter-menu-button:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-column-filter-clear-button {
    width: 2rem;
    height: 2rem;
    color: #6c757d;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-column-filter-clear-button:hover {
    color: #495057;
    border-color: transparent;
    background: transparent;
  }
  .p-column-filter-clear-button:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-column-filter-overlay {
    background: #ffffff;
    color: #212529;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    box-shadow: none;
    min-width: 12.5rem;
  }
  .p-column-filter-overlay .p-column-filter-row-items {
    padding: 0.5rem 0;
  }
  .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item {
    margin: 0;
    padding: 0.5rem 1.5rem;
    border: 0 none;
    color: #212529;
    background: transparent;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight {
    color: #ffffff;
    background: #007bff;
  }
  .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover {
    color: #212529;
    background: #e9ecef;
  }
  .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem rgba(38, 143, 255, 0.5);
  }
  .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator {
    border-top: 1px solid #dee2e6;
    margin: 0.5rem 0;
  }
  .p-column-filter-overlay-menu .p-column-filter-operator {
    padding: 0.75rem 1.5rem;
    border-bottom: 1px solid #dee2e6;
    color: #212529;
    background: #efefef;
    margin: 0;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .p-column-filter-overlay-menu .p-column-filter-constraint {
    padding: 1.25rem;
    border-bottom: 1px solid #dee2e6;
  }
  .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown {
    margin-bottom: 0.5rem;
  }
  .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button {
    margin-top: 0.5rem;
  }
  .p-column-filter-overlay-menu .p-column-filter-constraint:last-child {
    border-bottom: 0 none;
  }
  .p-column-filter-overlay-menu .p-column-filter-add-rule {
    padding: 0.5rem 1.25rem;
  }
  .p-column-filter-overlay-menu .p-column-filter-buttonbar {
    padding: 1.25rem;
  }
  .p-orderlist .p-orderlist-controls {
    padding: 1.25rem;
  }
  .p-orderlist .p-orderlist-controls .p-button {
    margin-bottom: 0.5rem;
  }
  .p-orderlist .p-orderlist-header {
    background: #efefef;
    color: #212529;
    border: 1px solid #dee2e6;
    padding: 1rem 1.25rem;
    font-weight: 600;
    border-bottom: 0 none;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .p-orderlist .p-orderlist-filter-container {
    padding: 1rem 1.25rem;
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-bottom: 0 none;
  }
  .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input {
    padding-right: 1.75rem;
  }
  .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon {
    right: 0.75rem;
    color: #495057;
  }
  .p-orderlist .p-orderlist-list {
    border: 1px solid #dee2e6;
    background: #ffffff;
    color: #212529;
    padding: 0.5rem 0;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    outline: 0 none;
  }
  .p-orderlist .p-orderlist-list .p-orderlist-item {
    padding: 0.5rem 1.5rem;
    margin: 0;
    border: 0 none;
    color: #212529;
    background: transparent;
    transition: transform 0.15s, box-shadow 0.15s;
  }
  .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover {
    background: #e9ecef;
    color: #212529;
  }
  .p-orderlist .p-orderlist-list .p-orderlist-item.p-focus {
    color: #212529;
    background: #dee2e6;
  }
  .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight {
    color: #ffffff;
    background: #007bff;
  }
  .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight.p-focus {
    background: #0067d6;
  }
  .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) {
    background: rgba(0, 0, 0, 0.05);
  }
  .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover {
    background: #e9ecef;
  }
  .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover {
    background: #e9ecef;
    color: #212529;
  }
  .p-organizationchart .p-organizationchart-node-content.p-highlight {
    background: #007bff;
    color: #ffffff;
  }
  .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i {
    color: #003e80;
  }
  .p-organizationchart .p-organizationchart-line-down {
    background: #dee2e6;
  }
  .p-organizationchart .p-organizationchart-line-left {
    border-right: 1px solid #dee2e6;
    border-color: #dee2e6;
  }
  .p-organizationchart .p-organizationchart-line-top {
    border-top: 1px solid #dee2e6;
    border-color: #dee2e6;
  }
  .p-organizationchart .p-organizationchart-node-content {
    border: 1px solid #dee2e6;
    background: #ffffff;
    color: #212529;
    padding: 1.25rem;
  }
  .p-organizationchart .p-organizationchart-node-content .p-node-toggler {
    background: inherit;
    color: inherit;
    border-radius: 50%;
  }
  .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-paginator {
    background: #ffffff;
    color: #007bff;
    border: solid #dee2e6;
    border-width: 0;
    padding: 0.75rem;
    border-radius: 4px;
  }
  .p-paginator .p-paginator-first,
  .p-paginator .p-paginator-prev,
  .p-paginator .p-paginator-next,
  .p-paginator .p-paginator-last {
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    color: #007bff;
    min-width: 2.357rem;
    height: 2.357rem;
    margin: 0 0 0 -1px;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover,
  .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover,
  .p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover,
  .p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover {
    background: #e9ecef;
    border-color: #dee2e6;
    color: #007bff;
  }
  .p-paginator .p-paginator-first {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .p-paginator .p-paginator-last {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0;
  }
  .p-paginator .p-dropdown {
    margin-left: 0.5rem;
    height: 2.357rem;
  }
  .p-paginator .p-dropdown .p-dropdown-label {
    padding-right: 0;
  }
  .p-paginator .p-paginator-page-input {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
  .p-paginator .p-paginator-page-input .p-inputtext {
    max-width: 2.357rem;
  }
  .p-paginator .p-paginator-current {
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    color: #007bff;
    min-width: 2.357rem;
    height: 2.357rem;
    margin: 0 0 0 -1px;
    padding: 0 0.5rem;
  }
  .p-paginator .p-paginator-pages .p-paginator-page {
    background-color: #ffffff;
    border: 1px solid #dee2e6;
    color: #007bff;
    min-width: 2.357rem;
    height: 2.357rem;
    margin: 0 0 0 -1px;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-paginator .p-paginator-pages .p-paginator-page.p-highlight {
    background: #007bff;
    border-color: #007bff;
    color: #ffffff;
  }
  .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover {
    background: #e9ecef;
    border-color: #dee2e6;
    color: #007bff;
  }
  .p-picklist .p-picklist-buttons {
    padding: 1.25rem;
  }
  .p-picklist .p-picklist-buttons .p-button {
    margin-bottom: 0.5rem;
  }
  .p-picklist .p-picklist-header {
    background: #efefef;
    color: #212529;
    border: 1px solid #dee2e6;
    padding: 1rem 1.25rem;
    font-weight: 600;
    border-bottom: 0 none;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .p-picklist .p-picklist-filter-container {
    padding: 1rem 1.25rem;
    background: #ffffff;
    border: 1px solid #dee2e6;
    border-bottom: 0 none;
  }
  .p-picklist .p-picklist-filter-container .p-picklist-filter-input {
    padding-right: 1.75rem;
  }
  .p-picklist .p-picklist-filter-container .p-picklist-filter-icon {
    right: 0.75rem;
    color: #495057;
  }
  .p-picklist .p-picklist-list {
    border: 1px solid #dee2e6;
    background: #ffffff;
    color: #212529;
    padding: 0.5rem 0;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    outline: 0 none;
  }
  .p-picklist .p-picklist-list .p-picklist-item {
    padding: 0.5rem 1.5rem;
    margin: 0;
    border: 0 none;
    color: #212529;
    background: transparent;
    transition: transform 0.15s, box-shadow 0.15s;
  }
  .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover {
    background: #e9ecef;
    color: #212529;
  }
  .p-picklist .p-picklist-list .p-picklist-item.p-focus {
    color: #212529;
    background: #dee2e6;
  }
  .p-picklist .p-picklist-list .p-picklist-item.p-highlight {
    color: #ffffff;
    background: #007bff;
  }
  .p-picklist .p-picklist-list .p-picklist-item.p-highlight.p-focus {
    background: #0067d6;
  }
  .p-tree-container {
    margin: 0;
    padding: 0;
    list-style-type: none;
    overflow: auto;
  }
  .p-treenode-children {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  .p-treenode-selectable {
    cursor: pointer;
    user-select: none;
  }
  .p-tree-toggler {
    cursor: pointer;
    user-select: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
  }
  .p-treenode-leaf > .p-treenode-content .p-tree-toggler {
    visibility: hidden;
  }
  .p-treenode-content {
    display: flex;
    align-items: center;
  }
  .p-tree-filter {
    width: 100%;
  }
  .p-tree-filter-container {
    position: relative;
    display: block;
    width: 100%;
  }
  .p-tree-filter-icon {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
  }
  .p-tree-loading {
    position: relative;
    min-height: 4rem;
  }
  .p-tree .p-tree-loading-overlay {
    position: absolute;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .p-tree {
    border: 1px solid #dee2e6;
    background: #ffffff;
    color: #212529;
    padding: 1.25rem;
    border-radius: 4px;
  }
  .p-tree .p-tree-container .p-treenode {
    padding: 0.143rem;
    outline: 0 none;
  }
  .p-tree .p-tree-container .p-treenode:focus > .p-treenode-content {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem rgba(38, 143, 255, 0.5);
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content {
    border-radius: 4px;
    transition: box-shadow 0.15s;
    padding: 0.286rem;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler {
    margin-right: 0.5rem;
    width: 2rem;
    height: 2rem;
    color: #6c757d;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover {
    color: #495057;
    border-color: transparent;
    background: transparent;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon {
    margin-right: 0.5rem;
    color: #6c757d;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox {
    margin-right: 0.5rem;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox.p-indeterminate .p-checkbox-icon {
    color: #212529;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight {
    background: #007bff;
    color: #ffffff;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler,
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon {
    color: #ffffff;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover,
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover {
    color: #ffffff;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover {
    background: #e9ecef;
    color: #212529;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover {
    background: #e9ecef;
    color: #212529;
  }
  .p-tree .p-tree-filter-container {
    margin-bottom: 0.5rem;
  }
  .p-tree .p-tree-filter-container .p-tree-filter {
    width: 100%;
    padding-right: 1.75rem;
  }
  .p-tree .p-tree-filter-container .p-tree-filter-icon {
    right: 0.75rem;
    color: #495057;
  }
  .p-tree .p-treenode-children {
    padding: 0 0 0 1rem;
  }
  .p-tree .p-tree-loading-icon {
    font-size: 2rem;
  }
  .p-tree .p-tree-loading-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-tree .p-treenode-droppoint {
    height: 0.5rem;
  }
  .p-tree .p-treenode-droppoint.p-treenode-droppoint-active {
    background: #0062cc;
  }
  .p-treetable {
    position: relative;
  }
  .p-treetable > .p-treetable-wrapper {
    overflow: auto;
  }
  .p-treetable table {
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
  }
  .p-treetable .p-sortable-column {
    cursor: pointer;
    user-select: none;
  }
  .p-treetable-selectable .p-treetable-tbody > tr {
    cursor: pointer;
  }
  .p-treetable-toggler {
    cursor: pointer;
    user-select: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    vertical-align: middle;
    overflow: hidden;
    position: relative;
  }
  .p-treetable-toggler + .p-checkbox {
    vertical-align: middle;
  }
  .p-treetable-toggler + .p-checkbox + span {
    vertical-align: middle;
  }
  /* Resizable */
  .p-treetable-resizable > .p-treetable-wrapper {
    overflow-x: auto;
  }
  .p-treetable-resizable .p-treetable-thead > tr > th,
  .p-treetable-resizable .p-treetable-tfoot > tr > td,
  .p-treetable-resizable .p-treetable-tbody > tr > td {
    overflow: hidden;
  }
  .p-treetable-resizable .p-resizable-column {
    background-clip: padding-box;
    position: relative;
  }
  .p-treetable-resizable-fit .p-resizable-column:last-child .p-column-resizer {
    display: none;
  }
  .p-treetable .p-column-resizer {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    width: 0.5rem;
    height: 100%;
    padding: 0px;
    cursor: col-resize;
    border: 1px solid transparent;
  }
  .p-treetable .p-column-resizer-helper {
    width: 1px;
    position: absolute;
    z-index: 10;
    display: none;
  }
  /* Scrollable */
  .p-treetable-scrollable-wrapper {
    position: relative;
  }
  .p-treetable-scrollable-header,
  .p-treetable-scrollable-footer {
    overflow: hidden;
    border: 0 none;
  }
  .p-treetable-scrollable-body {
    overflow: auto;
    position: relative;
  }
  .p-treetable-virtual-table {
    position: absolute;
  }
  /* Frozen Columns */
  .p-treetable-frozen-view .p-treetable-scrollable-body {
    overflow: hidden;
  }
  .p-treetable-unfrozen-view {
    position: absolute;
    top: 0px;
    left: 0px;
  }
  /* Reorder */
  .p-treetable-reorder-indicator-up,
  .p-treetable-reorder-indicator-down {
    position: absolute;
    display: none;
  }
  /* Loader */
  .p-treetable .p-treetable-loading-overlay {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
  }
  /* Alignment */
  .p-treetable .p-treetable-thead > tr > th.p-align-left > .p-column-header-content,
  .p-treetable .p-treetable-tbody > tr > td.p-align-left,
  .p-treetable .p-treetable-tfoot > tr > td.p-align-left {
    text-align: left;
    justify-content: flex-start;
  }
  .p-treetable .p-treetable-thead > tr > th.p-align-right > .p-column-header-content,
  .p-treetable .p-treetable-tbody > tr > td.p-align-right,
  .p-treetable .p-treetable-tfoot > tr > td.p-align-right {
    text-align: right;
    justify-content: flex-end;
  }
  .p-treetable .p-treetable-thead > tr > th.p-align-center > .p-column-header-content,
  .p-treetable .p-treetable-tbody > tr > td.p-align-center,
  .p-treetable .p-treetable-tfoot > tr > td.p-align-center {
    text-align: center;
    justify-content: center;
  }
  .p-treetable .p-paginator-top {
    border-width: 1px 0 0 0;
    border-radius: 0;
  }
  .p-treetable .p-paginator-bottom {
    border-width: 1px 0 0 0;
    border-radius: 0;
  }
  .p-treetable .p-treetable-header {
    background: #efefef;
    color: #212529;
    border: solid #dee2e6;
    border-width: 1px 0 0 0;
    padding: 1rem 1rem;
    font-weight: 600;
  }
  .p-treetable .p-treetable-footer {
    background: #efefef;
    color: #212529;
    border: 1px solid #dee2e6;
    border-width: 1px 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 600;
  }
  .p-treetable .p-treetable-thead > tr > th {
    text-align: left;
    padding: 1rem 1rem;
    border: 1px solid #dee2e6;
    border-width: 1px 0 2px 0;
    font-weight: 600;
    color: #212529;
    background: #ffffff;
    transition: box-shadow 0.15s;
  }
  .p-treetable .p-treetable-tfoot > tr > td {
    text-align: left;
    padding: 1rem 1rem;
    border: 1px solid #dee2e6;
    border-width: 1px 0 1px 0;
    font-weight: 600;
    color: #212529;
    background: #ffffff;
  }
  .p-treetable .p-sortable-column {
    outline-color: rgba(38, 143, 255, 0.5);
  }
  .p-treetable .p-sortable-column .p-sortable-column-icon {
    color: #6c757d;
    margin-left: 0.5rem;
  }
  .p-treetable .p-sortable-column .p-sortable-column-badge {
    border-radius: 50%;
    height: 1.143rem;
    min-width: 1.143rem;
    line-height: 1.143rem;
    color: #ffffff;
    background: #007bff;
    margin-left: 0.5rem;
  }
  .p-treetable .p-sortable-column:not(.p-highlight):hover {
    background: #e9ecef;
    color: #212529;
  }
  .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon {
    color: #6c757d;
  }
  .p-treetable .p-sortable-column.p-highlight {
    background: #ffffff;
    color: #007bff;
  }
  .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon {
    color: #007bff;
  }
  .p-treetable .p-treetable-tbody > tr {
    background: #ffffff;
    color: #212529;
    transition: box-shadow 0.15s;
  }
  .p-treetable .p-treetable-tbody > tr > td {
    text-align: left;
    border: 1px solid #dee2e6;
    border-width: 1px 0 0 0;
    padding: 1rem 1rem;
  }
  .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler {
    width: 2rem;
    height: 2rem;
    color: #6c757d;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover {
    color: #495057;
    border-color: transparent;
    background: transparent;
  }
  .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler {
    margin-right: 0.5rem;
  }
  .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox {
    margin-right: 0.5rem;
  }
  .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon {
    color: #212529;
  }
  .p-treetable .p-treetable-tbody > tr:focus-visible {
    outline: 0.15rem solid rgba(38, 143, 255, 0.5);
    outline-offset: -0.15rem;
  }
  .p-treetable .p-treetable-tbody > tr.p-highlight {
    background: #007bff;
    color: #ffffff;
  }
  .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler {
    color: #ffffff;
  }
  .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover {
    color: #ffffff;
  }
  .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover {
    background: #e9ecef;
    color: #212529;
  }
  .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler {
    color: #212529;
  }
  .p-treetable .p-column-resizer-helper {
    background: #007bff;
  }
  .p-treetable .p-treetable-scrollable-header,
  .p-treetable .p-treetable-scrollable-footer {
    background: #efefef;
  }
  .p-treetable .p-treetable-loading-icon {
    font-size: 2rem;
  }
  .p-treetable .p-treetable-loading-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-header {
    border-width: 1px 1px 0 1px;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-footer {
    border-width: 0 1px 1px 1px;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-top {
    border-width: 0 1px 0 1px;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-bottom {
    border-width: 0 1px 1px 1px;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th {
    border-width: 1px;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td {
    border-width: 1px;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td {
    border-width: 1px;
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd {
    background: rgba(0, 0, 0, 0.05);
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight {
    background: #007bff;
    color: #ffffff;
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler {
    color: #ffffff;
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover {
    color: #ffffff;
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded {
    background: rgba(0, 0, 0, 0.05);
  }
  .p-treetable.p-treetable-sm .p-treetable-header {
    padding: 0.875rem 0.875rem;
  }
  .p-treetable.p-treetable-sm .p-treetable-thead > tr > th {
    padding: 0.5rem 0.5rem;
  }
  .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td {
    padding: 0.5rem 0.5rem;
  }
  .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td {
    padding: 0.5rem 0.5rem;
  }
  .p-treetable.p-treetable-sm .p-treetable-footer {
    padding: 0.5rem 0.5rem;
  }
  .p-treetable.p-treetable-lg .p-treetable-header {
    padding: 1.25rem 1.25rem;
  }
  .p-treetable.p-treetable-lg .p-treetable-thead > tr > th {
    padding: 1.25rem 1.25rem;
  }
  .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td {
    padding: 1.25rem 1.25rem;
  }
  .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td {
    padding: 1.25rem 1.25rem;
  }
  .p-treetable.p-treetable-lg .p-treetable-footer {
    padding: 1.25rem 1.25rem;
  }
  .p-timeline .p-timeline-event-marker {
    border: 0 none;
    border-radius: 50%;
    width: 1rem;
    height: 1rem;
    background-color: #007bff;
  }
  .p-timeline .p-timeline-event-connector {
    background-color: #dee2e6;
  }
  .p-timeline.p-timeline-vertical .p-timeline-event-opposite,
  .p-timeline.p-timeline-vertical .p-timeline-event-content {
    padding: 0 1rem;
  }
  .p-timeline.p-timeline-vertical .p-timeline-event-connector {
    width: 2px;
  }
  .p-timeline.p-timeline-horizontal .p-timeline-event-opposite,
  .p-timeline.p-timeline-horizontal .p-timeline-event-content {
    padding: 1rem 0;
  }
  .p-timeline.p-timeline-horizontal .p-timeline-event-connector {
    height: 2px;
  }
  .p-accordion .p-accordion-header .p-accordion-header-link {
    padding: 1rem 1.25rem;
    border: 1px solid #dee2e6;
    color: #212529;
    background: #efefef;
    font-weight: 600;
    border-radius: 4px;
    transition: box-shadow 0.15s;
  }
  .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon {
    margin-right: 0.5rem;
  }
  .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link {
    background: #e9ecef;
    border-color: #dee2e6;
    color: #212529;
  }
  .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link {
    background: #efefef;
    border-color: #dee2e6;
    color: #212529;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
  .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link {
    border-color: #dee2e6;
    background: #e9ecef;
    color: #212529;
  }
  .p-accordion .p-accordion-content {
    padding: 1.25rem;
    border: 1px solid #dee2e6;
    background: #ffffff;
    color: #212529;
    border-top: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .p-accordion .p-accordion-tab {
    margin-bottom: 0;
  }
  .p-accordion .p-accordion-tab .p-accordion-header .p-accordion-header-link {
    border-radius: 0;
  }
  .p-accordion .p-accordion-tab .p-accordion-content {
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
  .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header .p-accordion-header-link {
    border-top: 0 none;
  }
  .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link, .p-accordion .p-accordion-tab:not(:first-child) .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link {
    border-top: 0 none;
  }
  .p-accordion .p-accordion-tab:first-child .p-accordion-header .p-accordion-header-link {
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-header-link {
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .p-accordion .p-accordion-tab:last-child .p-accordion-header:not(.p-highlight) .p-accordion-content {
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .p-card {
    background: #ffffff;
    color: #212529;
    box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);
    border-radius: 4px;
  }
  .p-card .p-card-body {
    padding: 1.5rem;
  }
  .p-card .p-card-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
  }
  .p-card .p-card-subtitle {
    font-weight: 400;
    margin-bottom: 0.5rem;
    color: #6c757d;
  }
  .p-card .p-card-content {
    padding: 1rem 0;
  }
  .p-card .p-card-footer {
    padding: 1rem 0 0 0;
  }
  .p-fieldset {
    border: 1px solid #dee2e6;
    background: #ffffff;
    color: #212529;
    border-radius: 4px;
  }
  .p-fieldset .p-fieldset-legend {
    padding: 1rem 1.25rem;
    border: 1px solid #dee2e6;
    color: #212529;
    background: #efefef;
    font-weight: 600;
    border-radius: 4px;
  }
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend {
    padding: 0;
    transition: box-shadow 0.15s;
  }
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a {
    padding: 1rem 1.25rem;
    color: #212529;
    border-radius: 4px;
    transition: box-shadow 0.15s;
  }
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler {
    margin-right: 0.5rem;
  }
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover {
    background: #e9ecef;
    border-color: #dee2e6;
    color: #212529;
  }
  .p-fieldset .p-fieldset-content {
    padding: 1.25rem;
  }
  .p-divider .p-divider-content {
    background-color: #ffffff;
  }
  .p-divider.p-divider-horizontal {
    margin: 1rem 0;
    padding: 0 1rem;
  }
  .p-divider.p-divider-horizontal:before {
    border-top: 1px #dee2e6;
  }
  .p-divider.p-divider-horizontal .p-divider-content {
    padding: 0 0.5rem;
  }
  .p-divider.p-divider-vertical {
    margin: 0 1rem;
    padding: 1rem 0;
  }
  .p-divider.p-divider-vertical:before {
    border-left: 1px #dee2e6;
  }
  .p-divider.p-divider-vertical .p-divider-content {
    padding: 0.5rem 0;
  }
  .p-panel .p-panel-header {
    border: 1px solid #dee2e6;
    padding: 1rem 1.25rem;
    background: #efefef;
    color: #212529;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .p-panel .p-panel-header .p-panel-title {
    font-weight: 600;
  }
  .p-panel .p-panel-header .p-panel-header-icon {
    width: 2rem;
    height: 2rem;
    color: #6c757d;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-panel .p-panel-header .p-panel-header-icon:enabled:hover {
    color: #495057;
    border-color: transparent;
    background: transparent;
  }
  .p-panel .p-panel-header .p-panel-header-icon:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-panel.p-panel-toggleable .p-panel-header {
    padding: 0.5rem 1.25rem;
  }
  .p-panel:has(> .p-panel-footer) .p-panel-content {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .p-panel .p-panel-content {
    padding: 1.25rem;
    border: 1px solid #dee2e6;
    background: #ffffff;
    color: #212529;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
    border-top: 0 none;
  }
  .p-panel .p-panel-footer {
    padding: 0.5rem 1.25rem;
    border: 1px solid #dee2e6;
    background: #ffffff;
    color: #212529;
    border-top: 0 none;
  }
  .p-splitter {
    border: 1px solid #dee2e6;
    background: #ffffff;
    border-radius: 4px;
    color: #212529;
  }
  .p-splitter .p-splitter-gutter {
    transition: box-shadow 0.15s;
    background: #efefef;
  }
  .p-splitter .p-splitter-gutter .p-splitter-gutter-handle {
    background: #dee2e6;
  }
  .p-splitter .p-splitter-gutter .p-splitter-gutter-handle:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-splitter .p-splitter-gutter-resizing {
    background: #dee2e6;
  }
  .p-stepper .p-stepper-nav {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  .p-stepper .p-stepper-header {
    padding: 0.5rem;
  }
  .p-stepper .p-stepper-header .p-stepper-action {
    transition: box-shadow 0.15s;
    border-radius: 4px;
    background: transparent;
    outline-color: transparent;
  }
  .p-stepper .p-stepper-header .p-stepper-action .p-stepper-number {
    color: #212529;
    border: 1px solid #dee2e6;
    border-width: 2px;
    background: transparent;
    min-width: 2rem;
    height: 2rem;
    line-height: 2rem;
    font-size: 1.143rem;
    border-radius: 4px;
    transition: box-shadow 0.15s;
  }
  .p-stepper .p-stepper-header .p-stepper-action .p-stepper-title {
    margin-left: 0.5rem;
    color: #6c757d;
    font-weight: 600;
    transition: box-shadow 0.15s;
  }
  .p-stepper .p-stepper-header .p-stepper-action:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-stepper .p-stepper-header.p-highlight .p-stepper-number {
    background: #007bff;
    color: #ffffff;
  }
  .p-stepper .p-stepper-header.p-highlight .p-stepper-title {
    color: #212529;
  }
  .p-stepper .p-stepper-header:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-stepper .p-stepper-header:has(~ .p-highlight) .p-stepper-separator {
    background-color: #007bff;
  }
  .p-stepper .p-stepper-panels {
    background: #ffffff;
    padding: 1.25rem;
    color: #212529;
  }
  .p-stepper .p-stepper-separator {
    background-color: #dee2e6;
    width: 100%;
    height: 2px;
    margin-inline-start: 1rem;
    transition: box-shadow 0.15s;
  }
  .p-stepper.p-stepper-vertical {
    display: flex;
    flex-direction: column;
  }
  .p-stepper.p-stepper-vertical .p-stepper-toggleable-content {
    display: flex;
    flex: 1 1 auto;
    background: #ffffff;
    color: #212529;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel {
    display: flex;
    flex-direction: column;
    flex: initial;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel.p-stepper-panel-active {
    flex: 1 1 auto;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-header {
    flex: initial;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-content {
    width: 100%;
    padding-left: 1rem;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-separator {
    flex: 0 0 auto;
    width: 2px;
    height: auto;
    margin-inline-start: calc(1.75rem + 2px);
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel:has(~ .p-stepper-panel-active) .p-stepper-separator {
    background-color: #007bff;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel:last-of-type .p-stepper-content {
    padding-left: 3rem;
  }
  .p-scrollpanel .p-scrollpanel-bar {
    background: #efefef;
    border: 0 none;
  }
  .p-scrollpanel .p-scrollpanel-bar:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-tabview-nav-container {
    position: relative;
  }
  .p-tabview-scrollable .p-tabview-nav-container {
    overflow: hidden;
  }
  .p-tabview-nav-content {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
    overscroll-behavior: contain auto;
    position: relative;
  }
  .p-tabview-nav {
    display: flex;
    margin: 0;
    padding: 0;
    list-style-type: none;
    flex: 1 1 auto;
  }
  .p-tabview-nav-link {
    cursor: pointer;
    user-select: none;
    display: flex;
    align-items: center;
    position: relative;
    text-decoration: none;
    overflow: hidden;
  }
  .p-tabview-ink-bar {
    display: none;
    z-index: 1;
  }
  .p-tabview-nav-link:focus {
    z-index: 1;
  }
  .p-tabview-close {
    z-index: 1;
  }
  .p-tabview-title {
    line-height: 1;
    white-space: nowrap;
  }
  .p-tabview-nav-btn {
    position: absolute;
    top: 0;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .p-tabview-nav-prev {
    left: 0;
  }
  .p-tabview-nav-next {
    right: 0;
  }
  .p-tabview-nav-content::-webkit-scrollbar {
    display: none;
  }
  .p-tabview .p-tabview-nav {
    background: transparent;
    border: 1px solid #dee2e6;
    border-width: 0 0 1px 0;
  }
  .p-tabview .p-tabview-nav li {
    margin-right: 0;
  }
  .p-tabview .p-tabview-nav li .p-tabview-nav-link {
    border: solid;
    border-width: 1px;
    border-color: #ffffff #ffffff #dee2e6 #ffffff;
    background: #ffffff;
    color: #6c757d;
    padding: 0.75rem 1rem;
    font-weight: 600;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
    transition: box-shadow 0.15s;
    margin: 0 0 -1px 0;
  }
  .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link {
    background: #ffffff;
    border-color: #dee2e6;
    color: #6c757d;
  }
  .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link {
    background: #ffffff;
    border-color: #dee2e6 #dee2e6 #ffffff #dee2e6;
    color: #495057;
  }
  .p-tabview .p-tabview-close {
    margin-left: 0.5rem;
  }
  .p-tabview .p-tabview-nav-btn.p-link {
    background: #ffffff;
    color: #495057;
    width: 2.357rem;
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    border-radius: 0;
  }
  .p-tabview .p-tabview-nav-btn.p-link:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-tabview .p-tabview-panels {
    background: #ffffff;
    padding: 1.25rem;
    border: 0 none;
    color: #212529;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .p-toolbar {
    background: #efefef;
    border: 1px solid #dee2e6;
    padding: 1rem 1.25rem;
    border-radius: 4px;
    gap: 0.5rem;
  }
  .p-toolbar .p-toolbar-separator {
    margin: 0 0.5rem;
  }
  .p-confirm-popup {
    background: #ffffff;
    color: #212529;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    box-shadow: none;
  }
  .p-confirm-popup .p-confirm-popup-content {
    padding: 1.25rem;
  }
  .p-confirm-popup .p-confirm-popup-footer {
    text-align: right;
    padding: 0 1.25rem 1.25rem 1.25rem;
  }
  .p-confirm-popup .p-confirm-popup-footer button {
    margin: 0 0.5rem 0 0;
    width: auto;
  }
  .p-confirm-popup .p-confirm-popup-footer button:last-child {
    margin: 0;
  }
  .p-confirm-popup:after {
    border: solid transparent;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #ffffff;
  }
  .p-confirm-popup:before {
    border: solid transparent;
    border-color: rgba(0, 0, 0, 0);
    border-bottom-color: rgba(0, 0, 0, 0.2);
  }
  .p-confirm-popup.p-confirm-popup-flipped:after {
    border-top-color: #ffffff;
  }
  .p-confirm-popup.p-confirm-popup-flipped:before {
    border-top-color: rgba(0, 0, 0, 0.2);
  }
  .p-confirm-popup .p-confirm-popup-icon {
    font-size: 1.5rem;
  }
  .p-confirm-popup .p-confirm-popup-icon.p-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
  .p-confirm-popup .p-confirm-popup-message {
    margin-left: 1rem;
  }
  .p-dialog {
    border-radius: 4px;
    box-shadow: none;
    border: 1px solid rgba(0, 0, 0, 0.2);
  }
  .p-dialog .p-dialog-header {
    border-bottom: 1px solid #e9ecef;
    background: #ffffff;
    color: #212529;
    padding: 1rem;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .p-dialog .p-dialog-header .p-dialog-title {
    font-weight: 600;
    font-size: 1.25rem;
  }
  .p-dialog .p-dialog-header .p-dialog-header-icon {
    width: 2rem;
    height: 2rem;
    color: #6c757d;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover {
    color: #495057;
    border-color: transparent;
    background: transparent;
  }
  .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-dialog .p-dialog-header .p-dialog-header-icon {
    margin-right: 0.5rem;
  }
  .p-dialog .p-dialog-header .p-dialog-header-icon:last-child {
    margin-right: 0;
  }
  .p-dialog .p-dialog-content {
    background: #ffffff;
    color: #212529;
    padding: 1rem;
  }
  .p-dialog .p-dialog-content:last-of-type {
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .p-dialog .p-dialog-footer {
    border-top: 1px solid #e9ecef;
    background: #ffffff;
    color: #212529;
    padding: 1rem;
    text-align: right;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .p-dialog .p-dialog-footer button {
    margin: 0 0.5rem 0 0;
    width: auto;
  }
  .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type {
    border-radius: 0;
  }
  .p-dialog.p-confirm-dialog .p-confirm-dialog-icon {
    font-size: 2rem;
  }
  .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-dialog.p-confirm-dialog .p-confirm-dialog-message {
    margin-left: 1rem;
  }
  .p-overlaypanel {
    background: #ffffff;
    color: #212529;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 4px;
    box-shadow: none;
  }
  .p-overlaypanel .p-overlaypanel-content {
    padding: 1.25rem;
  }
  .p-overlaypanel .p-overlaypanel-close {
    background: #007bff;
    color: #ffffff;
    width: 2rem;
    height: 2rem;
    transition: box-shadow 0.15s;
    border-radius: 50%;
    position: absolute;
    top: -1rem;
    right: -1rem;
  }
  .p-overlaypanel .p-overlaypanel-close:enabled:hover {
    background: #0069d9;
    color: #ffffff;
  }
  .p-overlaypanel:after {
    border: solid transparent;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #ffffff;
  }
  .p-overlaypanel:before {
    border: solid transparent;
    border-color: rgba(0, 0, 0, 0);
    border-bottom-color: rgba(0, 0, 0, 0.2);
  }
  .p-overlaypanel.p-overlaypanel-flipped:after {
    border-top-color: #ffffff;
  }
  .p-overlaypanel.p-overlaypanel-flipped:before {
    border-top-color: rgba(0, 0, 0, 0.2);
  }
  .p-sidebar {
    background: #ffffff;
    color: #212529;
    border: 1px solid rgba(0, 0, 0, 0.2);
    box-shadow: none;
  }
  .p-sidebar .p-sidebar-header {
    padding: 1rem 1.25rem;
  }
  .p-sidebar .p-sidebar-header .p-sidebar-close,
  .p-sidebar .p-sidebar-header .p-sidebar-icon {
    width: 2rem;
    height: 2rem;
    color: #6c757d;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover,
  .p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover {
    color: #495057;
    border-color: transparent;
    background: transparent;
  }
  .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible,
  .p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-sidebar .p-sidebar-header + .p-sidebar-content {
    padding-top: 0;
  }
  .p-sidebar .p-sidebar-content {
    padding: 1.25rem;
  }
  .p-tooltip .p-tooltip-text {
    background: #212529;
    color: #ffffff;
    padding: 0.5rem 0.75rem;
    box-shadow: none;
    border-radius: 4px;
  }
  .p-tooltip.p-tooltip-right .p-tooltip-arrow {
    border-right-color: #212529;
  }
  .p-tooltip.p-tooltip-left .p-tooltip-arrow {
    border-left-color: #212529;
  }
  .p-tooltip.p-tooltip-top .p-tooltip-arrow {
    border-top-color: #212529;
  }
  .p-tooltip.p-tooltip-bottom .p-tooltip-arrow {
    border-bottom-color: #212529;
  }
  .p-fileupload .p-fileupload-buttonbar {
    background: #efefef;
    padding: 1rem 1.25rem;
    border: 1px solid #dee2e6;
    color: #212529;
    border-bottom: 0 none;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
    gap: 0.5rem;
  }
  .p-fileupload .p-fileupload-buttonbar .p-button {
    margin-right: 0.5rem;
  }
  .p-fileupload .p-fileupload-content {
    background: #ffffff;
    padding: 2rem 1rem;
    border: 1px solid #dee2e6;
    color: #212529;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .p-fileupload .p-progressbar {
    height: 0.25rem;
  }
  .p-fileupload .p-fileupload-row > div {
    padding: 1rem 1rem;
  }
  .p-fileupload.p-fileupload-advanced .p-message {
    margin-top: 0;
  }
  .p-breadcrumb {
    background: #efefef;
    border: 0 none;
    border-radius: 4px;
    padding: 1rem;
  }
  .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link {
    transition: box-shadow 0.15s;
    border-radius: 4px;
  }
  .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text {
    color: #007bff;
  }
  .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon {
    color: #007bff;
  }
  .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator {
    margin: 0 0.5rem 0 0.5rem;
    color: #6c757d;
  }
  .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text {
    color: #6c757d;
  }
  .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon {
    color: #6c757d;
  }
  .p-contextmenu {
    padding: 0.5rem 0;
    background: #ffffff;
    color: #212529;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: none;
    border-radius: 4px;
    width: 12.5rem;
  }
  .p-contextmenu .p-contextmenu-root-list {
    outline: 0 none;
  }
  .p-contextmenu .p-submenu-list {
    padding: 0.5rem 0;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: none;
    border-radius: 4px;
  }
  .p-contextmenu .p-menuitem > .p-menuitem-content {
    color: #212529;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-contextmenu .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: #212529;
    padding: 0.75rem 1rem;
    user-select: none;
  }
  .p-contextmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-contextmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #212529;
    margin-right: 0.5rem;
  }
  .p-contextmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content {
    color: #212529;
    background: #e9ecef;
  }
  .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-contextmenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: #e9ecef;
  }
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #212529;
    background: #dee2e6;
  }
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #212529;
    background: #e9ecef;
  }
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-contextmenu .p-menuitem-separator {
    border-top: 1px solid #dee2e6;
    margin: 0.5rem 0;
  }
  .p-contextmenu .p-submenu-icon {
    font-size: 0.875rem;
  }
  .p-contextmenu .p-submenu-icon.p-icon {
    width: 0.875rem;
    height: 0.875rem;
  }
  .p-dock .p-dock-list-container {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 0.5rem 0.5rem;
    border-radius: 0.5rem;
  }
  .p-dock .p-dock-list-container .p-dock-list {
    outline: 0 none;
  }
  .p-dock .p-dock-item {
    padding: 0.5rem;
    border-radius: 4px;
  }
  .p-dock .p-dock-item.p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem rgba(38, 143, 255, 0.5);
  }
  .p-dock .p-dock-action {
    width: 4rem;
    height: 4rem;
  }
  .p-dock.p-dock-top .p-dock-item-second-prev,
  .p-dock.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-bottom .p-dock-item-second-prev,
  .p-dock.p-dock-bottom .p-dock-item-second-next {
    margin: 0 0.9rem;
  }
  .p-dock.p-dock-top .p-dock-item-prev,
  .p-dock.p-dock-top .p-dock-item-next, .p-dock.p-dock-bottom .p-dock-item-prev,
  .p-dock.p-dock-bottom .p-dock-item-next {
    margin: 0 1.3rem;
  }
  .p-dock.p-dock-top .p-dock-item-current, .p-dock.p-dock-bottom .p-dock-item-current {
    margin: 0 1.5rem;
  }
  .p-dock.p-dock-left .p-dock-item-second-prev,
  .p-dock.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-right .p-dock-item-second-prev,
  .p-dock.p-dock-right .p-dock-item-second-next {
    margin: 0.9rem 0;
  }
  .p-dock.p-dock-left .p-dock-item-prev,
  .p-dock.p-dock-left .p-dock-item-next, .p-dock.p-dock-right .p-dock-item-prev,
  .p-dock.p-dock-right .p-dock-item-next {
    margin: 1.3rem 0;
  }
  .p-dock.p-dock-left .p-dock-item-current, .p-dock.p-dock-right .p-dock-item-current {
    margin: 1.5rem 0;
  }
  .p-dock.p-dock-mobile.p-dock-top .p-dock-list-container, .p-dock.p-dock-mobile.p-dock-bottom .p-dock-list-container {
    overflow-x: auto;
    width: 100%;
  }
  .p-dock.p-dock-mobile.p-dock-top .p-dock-list-container .p-dock-list, .p-dock.p-dock-mobile.p-dock-bottom .p-dock-list-container .p-dock-list {
    margin: 0 auto;
  }
  .p-dock.p-dock-mobile.p-dock-left .p-dock-list-container, .p-dock.p-dock-mobile.p-dock-right .p-dock-list-container {
    overflow-y: auto;
    height: 100%;
  }
  .p-dock.p-dock-mobile.p-dock-left .p-dock-list-container .p-dock-list, .p-dock.p-dock-mobile.p-dock-right .p-dock-list-container .p-dock-list {
    margin: auto 0;
  }
  .p-dock.p-dock-mobile .p-dock-list .p-dock-item {
    transform: none;
    margin: 0;
  }
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-top .p-dock-item-second-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-top .p-dock-item-second-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-top .p-dock-item-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-top .p-dock-item-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-mobile.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-bottom .p-dock-item-second-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-bottom .p-dock-item-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-bottom .p-dock-item-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-mobile.p-dock-magnification.p-dock-left .p-dock-item-second-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-left .p-dock-item-second-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-left .p-dock-item-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-left .p-dock-item-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-mobile.p-dock-magnification.p-dock-right .p-dock-item-second-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-right .p-dock-item-second-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-right .p-dock-item-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-right .p-dock-item-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-right .p-dock-item-current {
    transform: none;
    margin: 0;
  }
  .p-megamenu {
    padding: 0.5rem 1rem;
    background: #efefef;
    color: rgba(0, 0, 0, 0.9);
    border: 0 none;
    border-radius: 4px;
  }
  .p-megamenu .p-megamenu-root-list {
    outline: 0 none;
  }
  .p-megamenu .p-menuitem > .p-menuitem-content {
    color: #212529;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-megamenu .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: #212529;
    padding: 0.75rem 1rem;
    user-select: none;
  }
  .p-megamenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-megamenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #212529;
    margin-right: 0.5rem;
  }
  .p-megamenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content {
    color: #212529;
    background: #e9ecef;
  }
  .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-megamenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: #e9ecef;
  }
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #212529;
    background: #dee2e6;
  }
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #212529;
    background: #e9ecef;
  }
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-megamenu .p-megamenu-panel {
    background: #ffffff;
    color: #212529;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: none;
  }
  .p-megamenu .p-submenu-header {
    margin: 0;
    padding: 0.75rem 1rem;
    color: #212529;
    background: #ffffff;
    font-weight: 600;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .p-megamenu .p-submenu-list {
    padding: 0.5rem 0;
    width: 12.5rem;
  }
  .p-megamenu .p-submenu-list .p-menuitem-separator {
    border-top: 1px solid #dee2e6;
    margin: 0.5rem 0;
  }
  .p-megamenu.p-megamenu-vertical {
    width: 12.5rem;
    padding: 0.5rem 0;
  }
  .p-megamenu .p-megamenu-button {
    width: 2rem;
    height: 2rem;
    color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-megamenu .p-megamenu-button:hover {
    color: rgba(0, 0, 0, 0.7);
    background: transparent;
  }
  .p-megamenu .p-megamenu-button:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content {
    color: rgba(0, 0, 0, 0.5);
    transition: box-shadow 0.15s;
    border-radius: 4px;
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link {
    padding: 1rem;
    user-select: none;
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: rgba(0, 0, 0, 0.5);
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: rgba(0, 0, 0, 0.5);
    margin-right: 0.5rem;
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: rgba(0, 0, 0, 0.5);
    margin-left: 0.5rem;
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: rgba(0, 0, 0, 0.7);
    background: transparent;
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: rgba(0, 0, 0, 0.7);
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: rgba(0, 0, 0, 0.7);
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list {
    padding: 0.5rem 0;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: none;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator {
    border-top: 1px solid #dee2e6;
    margin: 0.5rem 0;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon {
    font-size: 0.875rem;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon {
    width: 0.875rem;
    height: 0.875rem;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem {
    width: 100%;
    position: static;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content {
    color: #212529;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link {
    color: #212529;
    padding: 0.75rem 1rem;
    user-select: none;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #212529;
    margin-right: 0.5rem;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content {
    color: #212529;
    background: #e9ecef;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link.p-highlight.p-focus > .p-menuitem-content {
    background: #e9ecef;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #212529;
    background: #dee2e6;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #212529;
    background: #e9ecef;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon {
    margin-left: auto;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon {
    transform: rotate(-180deg);
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list {
    width: 100%;
    position: static;
    box-shadow: none;
    border: 0 none;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon {
    transition: transform 0.15s;
    transform: rotate(90deg);
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {
    transform: rotate(-90deg);
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem {
    width: 100%;
    position: static;
  }
  .p-menu {
    padding: 0.5rem 0;
    background: #ffffff;
    color: #212529;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    width: 12.5rem;
  }
  .p-menu .p-menuitem > .p-menuitem-content {
    color: #212529;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-menu .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: #212529;
    padding: 0.75rem 1rem;
    user-select: none;
  }
  .p-menu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-menu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #212529;
    margin-right: 0.5rem;
  }
  .p-menu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-menu .p-menuitem.p-highlight > .p-menuitem-content {
    color: #212529;
    background: #e9ecef;
  }
  .p-menu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-menu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-menu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-menu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: #e9ecef;
  }
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #212529;
    background: #dee2e6;
  }
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #212529;
    background: #e9ecef;
  }
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-menu.p-menu-overlay {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: none;
  }
  .p-menu .p-submenu-header {
    margin: 0;
    padding: 0.75rem 1rem;
    color: #212529;
    background: #ffffff;
    font-weight: 600;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
  }
  .p-menu .p-menu-separator {
    border-top: 1px solid #dee2e6;
    margin: 0.5rem 0;
  }
  .p-menubar {
    padding: 0.5rem 1rem;
    background: #efefef;
    color: rgba(0, 0, 0, 0.9);
    border: 0 none;
    border-radius: 4px;
  }
  .p-menubar .p-menubar-root-list {
    outline: 0 none;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content {
    color: rgba(0, 0, 0, 0.5);
    transition: box-shadow 0.15s;
    border-radius: 4px;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link {
    padding: 1rem;
    user-select: none;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: rgba(0, 0, 0, 0.5);
  }
  .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: rgba(0, 0, 0, 0.5);
    margin-right: 0.5rem;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: rgba(0, 0, 0, 0.5);
    margin-left: 0.5rem;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: rgba(0, 0, 0, 0.7);
    background: transparent;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: rgba(0, 0, 0, 0.7);
  }
  .p-menubar .p-menubar-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-menubar .p-menubar-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: rgba(0, 0, 0, 0.7);
  }
  .p-menubar .p-menuitem > .p-menuitem-content {
    color: #212529;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: #212529;
    padding: 0.75rem 1rem;
    user-select: none;
  }
  .p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #212529;
    margin-right: 0.5rem;
  }
  .p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-menubar .p-menuitem.p-highlight > .p-menuitem-content {
    color: #212529;
    background: #e9ecef;
  }
  .p-menubar .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-menubar .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-menubar .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-menubar .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: #e9ecef;
  }
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #212529;
    background: #dee2e6;
  }
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #212529;
    background: #e9ecef;
  }
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-menubar .p-submenu-list {
    padding: 0.5rem 0;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: none;
    width: 12.5rem;
  }
  .p-menubar .p-submenu-list .p-menuitem-separator {
    border-top: 1px solid #dee2e6;
    margin: 0.5rem 0;
  }
  .p-menubar .p-submenu-list .p-submenu-icon {
    font-size: 0.875rem;
  }
  .p-menubar.p-menubar-mobile .p-menubar-button {
    width: 2rem;
    height: 2rem;
    color: rgba(0, 0, 0, 0.5);
    border-radius: 50%;
    transition: box-shadow 0.15s;
  }
  .p-menubar.p-menubar-mobile .p-menubar-button:hover {
    color: rgba(0, 0, 0, 0.7);
    background: transparent;
  }
  .p-menubar.p-menubar-mobile .p-menubar-button:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list {
    padding: 0.5rem 0;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: none;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list .p-menuitem-separator {
    border-top: 1px solid #dee2e6;
    margin: 0.5rem 0;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-icon {
    font-size: 0.875rem;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    margin-left: auto;
    transition: transform 0.15s;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list .p-menuitem.p-menuitem-active > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {
    transform: rotate(-180deg);
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-list .p-submenu-icon {
    transition: transform 0.15s;
    transform: rotate(90deg);
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {
    transform: rotate(-90deg);
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list ul li a {
    padding-left: 2.25rem;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list ul li ul li a {
    padding-left: 3.75rem;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list ul li ul li ul li a {
    padding-left: 5.25rem;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list ul li ul li ul li ul li a {
    padding-left: 6.75rem;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list ul li ul li ul li ul li ul li a {
    padding-left: 8.25rem;
  }
  @media screen and (max-width: 960px) {
    .p-menubar {
      position: relative;
    }
    .p-menubar .p-menubar-button {
      display: flex;
      width: 2rem;
      height: 2rem;
      color: rgba(0, 0, 0, 0.5);
      border-radius: 50%;
      transition: box-shadow 0.15s;
    }
    .p-menubar .p-menubar-button:hover {
      color: rgba(0, 0, 0, 0.7);
      background: transparent;
    }
    .p-menubar .p-menubar-button:focus {
      outline: 0 none;
      outline-offset: 0;
      box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
    }
    .p-menubar .p-menubar-root-list {
      position: absolute;
      display: none;
      padding: 0.5rem 0;
      background: #ffffff;
      border: 1px solid rgba(0, 0, 0, 0.15);
      box-shadow: none;
      width: 100%;
    }
    .p-menubar .p-menubar-root-list .p-menu-separator {
      border-top: 1px solid #dee2e6;
      margin: 0.5rem 0;
    }
    .p-menubar .p-menubar-root-list .p-submenu-icon {
      font-size: 0.875rem;
    }
    .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon {
      width: 0.875rem;
      height: 0.875rem;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem {
      width: 100%;
      position: static;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content {
      color: #212529;
      transition: box-shadow 0.15s;
      border-radius: 0;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link {
      color: #212529;
      padding: 0.75rem 1rem;
      user-select: none;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
      color: #212529;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
      color: #212529;
      margin-right: 0.5rem;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
      color: #212529;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content {
      color: #212529;
      background: #e9ecef;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
      color: #212529;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
      color: #212529;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight.p-focus > .p-menuitem-content {
      background: #e9ecef;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
      color: #212529;
      background: #dee2e6;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
      color: #212529;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
      color: #212529;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
      color: #212529;
      background: #e9ecef;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
      color: #212529;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
      color: #212529;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon {
      margin-left: auto;
      transition: transform 0.15s;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon {
      transform: rotate(-180deg);
    }
    .p-menubar .p-menubar-root-list .p-submenu-list {
      width: 100%;
      position: static;
      box-shadow: none;
      border: 0 none;
    }
    .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon {
      transition: transform 0.15s;
      transform: rotate(90deg);
    }
    .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {
      transform: rotate(-90deg);
    }
    .p-menubar .p-menubar-root-list .p-menuitem {
      width: 100%;
      position: static;
    }
    .p-menubar .p-menubar-root-list ul li a {
      padding-left: 2.25rem;
    }
    .p-menubar .p-menubar-root-list ul li ul li a {
      padding-left: 3.75rem;
    }
    .p-menubar .p-menubar-root-list ul li ul li ul li a {
      padding-left: 5.25rem;
    }
    .p-menubar .p-menubar-root-list ul li ul li ul li ul li a {
      padding-left: 6.75rem;
    }
    .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a {
      padding-left: 8.25rem;
    }
    .p-menubar.p-menubar-mobile-active .p-menubar-root-list {
      display: flex;
      flex-direction: column;
      top: 100%;
      left: 0;
      z-index: 1;
    }
  }
  .p-panelmenu .p-panelmenu-header {
    outline: 0 none;
  }
  .p-panelmenu .p-panelmenu-header .p-panelmenu-header-content {
    border: 1px solid #dee2e6;
    color: #212529;
    background: #efefef;
    border-radius: 4px;
    transition: box-shadow 0.15s;
  }
  .p-panelmenu .p-panelmenu-header .p-panelmenu-header-content .p-panelmenu-header-link {
    color: #212529;
    padding: 1rem 1.25rem;
    font-weight: 600;
  }
  .p-panelmenu .p-panelmenu-header .p-panelmenu-header-content .p-panelmenu-header-link .p-submenu-icon {
    margin-right: 0.5rem;
  }
  .p-panelmenu .p-panelmenu-header .p-panelmenu-header-content .p-panelmenu-header-link .p-menuitem-icon {
    margin-right: 0.5rem;
  }
  .p-panelmenu .p-panelmenu-header:not(.p-disabled):focus-visible .p-panelmenu-header-content {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover .p-panelmenu-header-content {
    background: #e9ecef;
    border-color: #dee2e6;
    color: #212529;
  }
  .p-panelmenu .p-panelmenu-header:not(.p-disabled).p-highlight .p-panelmenu-header-content {
    background: #efefef;
    border-color: #dee2e6;
    color: #212529;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    margin-bottom: 0;
  }
  .p-panelmenu .p-panelmenu-header:not(.p-disabled).p-highlight:hover .p-panelmenu-header-content {
    border-color: #dee2e6;
    background: #e9ecef;
    color: #212529;
  }
  .p-panelmenu .p-panelmenu-content {
    padding: 0.5rem 0;
    border: 1px solid #dee2e6;
    background: #ffffff;
    color: #212529;
    border-top: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .p-panelmenu .p-panelmenu-content .p-panelmenu-root-list {
    outline: 0 none;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content {
    color: #212529;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: #212529;
    padding: 0.75rem 1rem;
    user-select: none;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #212529;
    margin-right: 0.5rem;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content {
    color: #212529;
    background: #e9ecef;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: #e9ecef;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #212529;
    background: #dee2e6;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #212529;
    background: #e9ecef;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    margin-right: 0.5rem;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem-separator {
    border-top: 1px solid #dee2e6;
    margin: 0.5rem 0;
  }
  .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-list) {
    padding: 0 0 0 1rem;
  }
  .p-panelmenu .p-panelmenu-panel {
    margin-bottom: 0;
  }
  .p-panelmenu .p-panelmenu-panel .p-panelmenu-header .p-panelmenu-header-content {
    border-radius: 0;
  }
  .p-panelmenu .p-panelmenu-panel .p-panelmenu-content {
    border-radius: 0;
  }
  .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header .p-panelmenu-header-content {
    border-top: 0 none;
  }
  .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover .p-panelmenu-header-content, .p-panelmenu .p-panelmenu-panel:not(:first-child) .p-panelmenu-header:not(.p-disabled).p-highlight:hover .p-panelmenu-header-content {
    border-top: 0 none;
  }
  .p-panelmenu .p-panelmenu-panel:first-child .p-panelmenu-header .p-panelmenu-header-content {
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
  }
  .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-header:not(.p-highlight) .p-panelmenu-header-content {
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .p-panelmenu .p-panelmenu-panel:last-child .p-panelmenu-content {
    border-bottom-right-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .p-slidemenu {
    padding: 0.5rem 0;
    background: #ffffff;
    color: #212529;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    width: 12.5rem;
  }
  .p-slidemenu .p-menuitem-link > .p-menuitem-content {
    color: #212529;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-slidemenu .p-menuitem-link > .p-menuitem-content .p-menuitem-link {
    color: #212529;
    padding: 0.75rem 1rem;
    user-select: none;
  }
  .p-slidemenu .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-slidemenu .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #212529;
    margin-right: 0.5rem;
  }
  .p-slidemenu .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-slidemenu .p-menuitem-link.p-highlight > .p-menuitem-content {
    color: #212529;
    background: #e9ecef;
  }
  .p-slidemenu .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-slidemenu .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-slidemenu .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-slidemenu .p-menuitem-link.p-highlight.p-focus > .p-menuitem-content {
    background: #e9ecef;
  }
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #212529;
    background: #dee2e6;
  }
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #212529;
    background: #e9ecef;
  }
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-slidemenu.p-slidemenu-overlay {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: none;
  }
  .p-slidemenu .p-slidemenu-list {
    padding: 0.5rem 0;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: none;
  }
  .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link {
    background: #e9ecef;
  }
  .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text {
    color: #212529;
  }
  .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon {
    color: #212529;
  }
  .p-slidemenu .p-slidemenu-separator {
    border-top: 1px solid #dee2e6;
    margin: 0.5rem 0;
  }
  .p-slidemenu .p-slidemenu-icon {
    font-size: 0.875rem;
  }
  .p-slidemenu .p-slidemenu-icon.p-icon {
    width: 0.875rem;
    height: 0.875rem;
  }
  .p-slidemenu .p-slidemenu-backward {
    padding: 0.75rem 1rem;
    color: #212529;
  }
  .p-steps .p-steps-item .p-menuitem-link {
    background: transparent;
    transition: box-shadow 0.15s;
    border-radius: 4px;
    background: transparent;
  }
  .p-steps .p-steps-item .p-menuitem-link .p-steps-number {
    color: #212529;
    border: 1px solid #dee2e6;
    background: transparent;
    min-width: 2rem;
    height: 2rem;
    line-height: 2rem;
    font-size: 1.143rem;
    z-index: 1;
    border-radius: 4px;
  }
  .p-steps .p-steps-item .p-menuitem-link .p-steps-title {
    margin-top: 0.5rem;
    color: #6c757d;
  }
  .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-steps .p-steps-item.p-highlight .p-steps-number {
    background: #007bff;
    color: #ffffff;
  }
  .p-steps .p-steps-item.p-highlight .p-steps-title {
    font-weight: 600;
    color: #212529;
  }
  .p-steps .p-steps-item:before {
    content: " ";
    border-top: 1px solid #dee2e6;
    width: 100%;
    top: 50%;
    left: 0;
    display: block;
    position: absolute;
    margin-top: -1rem;
  }
  .p-tabmenu .p-tabmenu-nav {
    background: transparent;
    border: 1px solid #dee2e6;
    border-width: 0 0 1px 0;
  }
  .p-tabmenu .p-tabmenu-nav .p-tabmenuitem {
    margin-right: 0;
  }
  .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link {
    border: solid;
    border-width: 1px;
    border-color: #ffffff #ffffff #dee2e6 #ffffff;
    background: #ffffff;
    color: #6c757d;
    padding: 0.75rem 1rem;
    font-weight: 600;
    border-top-right-radius: 4px;
    border-top-left-radius: 4px;
    transition: box-shadow 0.15s;
    margin: 0 0 -1px 0;
    height: calc(100% + 1px);
  }
  .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon {
    margin-right: 0.5rem;
  }
  .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link {
    background: #ffffff;
    border-color: #dee2e6;
    color: #6c757d;
  }
  .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link {
    background: #ffffff;
    border-color: #dee2e6 #dee2e6 #ffffff #dee2e6;
    color: #495057;
  }
  .p-tieredmenu {
    padding: 0.5rem 0;
    background: #ffffff;
    color: #212529;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    width: 12.5rem;
  }
  .p-tieredmenu.p-tieredmenu-overlay {
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: none;
  }
  .p-tieredmenu .p-tieredmenu-root-list {
    outline: 0 none;
  }
  .p-tieredmenu .p-submenu-list {
    padding: 0.5rem 0;
    background: #ffffff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    box-shadow: none;
  }
  .p-tieredmenu .p-menuitem > .p-menuitem-content {
    color: #212529;
    transition: box-shadow 0.15s;
    border-radius: 0;
  }
  .p-tieredmenu .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: #212529;
    padding: 0.75rem 1rem;
    user-select: none;
  }
  .p-tieredmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-tieredmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #212529;
    margin-right: 0.5rem;
  }
  .p-tieredmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content {
    color: #212529;
    background: #e9ecef;
  }
  .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-tieredmenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: #e9ecef;
  }
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #212529;
    background: #dee2e6;
  }
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #212529;
    background: #e9ecef;
  }
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #212529;
  }
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #212529;
  }
  .p-tieredmenu .p-menuitem-separator {
    border-top: 1px solid #dee2e6;
    margin: 0.5rem 0;
  }
  .p-tieredmenu .p-submenu-icon {
    font-size: 0.875rem;
  }
  .p-tieredmenu .p-submenu-icon.p-icon {
    width: 0.875rem;
    height: 0.875rem;
  }
  .p-inline-message {
    padding: 0.5rem 0.75rem;
    margin: 0;
    border-radius: 4px;
  }
  .p-inline-message.p-inline-message-info {
    background: #cce5ff;
    border: solid #b8daff;
    border-width: 0px;
    color: #004085;
  }
  .p-inline-message.p-inline-message-info .p-inline-message-icon {
    color: #004085;
  }
  .p-inline-message.p-inline-message-success {
    background: #d4edda;
    border: solid #c3e6cb;
    border-width: 0px;
    color: #155724;
  }
  .p-inline-message.p-inline-message-success .p-inline-message-icon {
    color: #155724;
  }
  .p-inline-message.p-inline-message-warn {
    background: #fff3cd;
    border: solid #ffeeba;
    border-width: 0px;
    color: #856404;
  }
  .p-inline-message.p-inline-message-warn .p-inline-message-icon {
    color: #856404;
  }
  .p-inline-message.p-inline-message-error {
    background: #f8d7da;
    border: solid #f5c6cb;
    border-width: 0px;
    color: #721c24;
  }
  .p-inline-message.p-inline-message-error .p-inline-message-icon {
    color: #721c24;
  }
  .p-inline-message .p-inline-message-icon {
    font-size: 1rem;
    margin-right: 0.5rem;
  }
  .p-inline-message .p-inline-message-icon.p-icon {
    width: 1rem;
    height: 1rem;
  }
  .p-inline-message .p-inline-message-text {
    font-size: 1rem;
  }
  .p-inline-message.p-inline-message-icon-only .p-inline-message-icon {
    margin-right: 0;
  }
  .p-message {
    margin: 1rem 0;
    border-radius: 4px;
  }
  .p-message .p-message-wrapper {
    padding: 1rem 1.25rem;
  }
  .p-message .p-message-close {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: transparent;
    transition: box-shadow 0.15s;
  }
  .p-message .p-message-close:hover {
    background: rgba(255, 255, 255, 0.5);
  }
  .p-message .p-message-close:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-message.p-message-info {
    background: #cce5ff;
    border: solid #b8daff;
    border-width: 1px;
    color: #004085;
  }
  .p-message.p-message-info .p-message-icon {
    color: #004085;
  }
  .p-message.p-message-info .p-message-close {
    color: #004085;
  }
  .p-message.p-message-success {
    background: #d4edda;
    border: solid #c3e6cb;
    border-width: 1px;
    color: #155724;
  }
  .p-message.p-message-success .p-message-icon {
    color: #155724;
  }
  .p-message.p-message-success .p-message-close {
    color: #155724;
  }
  .p-message.p-message-warn {
    background: #fff3cd;
    border: solid #ffeeba;
    border-width: 1px;
    color: #856404;
  }
  .p-message.p-message-warn .p-message-icon {
    color: #856404;
  }
  .p-message.p-message-warn .p-message-close {
    color: #856404;
  }
  .p-message.p-message-error {
    background: #f8d7da;
    border: solid #f5c6cb;
    border-width: 1px;
    color: #721c24;
  }
  .p-message.p-message-error .p-message-icon {
    color: #721c24;
  }
  .p-message.p-message-error .p-message-close {
    color: #721c24;
  }
  .p-message .p-message-text {
    font-size: 1rem;
    font-weight: 500;
  }
  .p-message .p-message-icon {
    font-size: 1.5rem;
    margin-right: 0.5rem;
  }
  .p-message .p-message-icon.p-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
  .p-message .p-message-summary {
    font-weight: 700;
  }
  .p-message .p-message-detail {
    margin-left: 0.5rem;
  }
  .p-toast {
    opacity: 1;
  }
  .p-toast .p-toast-message {
    margin: 0 0 1rem 0;
    box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.1);
    border-radius: 4px;
  }
  .p-toast .p-toast-message .p-toast-message-content {
    padding: 1rem;
  }
  .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text {
    margin: 0 0 0 1rem;
  }
  .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon {
    font-size: 2rem;
  }
  .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-toast .p-toast-message .p-toast-message-content .p-toast-summary {
    font-weight: 700;
  }
  .p-toast .p-toast-message .p-toast-message-content .p-toast-detail {
    margin: 0.5rem 0 0 0;
  }
  .p-toast .p-toast-message .p-toast-icon-close {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: transparent;
    transition: box-shadow 0.15s;
  }
  .p-toast .p-toast-message .p-toast-icon-close:hover {
    background: rgba(255, 255, 255, 0.5);
  }
  .p-toast .p-toast-message .p-toast-icon-close:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-toast .p-toast-message.p-toast-message-info {
    background: #cce5ff;
    border: solid #b8daff;
    border-width: 1px;
    color: #004085;
  }
  .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon,
  .p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close {
    color: #004085;
  }
  .p-toast .p-toast-message.p-toast-message-success {
    background: #d4edda;
    border: solid #c3e6cb;
    border-width: 1px;
    color: #155724;
  }
  .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon,
  .p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close {
    color: #155724;
  }
  .p-toast .p-toast-message.p-toast-message-warn {
    background: #fff3cd;
    border: solid #ffeeba;
    border-width: 1px;
    color: #856404;
  }
  .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon,
  .p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close {
    color: #856404;
  }
  .p-toast .p-toast-message.p-toast-message-error {
    background: #f8d7da;
    border: solid #f5c6cb;
    border-width: 1px;
    color: #721c24;
  }
  .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon,
  .p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close {
    color: #721c24;
  }
  .p-galleria .p-galleria-close {
    margin: 0.5rem;
    background: transparent;
    color: #efefef;
    width: 4rem;
    height: 4rem;
    transition: box-shadow 0.15s;
    border-radius: 4px;
  }
  .p-galleria .p-galleria-close .p-galleria-close-icon {
    font-size: 2rem;
  }
  .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-galleria .p-galleria-close:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #efefef;
  }
  .p-galleria .p-galleria-item-nav {
    background: transparent;
    color: #efefef;
    width: 4rem;
    height: 4rem;
    transition: box-shadow 0.15s;
    border-radius: 4px;
    margin: 0 0.5rem;
  }
  .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon,
  .p-galleria .p-galleria-item-nav .p-galleria-item-next-icon {
    font-size: 2rem;
  }
  .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon,
  .p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-galleria .p-galleria-item-nav:not(.p-disabled):hover {
    background: rgba(255, 255, 255, 0.1);
    color: #efefef;
  }
  .p-galleria .p-galleria-caption {
    background: rgba(0, 0, 0, 0.5);
    color: #efefef;
    padding: 1rem;
  }
  .p-galleria .p-galleria-indicators {
    padding: 1rem;
  }
  .p-galleria .p-galleria-indicators .p-galleria-indicator button {
    background-color: #e9ecef;
    width: 1rem;
    height: 1rem;
    transition: box-shadow 0.15s;
    border-radius: 4px;
  }
  .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover {
    background: #dee2e6;
  }
  .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button {
    background: #007bff;
    color: #ffffff;
  }
  .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator {
    margin-right: 0.5rem;
  }
  .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator {
    margin-bottom: 0.5rem;
  }
  .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators {
    background: rgba(0, 0, 0, 0.5);
  }
  .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button {
    background: rgba(255, 255, 255, 0.4);
  }
  .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover {
    background: rgba(255, 255, 255, 0.6);
  }
  .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button {
    background: #007bff;
    color: #ffffff;
  }
  .p-galleria .p-galleria-thumbnail-container {
    background: rgba(0, 0, 0, 0.9);
    padding: 1rem 0.25rem;
  }
  .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev,
  .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next {
    margin: 0.5rem;
    background-color: transparent;
    color: #efefef;
    width: 2rem;
    height: 2rem;
    transition: box-shadow 0.15s;
    border-radius: 4px;
  }
  .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover,
  .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #efefef;
  }
  .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content {
    transition: box-shadow 0.15s;
  }
  .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-galleria-mask {
    --maskbg: rgba(0, 0, 0, 0.9);
  }
  .p-image-mask {
    --maskbg: rgba(0, 0, 0, 0.9);
  }
  .p-image-preview-indicator {
    background-color: transparent;
    color: #f8f9fa;
    transition: box-shadow 0.15s;
  }
  .p-image-preview-indicator .p-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
  .p-image-preview-container:hover > .p-image-preview-indicator {
    background-color: rgba(0, 0, 0, 0.5);
  }
  .p-image-toolbar {
    padding: 1rem;
  }
  .p-image-action.p-link {
    color: #f8f9fa;
    background-color: transparent;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    transition: box-shadow 0.15s;
    margin-right: 0.5rem;
  }
  .p-image-action.p-link:last-child {
    margin-right: 0;
  }
  .p-image-action.p-link:hover {
    color: #f8f9fa;
    background-color: rgba(255, 255, 255, 0.1);
  }
  .p-image-action.p-link span {
    font-size: 1.5rem;
  }
  .p-image-action.p-link .p-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
  .p-avatar {
    background-color: #dee2e6;
    border-radius: 4px;
  }
  .p-avatar.p-avatar-lg {
    width: 3rem;
    height: 3rem;
    font-size: 1.5rem;
  }
  .p-avatar.p-avatar-lg .p-avatar-icon {
    font-size: 1.5rem;
  }
  .p-avatar.p-avatar-xl {
    width: 4rem;
    height: 4rem;
    font-size: 2rem;
  }
  .p-avatar.p-avatar-xl .p-avatar-icon {
    font-size: 2rem;
  }
  .p-avatar-circle {
    border-radius: 50%;
  }
  .p-avatar-group .p-avatar {
    border: 2px solid #ffffff;
  }
  .p-chip {
    background-color: #dee2e6;
    color: #212529;
    border-radius: 16px;
    padding: 0 0.75rem;
  }
  .p-chip .p-chip-text {
    line-height: 1.5;
    margin-top: 0.25rem;
    margin-bottom: 0.25rem;
  }
  .p-chip .p-chip-icon {
    margin-right: 0.5rem;
  }
  .p-chip img {
    width: 2rem;
    height: 2rem;
    margin-left: -0.75rem;
    margin-right: 0.5rem;
  }
  .p-chip .p-chip-remove-icon {
    border-radius: 4px;
    transition: box-shadow 0.15s;
    margin-left: 0.5rem;
  }
  .p-chip .p-chip-remove-icon:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-chip .p-chip-remove-icon:focus {
    outline: 0 none;
  }
  .p-scrolltop {
    width: 3rem;
    height: 3rem;
    border-radius: 4px;
    box-shadow: none;
    transition: box-shadow 0.15s;
  }
  .p-scrolltop.p-link {
    background: rgba(0, 0, 0, 0.7);
  }
  .p-scrolltop.p-link:hover {
    background: rgba(0, 0, 0, 0.8);
  }
  .p-scrolltop .p-scrolltop-icon {
    font-size: 1.5rem;
    color: #efefef;
  }
  .p-scrolltop .p-scrolltop-icon.p-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
  .p-skeleton {
    background-color: #e9ecef;
    border-radius: 4px;
  }
  .p-skeleton:after {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0));
  }
  .p-tag {
    background: #007bff;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.4rem;
    border-radius: 4px;
  }
  .p-tag.p-tag-success {
    background-color: #28a745;
    color: #ffffff;
  }
  .p-tag.p-tag-info {
    background-color: #17a2b8;
    color: #ffffff;
  }
  .p-tag.p-tag-warning {
    background-color: #ffc107;
    color: #212529;
  }
  .p-tag.p-tag-danger {
    background-color: #dc3545;
    color: #ffffff;
  }
  .p-tag .p-tag-icon {
    margin-right: 0.25rem;
    font-size: 0.75rem;
  }
  .p-tag .p-tag-icon.p-icon {
    width: 0.75rem;
    height: 0.75rem;
  }
  .p-inplace .p-inplace-display {
    padding: 0.5rem 0.75rem;
    border-radius: 4px;
    transition: background-color 0.15s, border-color 0.15s, box-shadow 0.15s;
  }
  .p-inplace .p-inplace-display:not(.p-disabled):hover {
    background: #e9ecef;
    color: #212529;
  }
  .p-inplace .p-inplace-display:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem rgba(38, 143, 255, 0.5);
  }
  .p-metergroup .p-metergroup-meter-container {
    background: #e9ecef;
    border-radius: 4px;
  }
  .p-metergroup .p-metergroup-meter {
    border: 0 none;
    background: #007bff;
  }
  .p-metergroup .p-metergroup-label-list .p-metergroup-label-list-item {
    line-height: 1.5rem;
  }
  .p-metergroup .p-metergroup-label-list .p-metergroup-label-type {
    background: #007bff;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 100%;
    margin-right: 0.5rem;
  }
  .p-metergroup .p-metergroup-label-list .p-metergroup-label {
    margin-right: 1rem;
  }
  .p-metergroup .p-metergroup-label-list .p-metergroup-label-icon {
    width: 1rem;
    height: 1rem;
    margin-right: 0.5rem;
  }
  .p-metergroup.p-metergroup-horizontal .p-metergroup-meter-container {
    height: 0.5rem;
  }
  .p-metergroup.p-metergroup-horizontal .p-metergroup-meter:first-of-type {
    border-top-left-radius: 4px;
    border-bottom-left-radius: 4px;
  }
  .p-metergroup.p-metergroup-horizontal .p-metergroup-meter:last-of-type {
    border-top-right-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .p-metergroup.p-metergroup-horizontal .p-metergroup-label-list-start {
    margin-bottom: 1rem;
  }
  .p-metergroup.p-metergroup-horizontal .p-metergroup-label-list-end {
    margin-top: 1rem;
  }
  .p-metergroup.p-metergroup-vertical .p-metergroup-meter-container {
    width: 0.5rem;
    height: 100%;
  }
  .p-metergroup.p-metergroup-vertical .p-metergroup-meter:first-of-type {
    border-top-left-radius: 4px;
    border-top-right-radius: 4px;
  }
  .p-metergroup.p-metergroup-vertical .p-metergroup-meter:last-of-type {
    border-bottom-left-radius: 4px;
    border-bottom-right-radius: 4px;
  }
  .p-metergroup.p-metergroup-vertical .p-metergroup-label-list:not(.p-metergroup-label-list-start) {
    margin-left: 1rem;
  }
  .p-progressbar {
    border: 0 none;
    height: 1.5rem;
    background: #e9ecef;
    border-radius: 4px;
  }
  .p-progressbar .p-progressbar-value {
    border: 0 none;
    margin: 0;
    background: #007bff;
  }
  .p-progressbar .p-progressbar-label {
    color: #ffffff;
    line-height: 1.5rem;
  }
  .p-terminal {
    background: #ffffff;
    color: #212529;
    border: 1px solid #dee2e6;
    padding: 1.25rem;
  }
  .p-terminal .p-terminal-input {
    font-family: var(--font-family);
    font-feature-settings: var(--font-feature-settings, normal);
    font-size: 1rem;
  }
  .p-badge {
    background: #007bff;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    min-width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
  }
  .p-badge.p-badge-secondary {
    background-color: #6c757d;
    color: #ffffff;
  }
  .p-badge.p-badge-success {
    background-color: #28a745;
    color: #ffffff;
  }
  .p-badge.p-badge-info {
    background-color: #17a2b8;
    color: #ffffff;
  }
  .p-badge.p-badge-warning {
    background-color: #ffc107;
    color: #212529;
  }
  .p-badge.p-badge-danger {
    background-color: #dc3545;
    color: #ffffff;
  }
  .p-badge.p-badge-lg {
    font-size: 1.125rem;
    min-width: 2.25rem;
    height: 2.25rem;
    line-height: 2.25rem;
  }
  .p-badge.p-badge-xl {
    font-size: 1.5rem;
    min-width: 3rem;
    height: 3rem;
    line-height: 3rem;
  }
  .p-tag {
    background: #007bff;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.4rem;
    border-radius: 4px;
  }
  .p-tag.p-tag-success {
    background-color: #28a745;
    color: #ffffff;
  }
  .p-tag.p-tag-info {
    background-color: #17a2b8;
    color: #ffffff;
  }
  .p-tag.p-tag-warning {
    background-color: #ffc107;
    color: #212529;
  }
  .p-tag.p-tag-danger {
    background-color: #dc3545;
    color: #ffffff;
  }
}
/* Vendor extensions to the designer enhanced bootstrap compatibility */
@layer primereact {
  .p-breadcrumb .p-breadcrumb-chevron {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  }
  .p-breadcrumb .p-breadcrumb-chevron:before {
    content: "/";
  }
}
/* Customizations to the designer theme should be defined here */

/**
 * The primereact[.min].css has been deprecated. In order not to break existing projects, it is currently included in the build as an empty file.
 */
@font-face {
    font-family: 'primeicons';
    font-display: block;
    src: url(/ff0c4cd79b2ffca2de54.eot);
    src: url(/ff0c4cd79b2ffca2de54.eot?#iefix) format('embedded-opentype'), url(/024b32cc7bf399b1a847.woff2) format('woff2'), url(/8931fda1930c3bd21e96.woff) format('woff'), url(/a5c2a53d1ff7a9ff5933.ttf) format('truetype'), url(/6ed59f962963a4a73af2.svg?#primeicons) format('svg');
    font-weight: normal;
    font-style: normal;
}

.pi {
    font-family: 'primeicons';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.pi:before {
    --webkit-backface-visibility:hidden;
    backface-visibility: hidden;
}

.pi-fw {
    width: 1.28571429em;
    text-align: center;
}

.pi-spin {
    -webkit-animation: fa-spin 2s infinite linear;
    animation: fa-spin 2s infinite linear;
}

@media (prefers-reduced-motion: reduce) {
  .pi-spin {
    -webkit-animation-delay: -1ms;
    animation-delay: -1ms;
    -webkit-animation-duration: 1ms;
    animation-duration: 1ms;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
  }
}

@-webkit-keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

@keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

.pi-folder-plus:before {
    content: "\ea05";
}

.pi-receipt:before {
    content: "\ea06";
}

.pi-asterisk:before {
    content: "\ea07";
}

.pi-face-smile:before {
    content: "\ea08";
}

.pi-pinterest:before {
    content: "\ea09";
}

.pi-expand:before {
    content: "\ea0a";
}

.pi-pen-to-square:before {
    content: "\ea0b";
}

.pi-wave-pulse:before {
    content: "\ea0c";
}

.pi-turkish-lira:before {
    content: "\ea0d";
}

.pi-spinner-dotted:before {
    content: "\ea0e";
}

.pi-crown:before {
    content: "\ea0f";
}

.pi-pause-circle:before {
    content: "\ea10";
}

.pi-warehouse:before {
    content: "\ea11";
}

.pi-objects-column:before {
    content: "\ea12";
}

.pi-clipboard:before {
    content: "\ea13";
}

.pi-play-circle:before {
    content: "\ea14";
}

.pi-venus:before {
    content: "\ea15";
}

.pi-cart-minus:before {
    content: "\ea16";
}

.pi-file-plus:before {
    content: "\ea17";
}

.pi-microchip:before {
    content: "\ea18";
}

.pi-twitch:before {
    content: "\ea19";
}

.pi-building-columns:before {
    content: "\ea1a";
}

.pi-file-check:before {
    content: "\ea1b";
}

.pi-microchip-ai:before {
    content: "\ea1c";
}

.pi-trophy:before {
    content: "\ea1d";
}

.pi-barcode:before {
    content: "\ea1e";
}

.pi-file-arrow-up:before {
    content: "\ea1f";
}

.pi-mars:before {
    content: "\ea20";
}

.pi-tiktok:before {
    content: "\ea21";
}

.pi-arrow-up-right-and-arrow-down-left-from-center:before {
    content: "\ea22";
}

.pi-ethereum:before {
    content: "\ea23";
}

.pi-list-check:before {
    content: "\ea24";
}

.pi-thumbtack:before {
    content: "\ea25";
}

.pi-arrow-down-left-and-arrow-up-right-to-center:before {
    content: "\ea26";
}

.pi-equals:before {
    content: "\ea27";
}

.pi-lightbulb:before {
    content: "\ea28";
}

.pi-star-half:before {
    content: "\ea29";
}

.pi-address-book:before {
    content: "\ea2a";
}

.pi-chart-scatter:before {
    content: "\ea2b";
}

.pi-indian-rupee:before {
    content: "\ea2c";
}

.pi-star-half-fill:before {
    content: "\ea2d";
}

.pi-cart-arrow-down:before {
    content: "\ea2e";
}

.pi-calendar-clock:before {
    content: "\ea2f";
}

.pi-sort-up-fill:before {
    content: "\ea30";
}

.pi-sparkles:before {
    content: "\ea31";
}

.pi-bullseye:before {
    content: "\ea32";
}

.pi-sort-down-fill:before {
    content: "\ea33";
}

.pi-graduation-cap:before {
    content: "\ea34";
}

.pi-hammer:before {
    content: "\ea35";
}

.pi-bell-slash:before {
    content: "\ea36";
}

.pi-gauge:before {
    content: "\ea37";
}

.pi-shop:before {
    content: "\ea38";
}

.pi-headphones:before {
    content: "\ea39";
}

.pi-eraser:before {
    content: "\ea04";
}

.pi-stopwatch:before {
    content: "\ea01";
}

.pi-verified:before {
    content: "\ea02";
}

.pi-delete-left:before {
    content: "\ea03";
}

.pi-hourglass:before {
    content: "\e9fe";
}

.pi-truck:before {
    content: "\ea00";
}

.pi-wrench:before {
    content: "\e9ff";
}

.pi-microphone:before {
    content: "\e9fa";
}

.pi-megaphone:before {
    content: "\e9fb";
}

.pi-arrow-right-arrow-left:before {
    content: "\e9fc";
}

.pi-bitcoin:before {
    content: "\e9fd";
}

.pi-file-edit:before {
    content: "\e9f6";
}

.pi-language:before {
    content: "\e9f7";
}

.pi-file-export:before {
    content: "\e9f8";
}

.pi-file-import:before {
    content: "\e9f9";
}

.pi-file-word:before {
    content: "\e9f1";
}

.pi-gift:before {
    content: "\e9f2";
}

.pi-cart-plus:before {
    content: "\e9f3";
}

.pi-thumbs-down-fill:before {
    content: "\e9f4";
}

.pi-thumbs-up-fill:before {
    content: "\e9f5";
}

.pi-arrows-alt:before {
    content: "\e9f0";
}

.pi-calculator:before {
    content: "\e9ef";
}

.pi-sort-alt-slash:before {
    content: "\e9ee";
}

.pi-arrows-h:before {
    content: "\e9ec";
}

.pi-arrows-v:before {
    content: "\e9ed";
}

.pi-pound:before {
    content: "\e9eb";
}

.pi-prime:before {
    content: "\e9ea";
}

.pi-chart-pie:before {
    content: "\e9e9";
}

.pi-reddit:before {
    content: "\e9e8";
}

.pi-code:before {
    content: "\e9e7";
}

.pi-sync:before {
    content: "\e9e6";
}

.pi-shopping-bag:before {
    content: "\e9e5";
}

.pi-server:before {
    content: "\e9e4";
}

.pi-database:before {
    content: "\e9e3";
}

.pi-hashtag:before {
    content: "\e9e2";
}

.pi-bookmark-fill:before {
    content: "\e9df";
}

.pi-filter-fill:before {
    content: "\e9e0";
}

.pi-heart-fill:before {
    content: "\e9e1";
}

.pi-flag-fill:before {
    content: "\e9de";
}

.pi-circle:before {
    content: "\e9dc";
}

.pi-circle-fill:before {
    content: "\e9dd";
}

.pi-bolt:before {
    content: "\e9db";
}

.pi-history:before {
    content: "\e9da";
}

.pi-box:before {
    content: "\e9d9";
}

.pi-at:before {
    content: "\e9d8";
}

.pi-arrow-up-right:before {
    content: "\e9d4";
}

.pi-arrow-up-left:before {
    content: "\e9d5";
}

.pi-arrow-down-left:before {
    content: "\e9d6";
}

.pi-arrow-down-right:before {
    content: "\e9d7";
}

.pi-telegram:before {
    content: "\e9d3";
}

.pi-stop-circle:before {
    content: "\e9d2";
}

.pi-stop:before {
    content: "\e9d1";
}

.pi-whatsapp:before {
    content: "\e9d0";
}

.pi-building:before {
    content: "\e9cf";
}

.pi-qrcode:before {
    content: "\e9ce";
}

.pi-car:before {
    content: "\e9cd";
}

.pi-instagram:before {
    content: "\e9cc";
}

.pi-linkedin:before {
    content: "\e9cb";
}

.pi-send:before {
    content: "\e9ca";
}

.pi-slack:before {
    content: "\e9c9";
}

.pi-sun:before {
    content: "\e9c8";
}

.pi-moon:before {
    content: "\e9c7";
}

.pi-vimeo:before {
    content: "\e9c6";
}

.pi-youtube:before {
    content: "\e9c5";
}

.pi-flag:before {
    content: "\e9c4";
}

.pi-wallet:before {
    content: "\e9c3";
}

.pi-map:before {
    content: "\e9c2";
}

.pi-link:before {
    content: "\e9c1";
}

.pi-credit-card:before {
    content: "\e9bf";
}

.pi-discord:before {
    content: "\e9c0";
}

.pi-percentage:before {
    content: "\e9be";
}

.pi-euro:before {
    content: "\e9bd";
}

.pi-book:before {
    content: "\e9ba";
}

.pi-shield:before {
    content: "\e9b9";
}

.pi-paypal:before {
    content: "\e9bb";
}

.pi-amazon:before {
    content: "\e9bc";
}

.pi-phone:before {
    content: "\e9b8";
}

.pi-filter-slash:before {
    content: "\e9b7";
}

.pi-facebook:before {
    content: "\e9b4";
}

.pi-github:before {
    content: "\e9b5";
}

.pi-twitter:before {
    content: "\e9b6";
}

.pi-step-backward-alt:before {
    content: "\e9ac";
}

.pi-step-forward-alt:before {
    content: "\e9ad";
}

.pi-forward:before {
    content: "\e9ae";
}

.pi-backward:before {
    content: "\e9af";
}

.pi-fast-backward:before {
    content: "\e9b0";
}

.pi-fast-forward:before {
    content: "\e9b1";
}

.pi-pause:before {
    content: "\e9b2";
}

.pi-play:before {
    content: "\e9b3";
}

.pi-compass:before {
    content: "\e9ab";
}

.pi-id-card:before {
    content: "\e9aa";
}

.pi-ticket:before {
    content: "\e9a9";
}

.pi-file-o:before {
    content: "\e9a8";
}

.pi-reply:before {
    content: "\e9a7";
}

.pi-directions-alt:before {
    content: "\e9a5";
}

.pi-directions:before {
    content: "\e9a6";
}

.pi-thumbs-up:before {
    content: "\e9a3";
}

.pi-thumbs-down:before {
    content: "\e9a4";
}

.pi-sort-numeric-down-alt:before {
    content: "\e996";
}

.pi-sort-numeric-up-alt:before {
    content: "\e997";
}

.pi-sort-alpha-down-alt:before {
    content: "\e998";
}

.pi-sort-alpha-up-alt:before {
    content: "\e999";
}

.pi-sort-numeric-down:before {
    content: "\e99a";
}

.pi-sort-numeric-up:before {
    content: "\e99b";
}

.pi-sort-alpha-down:before {
    content: "\e99c";
}

.pi-sort-alpha-up:before {
    content: "\e99d";
}

.pi-sort-alt:before {
    content: "\e99e";
}

.pi-sort-amount-up:before {
    content: "\e99f";
}

.pi-sort-amount-down:before {
    content: "\e9a0";
}

.pi-sort-amount-down-alt:before {
    content: "\e9a1";
}

.pi-sort-amount-up-alt:before {
    content: "\e9a2";
}

.pi-palette:before {
    content: "\e995";
}

.pi-undo:before {
    content: "\e994";
}

.pi-desktop:before {
    content: "\e993";
}

.pi-sliders-v:before {
    content: "\e991";
}

.pi-sliders-h:before {
    content: "\e992";
}

.pi-search-plus:before {
    content: "\e98f";
}

.pi-search-minus:before {
    content: "\e990";
}

.pi-file-excel:before {
    content: "\e98e";
}

.pi-file-pdf:before {
    content: "\e98d";
}

.pi-check-square:before {
    content: "\e98c";
}

.pi-chart-line:before {
    content: "\e98b";
}

.pi-user-edit:before {
    content: "\e98a";
}

.pi-exclamation-circle:before {
    content: "\e989";
}

.pi-android:before {
    content: "\e985";
}

.pi-google:before {
    content: "\e986";
}

.pi-apple:before {
    content: "\e987";
}

.pi-microsoft:before {
    content: "\e988";
}

.pi-heart:before {
    content: "\e984";
}

.pi-mobile:before {
    content: "\e982";
}

.pi-tablet:before {
    content: "\e983";
}

.pi-key:before {
    content: "\e981";
}

.pi-shopping-cart:before {
    content: "\e980";
}

.pi-comments:before {
    content: "\e97e";
}

.pi-comment:before {
    content: "\e97f";
}

.pi-briefcase:before {
    content: "\e97d";
}

.pi-bell:before {
    content: "\e97c";
}

.pi-paperclip:before {
    content: "\e97b";
}

.pi-share-alt:before {
    content: "\e97a";
}

.pi-envelope:before {
    content: "\e979";
}

.pi-volume-down:before {
    content: "\e976";
}

.pi-volume-up:before {
    content: "\e977";
}

.pi-volume-off:before {
    content: "\e978";
}

.pi-eject:before {
    content: "\e975";
}

.pi-money-bill:before {
    content: "\e974";
}

.pi-images:before {
    content: "\e973";
}

.pi-image:before {
    content: "\e972";
}

.pi-sign-in:before {
    content: "\e970";
}

.pi-sign-out:before {
    content: "\e971";
}

.pi-wifi:before {
    content: "\e96f";
}

.pi-sitemap:before {
    content: "\e96e";
}

.pi-chart-bar:before {
    content: "\e96d";
}

.pi-camera:before {
    content: "\e96c";
}

.pi-dollar:before {
    content: "\e96b";
}

.pi-lock-open:before {
    content: "\e96a";
}

.pi-table:before {
    content: "\e969";
}

.pi-map-marker:before {
    content: "\e968";
}

.pi-list:before {
    content: "\e967";
}

.pi-eye-slash:before {
    content: "\e965";
}

.pi-eye:before {
    content: "\e966";
}

.pi-folder-open:before {
    content: "\e964";
}

.pi-folder:before {
    content: "\e963";
}

.pi-video:before {
    content: "\e962";
}

.pi-inbox:before {
    content: "\e961";
}

.pi-lock:before {
    content: "\e95f";
}

.pi-unlock:before {
    content: "\e960";
}

.pi-tags:before {
    content: "\e95d";
}

.pi-tag:before {
    content: "\e95e";
}

.pi-power-off:before {
    content: "\e95c";
}

.pi-save:before {
    content: "\e95b";
}

.pi-question-circle:before {
    content: "\e959";
}

.pi-question:before {
    content: "\e95a";
}

.pi-copy:before {
    content: "\e957";
}

.pi-file:before {
    content: "\e958";
}

.pi-clone:before {
    content: "\e955";
}

.pi-calendar-times:before {
    content: "\e952";
}

.pi-calendar-minus:before {
    content: "\e953";
}

.pi-calendar-plus:before {
    content: "\e954";
}

.pi-ellipsis-v:before {
    content: "\e950";
}

.pi-ellipsis-h:before {
    content: "\e951";
}

.pi-bookmark:before {
    content: "\e94e";
}

.pi-globe:before {
    content: "\e94f";
}

.pi-replay:before {
    content: "\e94d";
}

.pi-filter:before {
    content: "\e94c";
}

.pi-print:before {
    content: "\e94b";
}

.pi-align-right:before {
    content: "\e946";
}

.pi-align-left:before {
    content: "\e947";
}

.pi-align-center:before {
    content: "\e948";
}

.pi-align-justify:before {
    content: "\e949";
}

.pi-cog:before {
    content: "\e94a";
}

.pi-cloud-download:before {
    content: "\e943";
}

.pi-cloud-upload:before {
    content: "\e944";
}

.pi-cloud:before {
    content: "\e945";
}

.pi-pencil:before {
    content: "\e942";
}

.pi-users:before {
    content: "\e941";
}

.pi-clock:before {
    content: "\e940";
}

.pi-user-minus:before {
    content: "\e93e";
}

.pi-user-plus:before {
    content: "\e93f";
}

.pi-trash:before {
    content: "\e93d";
}

.pi-external-link:before {
    content: "\e93c";
}

.pi-window-maximize:before {
    content: "\e93b";
}

.pi-window-minimize:before {
    content: "\e93a";
}

.pi-refresh:before {
    content: "\e938";
}
  
.pi-user:before {
    content: "\e939";
}

.pi-exclamation-triangle:before {
    content: "\e922";
}

.pi-calendar:before {
    content: "\e927";
}

.pi-chevron-circle-left:before {
    content: "\e928";
}

.pi-chevron-circle-down:before {
    content: "\e929";
}

.pi-chevron-circle-right:before {
    content: "\e92a";
}

.pi-chevron-circle-up:before {
    content: "\e92b";
}

.pi-angle-double-down:before {
    content: "\e92c";
}

.pi-angle-double-left:before {
    content: "\e92d";
}

.pi-angle-double-right:before {
    content: "\e92e";
}

.pi-angle-double-up:before {
    content: "\e92f";
}

.pi-angle-down:before {
    content: "\e930";
}

.pi-angle-left:before {
    content: "\e931";
}

.pi-angle-right:before {
    content: "\e932";
}

.pi-angle-up:before {
    content: "\e933";
}

.pi-upload:before {
    content: "\e934";
}

.pi-download:before {
    content: "\e956";
}

.pi-ban:before {
    content: "\e935";
}

.pi-star-fill:before {
    content: "\e936";
}

.pi-star:before {
    content: "\e937";
}

.pi-chevron-left:before {
    content: "\e900";
}

.pi-chevron-right:before {
    content: "\e901";
}

.pi-chevron-down:before {
    content: "\e902";
}

.pi-chevron-up:before {
    content: "\e903";
}

.pi-caret-left:before {
    content: "\e904";
}

.pi-caret-right:before {
    content: "\e905";
}

.pi-caret-down:before {
    content: "\e906";
}

.pi-caret-up:before {
    content: "\e907";
}

.pi-search:before {
    content: "\e908";
}

.pi-check:before {
    content: "\e909";
}

.pi-check-circle:before {
    content: "\e90a";
}

.pi-times:before {
    content: "\e90b";
}

.pi-times-circle:before {
    content: "\e90c";
}

.pi-plus:before {
    content: "\e90d";
}

.pi-plus-circle:before {
    content: "\e90e";
}

.pi-minus:before {
    content: "\e90f";
}

.pi-minus-circle:before {
    content: "\e910";
}

.pi-circle-on:before {
    content: "\e911";
}

.pi-circle-off:before {
    content: "\e912";
}

.pi-sort-down:before {
    content: "\e913";
}

.pi-sort-up:before {
    content: "\e914";
}

.pi-sort:before {
    content: "\e915";
}

.pi-step-backward:before {
    content: "\e916";
}

.pi-step-forward:before {
    content: "\e917";
}

.pi-th-large:before {
    content: "\e918";
}

.pi-arrow-down:before {
    content: "\e919";
}

.pi-arrow-left:before {
    content: "\e91a";
}

.pi-arrow-right:before {
    content: "\e91b";
}

.pi-arrow-up:before {
    content: "\e91c";
}

.pi-bars:before {
    content: "\e91d";
}

.pi-arrow-circle-down:before {
    content: "\e91e";
}

.pi-arrow-circle-left:before {
    content: "\e91f";
}

.pi-arrow-circle-right:before {
    content: "\e920";
}

.pi-arrow-circle-up:before {
    content: "\e921";
}

.pi-info:before {
    content: "\e923";
}

.pi-info-circle:before {
    content: "\e924";
}

.pi-home:before {
    content: "\e925";
}

.pi-spinner:before {
    content: "\e926";
}

/* animations.css */
.slide-down {
    animation: slideDown 0.3s ease-out forwards;
}

.slide-up {
    animation: slideUp 0.3s ease-in forwards;
}

@keyframes slideDown {
    0% {
        transform: translateY(-100px);
        opacity: 0;
    }

    100% {
        transform: translateY(0);
        opacity: 1;
    }
}

@keyframes slideUp {
    0% {
        transform: translateY(0);
        opacity: 1;
    }

    100% {
        transform: translateY(-100px);
        opacity: 0;
    }
}
.modal-content {
    width: 640px;
    background: white;
    padding: 25px 35px;
    border-radius: 8px;
    text-align: center;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
}

.modal-message {
    font-size: 30px;
    margin-bottom: 25px;
    color: #707478;
}

.modal-buttons {
    display: flex;
    justify-content: center;
    gap: 15px;
}
.custom-table-responsive {
    font-size: 14px !important;
    border-radius: 4px;
    overflow-x: auto;
    width: 100%;
    max-width: 100%;
    -webkit-overflow-scrolling: touch;
}

.custom-table-responsive .custom-table {
    width: 100%;
    table-layout: auto;
    min-width: 100%;
}

.custom-table-responsive .custom-table > thead > tr > th {
    background: #E6E6E6 !important;
    font-size: 14px !important;
    color: #565656 !important;
    font-weight: 600;
    border-color: #e2e7eb;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    padding: 8px 10px;
    line-height: 1.4;
    white-space: normal;
}

.custom-table-responsive .custom-table > thead > tr > th {
    border: none !important;
}

.custom-table-responsive .custom-table,
.custom-table-responsive .custom-table th,
.custom-table-responsive .custom-table td,
.custom-table-responsive .custom-table tr {
    border: none !important;
}

.custom-table-responsive .custom-table-body tr {
    vertical-align: top;
}

.custom-table-responsive .custom-table-body tr.even-row td {
    background-color: #ffffff !important;
    color: #707478;
    padding: 8px 10px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    line-height: 1.4;
    vertical-align: top;
    white-space: normal;
}

.custom-table-responsive .custom-table-body tr.alt-row td {
    background-color: #ffffff94 !important;
    color: #707478;
    padding: 8px 10px;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    line-height: 1.4;
    vertical-align: top;
    white-space: normal;
}

.custom-table-responsive .custom-table-body .custom-table-row:hover td {
    background-color: #eaeaea !important;
    cursor: pointer;
}

.custom-table-responsive .sort-icon:hover {
    cursor: pointer;
}

/* Responsive behavior for smaller screens */
@media (max-width: 768px) {
    .custom-table-responsive {
        overflow-x: scroll;
    }

    .custom-table-responsive .custom-table {
        min-width: 800px;
    }

    .custom-table-responsive .custom-table > thead > tr > th,
    .custom-table-responsive .custom-table-body tr td {
        font-size: 12px;
        padding: 6px 8px;
    }
}

@media (max-width: 576px) {
    .custom-table-responsive .custom-table {
        min-width: 900px;
    }

    .custom-table-responsive .custom-table > thead > tr > th,
    .custom-table-responsive .custom-table-body tr td {
        font-size: 11px;
        padding: 5px 6px;
    }
}
.custom-button {
    border: 1px solid #f59325 !important;
    background: #f59325 !important;
    color: #ffffff !important;
    min-height: 38px;
    border-radius: 4px;
}

.custom-button:hover:not(:disabled):not(.disabled) {
    border: 1px solid #ffffff !important;
    background-color: #f8b28b !important;
    color: #ffffff !important;
    transition: opacity 0.2s ease-in-out;
}

.custom-button.disabled,
.custom-button:disabled {
    opacity: 0.5;
    cursor: not-allowed !important;
    pointer-events: auto !important;
}

.custom-cancel-btn {
    border: 1px solid #f59325 !important;
    background: #ffffff !important;
    color: #f59325 !important;
    padding: 5px 10px;
    min-height: 38px;
    border-radius: 4px;
}

.custom-cancel-btn:hover {
    border: 1px solid #f59325 !important;
    transition: opacity 0.2s ease-in-out;
    opacity: 0.5;
}

.custom_search {
    border: 1px solid #ccd0d4;
    box-shadow: none;
    font-size: 0.875rem;
    border-radius: 4px;
}

.search-icon {
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    cursor: pointer;
    color: grey;
}
.form-select:focus {
    border-color: #ccd0d4;
    box-shadow: none
}

.form-select option {
    color: #555555;
    box-shadow: none
}

.form-control::placeholder {
    color: #6c757d;
    opacity: 1;
}

.form-control:focus {
    border-color: #ccd0d4;
    box-shadow: none
}

.form-check-input:focus {
    box-shadow: none;
    border-color: #ccd0d4;
}

input.form-check-input:checked {
    background-color: #F59326 !important;
    border-color: #F59326 !important;
    box-shadow: none
}

input.form-check-input {
    transition: background-color 0.3s ease, border-color 0.3s ease;
}

input.form-check-input::before {
    transition: transform 0.3s ease;
    background-color: white;
}

input.form-check-input:checked::before {
    transition: transform 0.3s ease;
}

.form-check-label {
    color: #6c757d;
}

.custom-checkbox {
    width: 20px;
    height: 20px;
}
.form-control.input-lg {
    height: 46px;
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.3333333;
    border-radius: 6px;
    border: 1px solid #ccd0d4;
    box-shadow: none;
}

.ant-picker {
    transition: all 0.3s ease;
    border-width: 1px !important;
    border-style: solid !important;
    border: 1px solid hsl(0, 0%, 80%);
    border-radius: 4px;
    min-height: 38px;
}

.ant-picker:hover {
    border-color: #f59325;
}

.ant-picker-focused {
    border-color: #f59325;
    box-shadow: 0 0 0 2px rgba(245, 147, 37, 0.2);
}

.ant-picker input {
    color: #f59325;
}

.ant-picker-clear,
.ant-picker-suffix {
    color: #f59325;
}

.ant-picker input::placeholder {
    color: #f59325;
    opacity: 0.6;
}

.from-date-highlight {
    background-color: #e6f7ff !important;
    border-radius: 50%;
}

.ant-picker-outlined:focus,
.ant-picker-outlined:focus-within {
    border-color: #f59325 !important;
    box-shadow: 0 0 0 2px rgba(245, 147, 37, 0.2) !important;
}

.ant-picker-active-bar {
    background-color: #f59325 !important;
}

.ant-picker .ant-picker-input>input {
    color: #575757 !important;
    font-weight: 400;
    font-size: 14px !important;
}

.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,
.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,
.ant-picker-dropdown .ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner {
    background-color: #f59325 !important;
    color: #fff;
}

.ant-picker-dropdown .ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner {
    background-color: #f59325;
    color: white;
}

.ant-picker-ok button {
    background-color: #f59325;
    border-color: #f59325;
}

.ant-picker-ok button:hover {
    background-color: #d47f1f;
    border-color: #d47f1f;
}

.ant-picker-now-btn {
    color: #f59325;
}

.ant-picker-now-btn:hover {
    color: #f59325;
}

.ant-picker-cell-in-view.ant-picker-cell-selected .ant-picker-cell-inner,
.ant-picker-cell-in-view.ant-picker-cell-range-start .ant-picker-cell-inner,
.ant-picker-cell-in-view.ant-picker-cell-range-end .ant-picker-cell-inner {
    background-color: #f59325 !important;
    color: #fff !important;
}

.ant-picker-cell-in-view.ant-picker-cell-in-range::before {
    background-color: rgba(245, 147, 37, 0.15) !important;
}

.ant-picker-cell-in-view.ant-picker-cell-range-hover-start::before,
.ant-picker-cell-in-view.ant-picker-cell-range-hover-end::before,
.ant-picker-cell-in-view.ant-picker-cell-range-hover::before {
    background-color: rgba(245, 147, 37, 0.2) !important;
}

.ant-picker-time-panel-cell-selected .ant-picker-time-panel-cell-inner {
    background-color: #f59325 !important;
    color: #fff !important;
}

.ant-picker-ok button {
    background-color: #f59325 !important;
    border-color: #f59325 !important;
    color: #fff !important;
}

.ant-picker-ok button:hover {
    background-color: #d47f1f !important;
    border-color: #d47f1f !important;
}

.ant-picker-today-btn {
    color: #f59325 !important;
}
/* Global styling for react-select multi-select (classNamePrefix="select") */

/* Control grows in height as more chips are selected instead of expanding width */
.select__control {
    min-height: 38px !important;
    height: auto !important;
}

/* Value container wraps selected chips onto new lines, increasing height */
.select__value-container {
    flex-wrap: wrap !important;
    height: auto !important;
    overflow: visible !important;
}

/* Control hover — orange accent border */
.select__control:hover {
    border-color: #f59325 !important;
}

/* Control focus — orange accent border with subtle glow */
.select__control--is-focused,
.select__control--is-focused:hover {
    border-color: #f59325 !important;
    box-shadow: 0 0 0 2px rgba(245, 147, 37, 0.2) !important;
}

/* Selected value chip label */
.select__multi-value__label {
    color: #333 !important;
}

/* Selected value chip remove icon */
.select__multi-value__remove:hover {
    background-color: #f59325 !important;
    color: #fff !important;
}

/* Dropdown option on hover/highlight — light orange background */
.select__option--is-focused,
.select__option--is-focused:active {
    background-color: #fdeee6 !important;
    color: #333 !important;
}

/* PDF Layout Styles */
.pdf-root {
    font-family: Arial, sans-serif;
    padding: 20px;
    background: white;
    width: auto;
    box-sizing: border-box;
    overflow: hidden;
}

.pdf-header {
    text-align: center;
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 2px solid #333;
}

.pdf-header-title {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 8px;
}

.pdf-header-subtitle {
    font-size: 18px;
    margin-bottom: 8px;
}

.pdf-header-date {
    font-size: 16px;
    color: #666;
}

/* Hide sort icons in PDF */
.pdf-root .sort-icon,
.pdf-root .fa-sort,
.pdf-root .fa-sort-up,
.pdf-root .fa-sort-down {
    display: none !important;
}

/* Remove click interactions in PDF */
.pdf-root .cursor-pointer {
    cursor: default !important;
}

/* Ensure tables display properly in PDF */
.pdf-root table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
}

.pdf-root td,
.pdf-root th {
    border: 1px solid #ddd;
    padding: 8px;
    font-size: 11px;
}

.pdf-root th {
    background-color: #f2f2f2;
    font-weight: bold;
}

/* Ensure graphs are sized appropriately in PDF */
.pdf-root svg,
.pdf-root canvas {
    max-width: 100% !important;
    height: auto !important;
}

/* Preserve chart cell layout in PDF */
.pdf-root .sftr-chart-cell {
    vertical-align: top;
    width: 43%;
}

.pdf-root .sftr-legend-cell {
    vertical-align: top;
    width: 14%;
    font-size: 10px;
}

.pdf-root .sftr-chart-wrapper {
    width: 100%;
    min-height: 300px;
}

.pdf-root .sftr-legend-label {
    font-size: 10px;
    line-height: 1.3;
}

.pdf-root .sftr-legend-color-square {
    width: 12px;
    height: 12px;
    min-width: 12px;
    min-height: 12px;
}

/* Remove page breaks inside chart tables */
.pdf-root .custom-table-responsive {
    page-break-inside: avoid;
}

/* ------------------------------------------------------------------ *
 * Trailing blank page fix for the Puppeteer-rendered report routes.
 *
 * App.js always mounts <ToastContainer /> (a `.Toastify` box) in normal flow
 * right after the routed report. Each report route wraps its content in a
 * landscape *named* page (e.g. `page: odcLandscape`), while the trailing
 * `.Toastify` box keeps the default page. Because their `page` values differ,
 * paged media forces a break after the report — emitting an empty A4 page at
 * the end of every generated PDF.
 *
 * `:has()` scopes this to pages that actually render a `.pdf-root` (i.e. the
 * standalone PDF routes only), so the toast stays visible everywhere else.
 * It is not wrapped in @media print because Puppeteer renders these routes in
 * screen-emulated paged media, where @media print rules would not apply.
 * ------------------------------------------------------------------ */
body:has(.pdf-root) .Toastify {
    display: none !important;
}

/* Drop the last element's bottom spacing so content can't spill onto an extra
   page. Unconditional (applies to both the Puppeteer routes and the in-app
   html2canvas output) since neither wants trailing space. */
.pdf-root > *:last-child,
.pdf-root > *:last-child table,
.pdf-root table:last-child {
    margin-bottom: 0 !important;
}
.hr-button {
    margin-bottom: 20px;
    color: #eee;
    opacity: unset;
    margin-top: 0px;
}

/* Background color utilities (ported from colorpicker.less) */
.bg-white          { background: #ffffff !important; }
.bg-silver-lighter { background: #f4f6f7 !important; }
.bg-silver         { background: #f0f3f4 !important; }
.bg-silver-darker  { background: #b4b6b7 !important; }

.bg-black          { background: #2d353c !important; }
.bg-black-darker   { background: #242a30 !important; }
.bg-black-lighter  { background: #575d63 !important; }

.bg-grey           { background: #b6c2c9 !important; }
.bg-grey-darker    { background: #929ba1 !important; }
.bg-grey-lighter   { background: #c5ced4 !important; }

.bg-red            { background: #ff5b57 !important; }
.bg-red-darker     { background: #cc4946 !important; }
.bg-red-lighter    { background: #ff7c79 !important; }

.bg-orange         { background: #f59c1a !important; }
.bg-orange-darker  { background: #c47d15 !important; }
.bg-orange-lighter { background: #f7b048 !important; }

.bg-yellow         { background: #e3fa3e !important; }
.bg-yellow-darker  { background: #b6c832 !important; }
.bg-yellow-lighter { background: #e9fb65 !important; }

.bg-green          { background: #00acac !important; }
.bg-green-darker   { background: #008a8a !important; }
.bg-green-lighter  { background: #33bdbd !important; }

.bg-blue           { background: #348fe2 !important; }
.bg-blue-darker    { background: #2a72b5 !important; }
.bg-blue-lighter   { background: #5da5e8 !important; }

.bg-aqua           { background: #49b6d6 !important; }
.bg-aqua-darker    { background: #3a92ab !important; }
.bg-aqua-lighter   { background: #6dc5de !important; }

.bg-purple         { background: #727cb6 !important; }
.bg-purple-darker  { background: #5b6392 !important; }
.bg-purple-lighter { background: #8e96c5 !important; }

.m-r-5         { margin-right: 5px !important; }
.m-b-5         { margin-bottom: 5px !important; }
.m-t-10        { margin-top: 10px !important; }
.m-b-10        { margin-bottom: 10px !important; }
/* Hide default checkbox */
.custom-switch {
    appearance: none;
    -webkit-appearance: none;
    width: 3rem;
    height: 1.5rem;
    background-color: #ffffff;
    border: 2px solid #ffffff;
    border-radius: 1.5rem;
    position: relative;
    outline: none;
    cursor: pointer;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
    transition: background-color 0.3s, border-color 0.3s;
}

/* Circle inside the switch */
.custom-switch::before {
    content: "";
    position: absolute;
    width: 1.2rem;
    height: 1.2rem;
    background-color: white;
    border-radius: 50%;
    left: 0.15rem;
    top: 0.05rem;
    transition: transform 0.3s ease;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}

/* When checkbox is checked */
.custom-switch:checked {
    background-color: rgb(245, 156, 26);
    border-color: rgb(245, 156, 26);
}

/* Move the circle to the right when checked */
.custom-switch:checked::before {
    transform: translateX(1.35rem);
}
.panel.custom-panel {
    background: #F4F4F4 !important;
    box-shadow: none !important;
    border-radius: 3px;
    border: none;
    margin-bottom: 50px;
}

.custom-panel-heading {
    background: #929292 !important;
    text-transform: uppercase;
    color: #fff;

    .panel-title {
        font-size: 14px;
    }
}

.panel-heading {
    padding: 10px 15px 3px;
    border: none;
}

.panel-body {
    label {
        font-weight: 600;
        color: #242a30;
    }

    p {
        color: #707478;
        font-size: 14px;
    }
}
.custom-tempo-tooltip {
    background-color: white !important;
    padding: 12px 20px !important;
    border-radius: 8px !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.5) !important;
    color: #393A3B !important;
    font-size: 14px !important;
    z-index: 9999 !important;
    border-top: 6px solid rgb(245, 147, 37) !important;
}
