/* ========================================================================== 
   Realty Needs - Bootstrap CSS Theme (No Sass)
   Centralized tokens and shared UI styles
   ========================================================================== */

:root {
  --rt-font-sans: "Roboto", sans-serif;
  --rt-font-display: "Roboto", sans-serif;

  --rt-bg: #f3f6fb;
  --rt-surface: #ffffff;
  --rt-surface-soft: #f8fbff;
  --rt-border: #d9e2f1;
  --rt-border-strong: #c4d2e7;
  --rt-text: #1f2a44;
  --rt-muted: #687a97;

  --rt-primary: #1e6fe8;
  --rt-primary-strong: #1659ba;
  --rt-primary-soft: #eaf2ff;
  --rt-success: #109364;
  --rt-warning: #cc7b00;
  --rt-danger: #c92b3a;
  --rt-info: #0d8fd5;

  --rt-sidebar-bg: #0f172a;
  --rt-sidebar-bg-soft: #16233b;
  --rt-sidebar-text: #d8e2f7;
  --rt-sidebar-muted: #9bb0d8;
  --rt-sidebar-accent: #7fb1ff;

  --rt-radius-sm: 8px;
  --rt-radius-md: 12px;
  --rt-radius-lg: 16px;
  --rt-radius-pill: 999px;

  --rt-shadow-sm: 0 10px 24px rgba(15, 23, 42, 0.08);
  --rt-shadow-md: 0 16px 40px rgba(15, 23, 42, 0.12);

  --rt-topbar-height: 72px;
  --rt-sidebar-width: 260px;
  --rt-sidebar-width-collapsed: 64px;

  --rt-table-header-bg: #edf4ff;
  --rt-table-hover-bg: #f4f8ff;
}

* {
  box-sizing: border-box;
}

html,
body {
  font-family: var(--rt-font-sans);
  color: var(--rt-text);
}

body {
  background:
    radial-gradient(900px 480px at 100% -10%, rgba(30, 111, 232, 0.12), transparent 60%),
    radial-gradient(660px 400px at -10% 0%, rgba(13, 143, 213, 0.1), transparent 55%),
    var(--rt-bg) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: var(--rt-primary);
  text-decoration: none;
}

a:hover,
a:focus,
a:visited,
a:active {
  color: var(--rt-primary-strong);
  text-decoration: none !important;
}

body.auth-shell {
  min-height: 100vh;
  background:
    radial-gradient(780px 420px at 15% -8%, rgba(13, 143, 213, 0.18), transparent 60%),
    radial-gradient(880px 480px at 95% 0%, rgba(30, 111, 232, 0.2), transparent 62%),
    linear-gradient(160deg, #f6f9ff 0%, #edf4ff 48%, #e8f1ff 100%) !important;
}

.auth-shell__brand {
  display: flex;
  justify-content: center;
  padding: 2.2rem 1rem 0.9rem;
}

.auth-shell__brand-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.auth-shell__brand-logo {
  max-width: 320px;
  width: 100%;
  height: auto;
  object-fit: contain;
}

.auth-shell__brand-fallback {
  font-family: var(--rt-font-display);
  font-size: 1.45rem;
  font-weight: 700;
  color: #1f3762;
}

.auth-shell__content {
  width: 100%;
  padding: 0 1rem 2.1rem;
}

.auth-login {
  max-width: 1100px;
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: 1rem;
  align-items: stretch;
}

.auth-login--simple {
  max-width: 460px;
  grid-template-columns: 1fr;
}

.auth-login--simple .auth-login__panel {
  margin: 0 auto;
  width: 100%;
}

.auth-login__intro {
  border: 1px solid #c8daf7;
  border-radius: var(--rt-radius-lg);
  background:
    radial-gradient(260px 140px at 100% 0%, rgba(13, 143, 213, 0.16), transparent 68%),
    linear-gradient(160deg, #ffffff 0%, #f1f7ff 100%);
  box-shadow: var(--rt-shadow-sm);
  padding: 1.35rem 1.3rem;
}

.auth-login__eyebrow {
  display: inline-flex;
  align-items: center;
  padding: 0.28rem 0.54rem;
  border-radius: var(--rt-radius-pill);
  border: 1px solid #c5d8fa;
  background: var(--rt-primary-soft);
  color: var(--rt-primary-strong);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-weight: 700;
}

.auth-login__title {
  margin: 0.85rem 0 0;
  font-family: var(--rt-font-display);
  font-size: 1.74rem;
  font-weight: 700;
  color: #1f3762;
}

.auth-login__subtitle {
  margin: 0.62rem 0 0;
  color: #4f688f;
  font-size: 0.94rem;
  max-width: 560px;
}

.auth-login__chips {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.44rem;
}

.auth-login__chip {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius-pill);
  padding: 0.3rem 0.58rem;
  background: #ffffff;
  color: #365784;
  font-size: 0.78rem;
  font-weight: 700;
}

.auth-login__panel {
  border: 1px solid #c8daf7;
  border-radius: var(--rt-radius-lg);
  background: #ffffff;
  box-shadow: var(--rt-shadow-sm);
  padding: 1.2rem 1.2rem 1.25rem;
}

.auth-login__panel-head {
  margin-bottom: 0.95rem;
}

.auth-login__panel-title {
  margin: 0;
  font-family: var(--rt-font-display);
  font-size: 1.22rem;
  font-weight: 700;
  color: #1f3762;
}

.auth-login__panel-text {
  margin: 0.35rem 0 0;
  color: var(--rt-muted);
  font-size: 0.84rem;
}

.auth-login__alert {
  margin-bottom: 0.9rem;
  font-size: 0.84rem;
}

.auth-login__form {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.auth-field {
  margin: 0;
}

.auth-field .form-label {
  margin-bottom: 0.35rem;
  color: #345783;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.auth-field__control {
  position: relative;
}

.auth-field__control > i.fa {
  position: absolute;
  left: 0.72rem;
  top: 50%;
  transform: translateY(-50%);
  color: #7a96bf;
  pointer-events: none;
}

.auth-field__control .form-control {
  height: 42px;
  padding-left: 2.3rem;
  border-radius: var(--rt-radius-sm);
}

.auth-login__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  flex-wrap: wrap;
  margin-top: 0.06rem;
}

.auth-login__row .form-check-label {
  color: #4f688f;
  font-size: 0.82rem;
}

.auth-login__link {
  font-size: 0.82rem;
  font-weight: 700;
  color: #2f5ea4;
}

.auth-login__submit {
  width: 100%;
  height: 42px;
  border-radius: 10px;
  font-size: 0.9rem;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
}

#wrapper {
  min-height: 100vh;
}

#page-content-wrapper {
  width: 100%;
  min-height: 100vh;
  position: relative;
  padding: 0 0 0 var(--rt-sidebar-width);
}

#page-content-wrapper > .container-fluid {
  padding: 1.3rem 1.15rem 1.25rem;
}

.global-heading {
  font-family: var(--rt-font-display);
  font-size: 1.65rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  margin: 0 0 1rem;
  color: var(--rt-text);
}

.float-right {
  float: right;
}

i.fa,
i.fas,
i.far,
i.fal,
i.fab,
i.fa-solid,
i.fa-regular,
i.fa-light,
i.fa-duotone,
i[class^="flaticon-"],
i[class*=" flaticon-"] {
  font-size: 1rem;
  line-height: 1;
}

.icon-sm {
  font-size: 0.875rem !important;
}

.icon-md {
  font-size: 1rem !important;
}

.icon-lg {
  font-size: 1.2rem !important;
}

.app-topbar {
  position: sticky;
  top: 0;
  z-index: 1020;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.9rem;
  height: var(--rt-topbar-height);
  margin-left: var(--rt-sidebar-width);
  width: calc(100% - var(--rt-sidebar-width));
  padding: 0 1rem;
  background: rgba(255, 255, 255, 0.94);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--rt-border);
  box-shadow: var(--rt-shadow-sm);
  border-bottom-left-radius: var(--rt-radius-md);
}

.app-topbar__left,
.app-topbar__right,
.navbar-icons__wrapper,
.topbar-user__wrapper {
  display: flex;
  align-items: center;
  gap: 0.65rem;
}

.app-topbar__left {
  min-width: 0;
  flex: 1 1 auto;
}

.app-topbar__right,
.navbar-icons__wrapper {
  margin-left: auto;
}

.app-topbar__title,
.app-topbar__brand-text {
  font-family: var(--rt-font-display);
  font-size: 1rem;
  font-weight: 700;
  color: var(--rt-text);
}

.app-topbar__brand {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.55rem;
  border-radius: var(--rt-radius-sm);
  text-decoration: none !important;
  color: var(--rt-text);
  border: 1px solid transparent;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.app-topbar__brand:hover,
.app-topbar__brand:focus {
  background: var(--rt-surface-soft);
  border-color: var(--rt-border);
  text-decoration: none !important;
}

.app-topbar__brand img {
  height: 34px;
  width: auto;
  display: block;
  object-fit: contain;
}

.app-topbar .dropdown {
  float: none;
}

.app-topbar__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none !important;
}

button.app-topbar__icon {
  border: 0;
  padding: 0;
  background: transparent;
}

button.app-topbar__icon:focus-visible {
  outline: 2px solid rgba(30, 111, 232, 0.35);
  outline-offset: 2px;
  border-radius: var(--rt-radius-sm);
}

.top-bar-toggler,
.menu-txt-toggle,
.mobile-nav {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--rt-radius-sm);
  border: 1px solid var(--rt-border);
  background: var(--rt-surface);
  color: var(--rt-text);
  transition: all 0.2s ease;
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.02);
}

.top-bar-toggler:hover,
.top-bar-toggler:focus,
.menu-txt-toggle:hover,
.menu-txt-toggle:focus,
.mobile-nav:hover,
.mobile-nav:focus {
  background: var(--rt-surface-soft);
  border-color: var(--rt-border-strong);
  color: var(--rt-primary);
}

.menu-txt-toggle {
  display: none !important;
}

.mobile-nav {
  display: inline-flex !important;
}

.topbar-notify__toggle {
  position: relative;
}

.topbar-notify__badge {
  position: absolute;
  top: -6px;
  right: -6px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  border: 2px solid #ffffff;
  background: var(--rt-danger);
  color: #ffffff;
  font-size: 0.64rem;
  font-weight: 700;
  line-height: 14px;
  text-align: center;
}

.topbar-user__head {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 40px;
  border-radius: var(--rt-radius-pill);
  border: 1px solid var(--rt-border);
  background: var(--rt-surface);
  color: var(--rt-text);
  padding: 5px 12px !important;
  transition: background-color 0.2s ease, border-color 0.2s ease;
}

.topbar-user__head:hover,
.topbar-user__head:focus,
.topbar-user__head[aria-expanded="true"] {
  background: var(--rt-surface-soft);
  border-color: var(--rt-border-strong);
  color: var(--rt-text);
}

.topbar-user__name {
  font-weight: 600;
}

.topbar-user__image {
  width: 35px;
  height: 35px;
  border-radius: 50%;
  object-fit: cover;
}

.topbar-user__dropdown-menu {
  min-width: 230px;
  margin-top: 0.5rem;
  padding: 0;
  left: auto;
  right: 0;
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius-md);
  box-shadow: var(--rt-shadow-md);
  overflow: hidden;
}

.app-topbar .topbar-user__wrapper {
  position: relative;
  z-index: 1030;
}

.app-topbar .topbar-user__wrapper > .topbar-user__dropdown-menu,
.app-topbar .topbar-user__wrapper > .topbar-user__dropdown-menu[data-bs-popper] {
  inset: auto 0 auto auto !important;
  top: calc(100% + 0.5rem) !important;
  right: 0 !important;
  left: auto !important;
  transform: none !important;
  margin-top: 0 !important;
  z-index: 1060;
}

.topbar-user__content-header {
  position: relative;
  margin: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 70px;
  margin-bottom: 35px;
  padding: 1rem;
  background: linear-gradient(135deg, var(--rt-primary) 0%, var(--rt-info) 100%);
}

.topbar-user__card-wrapper {
  position: absolute;
  left: 0;
  right: 0;
  bottom: -35px;
  display: flex;
  align-items: stretch;
  height: 100%;
  padding: 0 1.75rem;
}

.topbar-user__card-image-wrapper {
  display: flex;
  align-items: center;
  padding-right: 1rem;
  padding-bottom: 2rem;
}

.topbar-user__card-image {
  max-height: 55px;
  border-radius: 50%;
}

.topbar-user__card-details {
  display: flex;
  flex-direction: column;
}

.topbar-user__card__name {
  display: flex;
  align-items: flex-end;
  height: 50%;
  font-size: 1rem;
  font-weight: 600;
  color: #ffffff;
  padding-bottom: 0.25rem;
}

.topbar-user__card__info {
  display: flex;
  align-items: flex-start;
  height: 50%;
  font-size: 0.86rem;
  color: #d9e4ff;
  padding-top: 0.25rem;
}

.topbar-user__list-wrapper {
  list-style: none;
  margin: 0;
  padding: 0.45rem 0;
}

.topbar-user__list-link {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.6rem 1rem;
  transition: background-color 0.15s ease;
  text-decoration: none !important;
  color: inherit;
}

.topbar-user__list-link:hover {
  background: #f3f7ff;
  text-decoration: none !important;
}

.topbar-user__list-link:focus,
.topbar-user__list-link:active,
.topbar-user__logout,
.topbar-user__logout:hover,
.topbar-user__logout:focus,
.topbar-user__logout:active {
  text-decoration: none !important;
}

.topbar-user__logout {
  margin: 0.75rem 1rem 0.25rem;
  width: calc(100% - 2rem);
}

.user__list-icon {
  flex: 0 0 28px;
  color: #7f8da8;
}

.user__list-text {
  color: #2e456f;
  font-size: 0.9rem;
  font-weight: 500;
}

.action-panel {
  position: fixed;
  right: -400px;
  top: var(--rt-topbar-height);
  width: 400px;
  height: calc(100% - var(--rt-topbar-height));
  z-index: 1035;
  background: var(--rt-surface);
  border-left: 1px solid var(--rt-border);
  box-shadow: var(--rt-shadow-md);
  transition: right 0.2s ease;
}

.action-panel.bar {
  right: 0;
}

.action-panel-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  justify-content: space-between;
  padding: 1rem 1.25rem;
  background: var(--rt-surface);
  border-bottom: 1px solid var(--rt-border);
}

.action-panel-header__tabs {
  margin: 0;
  padding: 0;
  border: 0;
  gap: 0.35rem;
  flex-wrap: nowrap;
}

.action-panel-header__nav-link {
  border: 1px solid transparent !important;
  border-radius: var(--rt-radius-sm) !important;
  color: var(--rt-muted);
  font-weight: 600;
  padding: 0.42rem 0.72rem !important;
}

.action-panel-header__nav-link:hover,
.action-panel-header__nav-link:focus {
  color: var(--rt-primary-strong);
  background: var(--rt-primary-soft);
  border-color: #c0d8ff !important;
}

.action-panel-header__nav-link.active,
.action-panel-header__nav-link.active:hover,
.action-panel-header__nav-link.active:focus {
  border-color: var(--rt-primary) !important;
  background: var(--rt-primary) !important;
  color: #ffffff !important;
}

.action-panel-header__btn-close {
  margin-left: auto;
  flex: 0 0 auto;
  width: 32px;
  height: 32px;
  border: 0;
  border-radius: var(--rt-radius-sm);
  background: transparent;
  color: var(--rt-muted);
}

.action-panel-header__btn-close:hover {
  background: var(--rt-primary-soft);
  color: var(--rt-primary);
}

.action-panel .nav-tabs {
  border-bottom: 0;
}

.action-panel .tab-content {
  height: calc(100% - 73px);
  overflow: auto;
}

.action-panel .tab-pane {
  padding: 0.9rem;
}

.notification-wrapper {
  min-height: 100%;
}

.notification-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.notification-toolbar {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.65rem;
}

.notification-toolbar__link {
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--rt-primary);
  text-decoration: none !important;
}

.notification-toolbar__link:hover,
.notification-toolbar__link:focus {
  color: var(--rt-primary-strong);
  text-decoration: none !important;
}

.notification-item {
  list-style: none;
}

.notification-item__link {
  display: block;
  padding: 0.72rem 0.8rem;
  border-radius: var(--rt-radius-sm);
  border: 1px solid var(--rt-border);
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
  text-decoration: none;
}

.notification-item__link:hover,
.notification-item__link:focus {
  border-color: #b8d1f8;
  background: #f8fbff;
  text-decoration: none !important;
}

.notification-item--unread .notification-item__link {
  border-color: #bcd4ff;
  background: #f4f9ff;
}

.notification-item__header {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.notification-item__avatar {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  object-fit: cover;
}

.notification-item__time {
  margin-left: auto;
  font-size: 0.75rem;
  color: var(--rt-muted);
}

.notification-item__message {
  margin: 0.52rem 0 0.3rem;
  color: var(--rt-text);
  font-size: 0.88rem;
  line-height: 1.4;
}

.notification-item__status {
  display: inline-flex;
  align-items: center;
  border-radius: var(--rt-radius-pill);
  background: var(--rt-primary-soft);
  color: var(--rt-primary);
  font-size: 0.68rem;
  font-weight: 700;
  line-height: 1;
  padding: 0.26rem 0.48rem;
}

.notification-item__author {
  font-size: 0.78rem;
  color: var(--rt-muted);
  font-weight: 600;
}

.action-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}

.action-item {
  list-style: none;
}

.action-item__link {
  display: flex;
  gap: 0.68rem;
  align-items: flex-start;
  padding: 0.72rem 0.8rem;
  border-radius: var(--rt-radius-sm);
  border: 1px solid var(--rt-border);
  background: #ffffff;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.05);
  color: var(--rt-text);
  text-decoration: none !important;
}

.action-item__link:hover,
.action-item__link:focus {
  border-color: #b8d1f8;
  background: #f8fbff;
  color: var(--rt-text);
  text-decoration: none !important;
}

.action-item--unread .action-item__link {
  border-color: #bcd4ff;
  background: #f4f9ff;
}

.action-item__icon {
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--rt-primary);
  background: var(--rt-primary-soft);
}

.action-item__body {
  min-width: 0;
  flex: 1 1 auto;
}

.action-item__meta {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.action-item__title {
  font-size: 0.78rem;
  font-weight: 700;
  color: #2d4b79;
}

.action-item__time {
  margin-left: auto;
  font-size: 0.75rem;
  color: var(--rt-muted);
}

.action-item__message {
  margin: 0.35rem 0 0;
  font-size: 0.86rem;
  color: var(--rt-text);
  line-height: 1.4;
}

.notification-empty,
.action-panel-empty {
  min-height: 280px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.8rem;
  text-align: center;
}

.notification-empty__image,
.action-panel-empty__image {
  width: 150px;
  max-width: 100%;
}

.notification-empty__title,
.action-panel-empty__title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: var(--rt-muted);
}

.navmenu {
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  width: var(--rt-sidebar-width);
  z-index: 1010;
  margin: 0;
  padding: 0;
  overflow-y: auto;
  list-style: none;
  border-right: 1px solid rgba(157, 178, 216, 0.2);
  background:
    radial-gradient(250px 220px at 18% 0%, rgba(127, 177, 255, 0.18), transparent 62%),
    linear-gradient(180deg, var(--rt-sidebar-bg) 0%, var(--rt-sidebar-bg-soft) 100%);
  scrollbar-width: thin;
  scrollbar-color: rgba(164, 188, 232, 0.55) rgba(12, 22, 40, 0.22);
}

.navmenu::-webkit-scrollbar {
  width: 6px;
}

.navmenu::-webkit-scrollbar-track {
  background: rgba(12, 22, 40, 0.22);
}

.navmenu::-webkit-scrollbar-thumb {
  background: rgba(164, 188, 232, 0.55);
  border-radius: 999px;
}

.navmenu::-webkit-scrollbar-thumb:hover {
  background: rgba(164, 188, 232, 0.75);
}

.sidebar-menu {
  padding: 0.75rem 0.5rem 1rem;
  border-radius: 0;
  background: transparent;
}

.sidebar-brand {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0.45rem 0.75rem;
  padding: 0.75rem;
  border-radius: var(--rt-radius-md);
  background: rgba(12, 20, 38, 0.55);
  border: 1px solid rgba(157, 178, 216, 0.22);
}

.sidebar-brand img {
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.sidebar-brand__title {
  font-family: var(--rt-font-display);
  font-size: 0.98rem;
  font-weight: 700;
  color: #ffffff;
}

.sidebar-brand__subtitle {
  font-size: 0.74rem;
  color: var(--rt-sidebar-muted);
}

.navmenu .list-group-item {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  position: relative;
  min-height: 42px;
  margin: 0.2rem 0.55rem;
  padding: 0.58rem 0.82rem;
  border: 1px solid transparent;
  border-radius: var(--rt-radius-sm);
  background: transparent;
  color: var(--rt-sidebar-text);
  font-size: 0.86rem;
  font-weight: 500;
  text-decoration: none !important;
  transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.navmenu .list-group-item:hover,
.navmenu .list-group-item:focus {
  color: #ffffff;
  background: rgba(127, 177, 255, 0.14);
  border-color: rgba(127, 177, 255, 0.32);
}

.navmenu .list-group-item.active-menu {
  color: #ffffff;
  background: rgba(127, 177, 255, 0.2);
  border-color: rgba(127, 177, 255, 0.45);
  box-shadow: inset 0 0 0 1px rgba(127, 177, 255, 0.12);
}

.navmenu .list-group-item.active-menu::before {
  content: "";
  position: absolute;
  left: -0.55rem;
  top: 20%;
  width: 4px;
  height: 60%;
  border-radius: 999px;
  background: var(--rt-sidebar-accent);
}

.navmenu .list-group-item .float-end {
  margin-left: auto;
}

.sidebar-toggle {
  cursor: pointer;
}

.sidebar-arrow {
  margin-left: auto;
  color: var(--rt-sidebar-muted);
  transition: transform 0.2s ease, color 0.2s ease;
}

.arrow-down {
  transform: rotate(180deg);
}

.sidebar-toggle[aria-expanded="true"] .sidebar-arrow {
  color: #ffffff;
}

.sidebar-icon {
  width: 18px;
  text-align: center;
  color: var(--rt-sidebar-muted);
  font-size: 0.95rem;
}

.childlist {
  color: #bdd0ef;
  font-size: 0.82rem;
  padding-left: 0.95rem !important;
}

.childlist .sidebar-icon {
  color: #bdd0ef;
}

.sidebar-submenu {
  display: none;
  margin: 0 0.55rem 0.45rem 1.35rem;
  padding: 0.25rem 0 0.1rem;
  border-left: 1px dashed rgba(184, 205, 240, 0.35);
}

.sidebar-submenu.is-open,
.sidebar-submenu.show,
.sidebar-submenu.in {
  display: block;
}

.sidebar-submenu .list-group-item {
  margin: 0.12rem 0.35rem;
}

.myNavmenu-icons .navmenu {
  width: var(--rt-sidebar-width-collapsed);
}

.myNavmenu-icons .sidebar-brand {
  justify-content: center;
  padding: 0.65rem;
}

.myNavmenu-icons .sidebar-brand img {
  width: 34px;
  height: 34px;
}

.myNavmenu-icons .sidebar-brand__title,
.myNavmenu-icons .sidebar-brand__subtitle {
  display: none;
}

.myNavmenu-icons #myNavmenu a.list-group-item {
  justify-content: center;
  padding: 0.6rem;
  font-size: 0;
}

.myNavmenu-icons #myNavmenu .sidebar-icon,
.myNavmenu-icons #myNavmenu .sidebar-arrow {
  padding: 0;
  font-size: 1.1rem;
  color: #ffffff;
}

.myNavmenu-icons #myNavmenu .sidebar-arrow {
  display: none;
}

.myNavmenu-icons #myNavmenu .childlist {
  padding-left: 1rem !important;
}

.myNavmenu-icons #myNavmenu .sidebar-submenu {
  display: none !important;
}

#myNavmenu .sidebar-brand {
  text-align: left;
}

.tablet,
.panel,
.card,
.white-box,
.small-box,
.info-box,
.box {
  background: var(--rt-surface);
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius-md);
  box-shadow: var(--rt-shadow-sm);
}

.tablet {
  margin-bottom: 20px;
}

.tablet__head,
.panel-heading,
.card-header,
.box-header {
  display: flex;
  align-items: center;
  min-height: 56px;
  padding: 0.85rem 1rem;
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border-bottom: 1px solid var(--rt-border);
}

.tablet__head-title,
.box-title {
  font-family: var(--rt-font-display);
  font-size: 1.08rem;
  font-weight: 700;
  margin: 0;
  color: var(--rt-text);
}

.tablet__body,
.panel-body,
.card-body,
.box-body,
.tablet__footer,
.panel-footer,
.card-footer {
  padding: 1rem;
  background: var(--rt-surface);
}

.tablet__footer,
.panel-footer,
.card-footer {
  border-top: 1px solid var(--rt-border);
}

.tablet--tabs .nav-tabs {
  border: 0;
}

.tablet--tabs .nav-tabs > li > a {
  border: 0;
  color: var(--rt-muted);
  font-weight: 600;
}

.tablet--tabs .nav-tabs > li.active,
.tablet--tabs .nav-tabs > li.active > a,
.tablet--tabs .nav-tabs > li.active > a:hover,
.tablet--tabs .nav-tabs > li.active > a:focus {
  border: 0;
  color: var(--rt-primary);
  background: transparent;
}

.dashboard-wrapper {
  display: flex;
  flex-direction: column;
  gap: 1.35rem;
}

.dashboard-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.1rem;
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius-md);
  background:
    radial-gradient(300px 150px at 100% 0%, rgba(30, 111, 232, 0.08), transparent 65%),
    linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  box-shadow: var(--rt-shadow-sm);
}

.dashboard-header__left {
  min-width: 0;
}

.dashboard-header__eyebrow {
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--rt-muted);
  font-weight: 700;
  margin-bottom: 0.25rem;
}

.dashboard-header__title {
  margin: 0;
  font-family: var(--rt-font-display);
  font-size: 1.32rem;
  font-weight: 700;
  color: var(--rt-text);
}

.dashboard-header__subtitle {
  margin: 0.38rem 0 0;
  font-size: 0.87rem;
  color: var(--rt-muted);
}

.dashboard-header__right {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.dashboard-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.38rem 0.6rem;
  border-radius: var(--rt-radius-pill);
  border: 1px solid #c4d8fb;
  background: var(--rt-primary-soft);
  color: var(--rt-primary-strong);
  font-size: 0.74rem;
  font-weight: 700;
}

.dashboard-chip--soft {
  border-color: var(--rt-border);
  background: #ffffff;
  color: var(--rt-muted);
}

.dashboard-stats,
.dashboard-panels {
  margin: 0;
}

.dashboard-stats .stat-card {
  --stat-accent: var(--rt-primary);
  --stat-accent-soft: rgba(30, 111, 232, 0.12);
  display: flex;
  align-items: center;
  gap: 0.95rem;
  min-height: 116px;
  position: relative;
  overflow: hidden;
  text-decoration: none;
  color: var(--rt-text);
  background: var(--rt-surface);
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius-lg);
  box-shadow: var(--rt-shadow-sm);
  padding: 1.05rem 1.15rem;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
}

.dashboard-stats .stat-card::after {
  content: "";
  position: absolute;
  inset: 0;
  background: radial-gradient(220px 120px at 100% 0%, var(--stat-accent-soft) 0%, transparent 60%);
  pointer-events: none;
}

.dashboard-stats .stat-card::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
  width: 4px;
  border-radius: 999px;
  background: var(--stat-accent);
  opacity: 0.9;
}

.dashboard-stats .stat-card > * {
  position: relative;
  z-index: 1;
}

.dashboard-stats .stat-card:hover {
  transform: translateY(-2px);
  border-color: rgba(30, 111, 232, 0.34);
  box-shadow: 0 14px 28px rgba(15, 23, 42, 0.12);
}

.stat-card__icon {
  width: 50px;
  height: 50px;
  border-radius: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--stat-accent-soft);
  color: var(--stat-accent);
  font-size: 1.25rem;
}

.stat-card__content {
  display: flex;
  flex-direction: column;
  gap: 0.32rem;
}

.stat-card__label {
  font-size: 0.75rem;
  color: var(--rt-muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.stat-card__value {
  font-family: var(--rt-font-display);
  font-size: 1.48rem;
  font-weight: 700;
  color: var(--rt-text);
}

.stat-card__value--currency {
  font-size: 1.2rem;
}

.stat-card__meta {
  display: inline-flex;
  align-items: center;
  gap: 0.32rem;
  font-size: 0.84rem;
  color: var(--stat-accent);
}

.stat-card--indigo {
  --stat-accent: #1e6fe8;
  --stat-accent-soft: rgba(30, 111, 232, 0.13);
}

.stat-card--emerald {
  --stat-accent: #109364;
  --stat-accent-soft: rgba(16, 147, 100, 0.13);
}

.stat-card--amber {
  --stat-accent: #cc7b00;
  --stat-accent-soft: rgba(204, 123, 0, 0.14);
}

.stat-card--violet {
  --stat-accent: #6e56cf;
  --stat-accent-soft: rgba(110, 86, 207, 0.13);
}

.stat-card--sky {
  --stat-accent: #0d8fd5;
  --stat-accent-soft: rgba(13, 143, 213, 0.13);
}

.stat-card--rose {
  --stat-accent: #cc3f6d;
  --stat-accent-soft: rgba(204, 63, 109, 0.14);
}

.stat-card--teal {
  --stat-accent: #1297a2;
  --stat-accent-soft: rgba(18, 151, 162, 0.14);
}

.dashboard-side-panels {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.dashboard-chart .tablet__head {
  align-items: flex-start;
}

.dashboard-chart__head {
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.dashboard-chart__subtitle {
  margin: 0.32rem 0 0;
  font-size: 0.82rem;
  color: var(--rt-muted);
}

.dashboard-chart__tags {
  display: flex;
  align-items: center;
  gap: 0.38rem;
  flex-wrap: wrap;
}

.dashboard-chart__tag {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  padding: 0.28rem 0.5rem;
  border-radius: var(--rt-radius-pill);
  border: 1px solid var(--rt-border);
  background: #ffffff;
  font-size: 0.72rem;
  font-weight: 700;
}

.dashboard-chart__tag--customers {
  border-color: rgba(30, 111, 232, 0.35);
  color: #1e6fe8;
}

.dashboard-chart__tag--agents {
  border-color: rgba(16, 147, 100, 0.3);
  color: #109364;
}

.dashboard-chart__tag--plots {
  border-color: rgba(204, 123, 0, 0.35);
  color: #cc7b00;
}

.dashboard-chart__body {
  padding-top: 0.7rem;
}

.dashboard-chart__canvas-wrap {
  position: relative;
  width: 100%;
  height: 320px;
}

.dashboard-chart canvas {
  width: 100% !important;
  height: 100% !important;
}

.booking-dashboard .stat-card__value--currency {
  font-size: 1.06rem;
  line-height: 1.3;
  white-space: nowrap;
}

.booking-stat-card--static {
  cursor: default;
}

.booking-stat-card--static:hover {
  transform: none;
  border-color: var(--rt-border);
  box-shadow: var(--rt-shadow-sm);
}

.booking-chart-card .dashboard-chart__subtitle {
  max-width: 420px;
}

.booking-chart-card__body {
  padding-top: 0.75rem;
}

.booking-chart-canvas-wrap {
  position: relative;
  width: 100%;
  height: 320px;
}

.dashboard-panels .tablet {
  width: 100%;
  margin-bottom: 0;
}

.dashboard-list-card .tablet__body {
  min-height: 190px;
  padding: 0.8rem 0.95rem 0.95rem;
}

.dashboard-list-card__head {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.6rem;
}

.dashboard-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  height: 28px;
  border-radius: var(--rt-radius-pill);
  padding: 0 0.45rem;
  border: 1px solid rgba(30, 111, 232, 0.28);
  background: var(--rt-primary-soft);
  color: var(--rt-primary-strong);
  font-size: 0.76rem;
  font-weight: 700;
}

.dashboard-pill--danger {
  border-color: rgba(201, 43, 58, 0.3);
  background: rgba(201, 43, 58, 0.1);
  color: #b02230;
}

.dashboard-people-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.56rem;
  max-height: 356px;
  overflow-y: auto;
}

.dashboard-person {
  display: flex;
  align-items: center;
  gap: 0.62rem;
  padding: 0.58rem 0.62rem;
  border-radius: var(--rt-radius-sm);
  border: 1px solid var(--rt-border);
  background: linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
}

.dashboard-person__avatar {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  border-width: 1px;
}

.dashboard-person__body {
  min-width: 0;
  flex: 1 1 auto;
}

.dashboard-person__name {
  display: inline-block;
  max-width: 100%;
  color: #27457a;
  font-size: 0.88rem;
  font-weight: 700;
  text-decoration: none !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dashboard-person__name:hover,
.dashboard-person__name:focus {
  color: #1a3461;
  text-decoration: none !important;
}

.dashboard-person__meta {
  margin-top: 0.2rem;
  font-size: 0.76rem;
  color: var(--rt-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dashboard-person__status {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  padding: 0.3rem 0.44rem;
  border-radius: var(--rt-radius-pill);
  font-size: 0.68rem;
  font-weight: 700;
  border: 1px solid transparent;
}

.dashboard-person__status--online {
  color: #0e8159;
  border-color: rgba(16, 147, 100, 0.28);
  background: rgba(16, 147, 100, 0.1);
}

.dashboard-person__status--away {
  color: #b02230;
  border-color: rgba(201, 43, 58, 0.28);
  background: rgba(201, 43, 58, 0.1);
}

.dashboard-empty {
  min-height: 162px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 0.45rem;
  text-align: center;
  color: var(--rt-muted);
}

.dashboard-empty i {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  border: 1px solid var(--rt-border);
  background: var(--rt-surface-soft);
  color: #4b6da3;
  font-size: 1rem;
}

.dashboard-empty p {
  margin: 0;
  font-size: 0.85rem;
  font-weight: 600;
}

.tablet-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid #ffffff;
  box-shadow: 0 0 0 1px var(--rt-border);
}

.btn {
  border-radius: var(--rt-radius-sm);
  font-weight: 600;
  letter-spacing: 0.01em;
  box-shadow: none;
}

.btn-primary,
.btn.btn-brand {
  background: var(--rt-primary);
  border-color: var(--rt-primary);
  color: #ffffff;
}

.btn-primary:hover,
.btn-primary:focus,
.btn.btn-brand:hover,
.btn.btn-brand:focus {
  background: var(--rt-primary-strong);
  border-color: var(--rt-primary-strong);
  color: #ffffff;
}

.btn.btn-teal {
  background: #18a589;
  border-color: #18a589;
  color: #ffffff;
}

.btn.btn-teal:hover,
.btn.btn-teal:focus {
  background: #14866f;
  border-color: #14866f;
  color: #ffffff;
}

.btn-outline-metal,
.btn.btn-outline-metal {
  background: var(--rt-surface);
  border-color: var(--rt-border-strong);
  color: var(--rt-text);
}

.btn-outline-metal:hover,
.btn-outline-metal:focus,
.btn.btn-outline-metal:hover,
.btn.btn-outline-metal:focus {
  background: var(--rt-primary-soft);
  border-color: #9ac0ff;
  color: var(--rt-primary);
}

.btn-hover-brand:hover {
  background: var(--rt-primary-strong);
  border-color: var(--rt-primary-strong);
  color: #ffffff;
}

.btn.btn-clean {
  background: transparent;
  border: 0;
  padding: 0;
}

.btn.btn-clean:focus,
.btn.btn-icon:focus {
  outline: none;
  box-shadow: none;
}

.btn.btn-upper {
  text-transform: uppercase;
}

.btn.btn-bold {
  font-weight: 700;
}

.btn.btn-full-width {
  width: 100%;
}

.btn-md {
  font-size: 0.93rem;
  padding: 0.56rem 0.95rem;
  border-radius: var(--rt-radius-sm);
}

.btn-xlg {
  font-size: 1.08rem;
  padding: 0.85rem 1.25rem;
  border-radius: var(--rt-radius-md);
}

.form-control,
.form-select,
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select,
input[type="text"],
input[type="email"],
input[type="number"],
input[type="search"],
input[type="password"],
select,
textarea {
  border-radius: var(--rt-radius-sm);
  border: 1px solid var(--rt-border-strong);
  background: #ffffff;
}

.form-control:focus,
.form-select:focus,
input:focus,
select:focus,
textarea:focus {
  border-color: #8cb7ff;
  box-shadow: 0 0 0 0.2rem rgba(30, 111, 232, 0.16);
}

.table,
table.table {
  border-color: var(--rt-border);
}

.table > thead > tr > th,
.table > thead > tr > td {
  background: var(--rt-table-header-bg);
  color: #2a4877;
  border-bottom: 1px solid #d7e5ff;
  font-size: 0.77rem;
  text-transform: uppercase;
  letter-spacing: 0.03em;
  font-weight: 700;
  vertical-align: middle;
}

.table > tbody > tr > td,
.table > tbody > tr > th {
  border-top: 1px solid #e7eef9;
  vertical-align: middle;
}

.table-hover > tbody > tr:hover {
  background: var(--rt-table-hover-bg);
}

a.paginate_button,
.dataTables_wrapper .dataTables_paginate .paginate_button {
  border-radius: var(--rt-radius-sm);
  border: 1px solid var(--rt-border) !important;
  background: var(--rt-surface);
}

a.paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover {
  background: var(--rt-primary) !important;
  border-color: var(--rt-primary) !important;
  color: #ffffff !important;
}

a.paginate_button:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
  background: var(--rt-primary-soft) !important;
  border-color: #b9d0ff !important;
  color: var(--rt-primary-strong) !important;
}

.table th,
.table td {
  padding: 0.7rem 0.78rem;
}

.table td .btn.btn-link {
  text-decoration: none !important;
}

.table td a:not(.btn):not(.dropdown-item),
.dataTables_wrapper table.dataTable tbody td a:not(.btn):not(.dropdown-item):not(.paginate_button) {
  color: #1d57a8;
  font-weight: 700;
  text-decoration: none !important;
  border-radius: 6px;
  padding: 0.08rem 0.18rem;
  transition: all 0.16s ease;
}

.table td a:not(.btn):not(.dropdown-item):hover,
.table td a:not(.btn):not(.dropdown-item):focus,
.dataTables_wrapper table.dataTable tbody td a:not(.btn):not(.dropdown-item):not(.paginate_button):hover,
.dataTables_wrapper table.dataTable tbody td a:not(.btn):not(.dropdown-item):not(.paginate_button):focus {
  color: #133f83;
  text-decoration: none !important;
  background: #ebf3ff;
}

.table td a:not(.btn):not(.dropdown-item) *,
.dataTables_wrapper table.dataTable tbody td a:not(.btn):not(.dropdown-item):not(.paginate_button) * {
  text-decoration: none !important;
}

.dataTables_wrapper {
  position: relative;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_filter {
  margin-bottom: 0.85rem;
}

.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_filter label {
  margin: 0;
  display: inline-flex;
  align-items: center;
  gap: 0.48rem;
  font-size: 0.8rem;
  font-weight: 700;
  color: var(--rt-muted);
}

.dataTables_wrapper .dataTables_filter {
  text-align: right;
}

.dataTables_wrapper .dataTables_filter input {
  margin-left: 0 !important;
  min-width: 230px;
  max-width: 100%;
  height: 38px;
  padding: 0.45rem 0.72rem;
  border-radius: var(--rt-radius-sm);
  border: 1px solid var(--rt-border-strong);
  background: #ffffff;
  color: #24406a;
}

.dataTables_wrapper .dataTables_filter input:focus {
  border-color: #8cb7ff;
  box-shadow: 0 0 0 0.18rem rgba(30, 111, 232, 0.16);
}

.dataTables_wrapper .dataTables_length select {
  min-width: 74px;
  height: 38px;
  padding: 0.35rem 0.5rem;
  border-radius: var(--rt-radius-sm);
  border: 1px solid var(--rt-border-strong);
  background: #ffffff;
  color: #24406a;
}

.dataTables_wrapper .dataTables_info {
  padding-top: 0.65rem;
  color: var(--rt-muted);
  font-size: 0.78rem;
  font-weight: 600;
}

.dataTables_wrapper .dataTables_paginate {
  padding-top: 0.2rem;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  margin-left: 0.25rem !important;
  min-width: 34px;
  padding: 0.36rem 0.62rem !important;
  line-height: 1.05;
  font-size: 0.78rem;
  font-weight: 700;
  color: #345683 !important;
  border-radius: var(--rt-radius-sm);
  transition: all 0.16s ease;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active {
  color: #99abc8 !important;
  background: #f6f9ff !important;
  border-color: #d9e5f8 !important;
}

.dataTables_wrapper table.dataTable {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border-collapse: separate;
  border-spacing: 0;
}

.dataTables_wrapper table.dataTable thead th,
.dataTables_wrapper table.dataTable thead td {
  position: relative;
  vertical-align: middle;
  white-space: nowrap;
}

.dataTables_wrapper table.dataTable thead th.sorting,
.dataTables_wrapper table.dataTable thead th.sorting_asc,
.dataTables_wrapper table.dataTable thead th.sorting_desc {
  cursor: pointer;
  background-image: none !important;
  padding-right: 1.45rem;
}

.dataTables_wrapper table.dataTable thead th.sorting::after,
.dataTables_wrapper table.dataTable thead th.sorting_asc::after,
.dataTables_wrapper table.dataTable thead th.sorting_desc::after {
  font-family: "FontAwesome";
  position: absolute;
  right: 0.55rem;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.72rem;
  line-height: 1;
}

.dataTables_wrapper table.dataTable thead th.sorting::after {
  content: "\f0dc";
  color: #a0b5d8;
}

.dataTables_wrapper table.dataTable thead th.sorting_asc::after {
  content: "\f0de";
  color: #2b4e81;
}

.dataTables_wrapper table.dataTable thead th.sorting_desc::after {
  content: "\f0dd";
  color: #2b4e81;
}

.dataTables_wrapper table.dataTable tbody tr {
  transition: background-color 0.14s ease;
}

.dataTables_wrapper table.dataTable tbody td {
  color: #2a456f;
  font-size: 0.84rem;
  vertical-align: middle;
}

.dataTables_wrapper table.dataTable tbody td.dataTables_empty {
  padding: 1.85rem 0.8rem;
  color: var(--rt-muted);
  font-size: 0.86rem;
  font-weight: 600;
  text-align: center;
  background: #fbfdff;
}

.dataTables_wrapper table.dataTable tbody td .btn.btn-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.3rem 0.45rem;
  font-size: 0.78rem;
  font-weight: 700;
  color: #2b4d80;
  border: 1px solid transparent;
  border-radius: var(--rt-radius-sm);
  line-height: 1.15;
  text-decoration: none !important;
}

.dataTables_wrapper table.dataTable tbody td .btn.btn-link:hover,
.dataTables_wrapper table.dataTable tbody td .btn.btn-link:focus {
  color: #1e3f70;
  border-color: #c3d8f8;
  background: #eff5ff;
}

.dataTables_wrapper table.dataTable tbody td form {
  margin: 0;
}

.table-action-group {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.2rem;
}

.table-action-form {
  margin: 0;
}

.table-actions,
.dataTables_wrapper table.dataTable tbody td.table-actions {
  opacity: 1 !important;
  visibility: visible !important;
}

.table-action-icon.btn.btn-link {
  width: 30px;
  height: 30px;
  padding: 0;
  border-radius: 50%;
  color: #2a4e81;
}

.table-action-icon.btn.btn-link:hover,
.table-action-icon.btn.btn-link:focus {
  background: #e8f1ff;
  border-color: #c5d9fa;
  color: #133f83;
}

.table-action-icon--danger.btn.btn-link {
  color: #b43446;
}

.table-action-icon--danger.btn.btn-link:hover,
.table-action-icon--danger.btn.btn-link:focus {
  background: #ffeef0;
  border-color: #f4c6cc;
  color: #992333;
}

.dataTables_wrapper table.dataTable th.action-header,
.dataTables_wrapper table.dataTable td.fit-action-delete-th {
  width: 1%;
  white-space: nowrap;
}

.dataTables_wrapper table.dataTable thead th.action-header-main {
  min-width: 88px;
}

.dataTables_wrapper table.dataTable thead th.action-header-extra,
.dataTables_wrapper table.dataTable tbody td.action-cell-extra {
  display: none;
}

.dataTables_wrapper table.dataTable tbody td.action-cell-main {
  white-space: nowrap;
  text-align: center;
}

.dataTables_wrapper .row {
  row-gap: 0.55rem;
}

.dataTables_wrapper .dataTables_paginate .ellipsis {
  color: #7893b8;
  font-weight: 700;
  padding: 0 0.35rem;
}

.dataTables_wrapper table.dataTable.no-footer,
.dataTables_wrapper.no-footer .dataTables_scrollBody {
  border-bottom: 1px solid #d9e5f8;
}

.dataTables_wrapper table.dataTable tbody tr:nth-child(even) {
  background: #fcfdff;
}

.dataTables_wrapper table.dataTable tbody tr:hover {
  background: #f2f7ff;
}

.dataTables_wrapper .dataTables_processing {
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%);
  margin: 0 !important;
  width: auto !important;
  padding: 0.48rem 0.8rem !important;
  border-radius: var(--rt-radius-sm);
  border: 1px solid #c5d9fa;
  background: #f6faff !important;
  color: #2a4f82;
  font-size: 0.8rem;
  font-weight: 700;
  box-shadow: var(--rt-shadow-sm);
}

.client-tablet__head {
  justify-content: space-between;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.client-tablet__title-wrap {
  min-width: 0;
}

.client-tablet__subtitle {
  margin: 0.3rem 0 0;
  color: var(--rt-muted);
  font-size: 0.84rem;
}

.client-table .table-actions {
  opacity: 1;
}

.client-profile-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.client-summary-row {
  margin-bottom: 0.05rem;
}

.client-person-card {
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius-md);
  box-shadow: var(--rt-shadow-sm);
  height: 100%;
}

.client-person-card__body {
  display: flex;
  gap: 0.7rem;
  align-items: flex-start;
  min-height: 130px;
}

.client-person-card__avatar {
  width: 56px;
  height: 56px;
  border-radius: 14px;
  object-fit: cover;
  border: 1px solid var(--rt-border);
}

.client-person-card__avatar--initial {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.1rem;
  font-weight: 700;
  color: #ffffff;
  background: linear-gradient(135deg, var(--rt-primary), var(--rt-info));
}

.client-person-card__content {
  min-width: 0;
  flex: 1 1 auto;
}

.client-person-card__label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--rt-muted);
  margin-bottom: 0.2rem;
}

.client-person-card__title {
  margin: 0;
  color: #1f3762;
  font-size: 1rem;
  font-weight: 700;
}

.client-person-card__subtitle {
  font-size: 0.78rem;
  color: var(--rt-muted);
  font-weight: 600;
}

.client-person-card__line {
  margin: 0.32rem 0 0;
  display: flex;
  gap: 0.38rem;
  align-items: center;
  color: #49628a;
  font-size: 0.82rem;
}

.client-person-card__line i {
  color: #6b86b2;
}

.client-person-card__line a {
  color: inherit;
  text-decoration: none !important;
}

.client-person-card__line a:hover,
.client-person-card__line a:focus {
  color: #2b4979;
}

.client-person-card__tools {
  display: flex;
  flex-direction: column;
  gap: 0.38rem;
  align-items: flex-end;
}

.client-person-card__icon-link {
  color: #6583b2;
  text-decoration: none !important;
}

.client-person-card__icon-link:hover,
.client-person-card__icon-link:focus {
  color: #2b4b7e;
}

.client-person-card__assign-btn {
  min-width: 78px;
}

.client-person-card__picker {
  border-top: 1px solid var(--rt-border);
  padding: 0.7rem 1rem 1rem;
}

.client-person-card__picker .bootstrap-select {
  width: 100% !important;
}

.client-overview-card__head {
  justify-content: space-between;
}

.client-overview-card__subtitle {
  margin: 0.32rem 0 0;
  color: var(--rt-muted);
  font-size: 0.84rem;
}

.client-overview-tabs {
  gap: 0.45rem;
  margin-bottom: 1rem;
}

.client-overview-tabs .nav-link {
  border-radius: var(--rt-radius-sm);
  border: 1px solid transparent;
  color: var(--rt-muted);
  font-weight: 700;
  font-size: 0.82rem;
  padding: 0.45rem 0.72rem;
}

.client-overview-tabs .nav-link:hover,
.client-overview-tabs .nav-link:focus {
  color: var(--rt-primary-strong);
  background: var(--rt-primary-soft);
  border-color: #c3d9ff;
}

.client-overview-tabs .nav-link.active {
  color: #ffffff;
  border-color: var(--rt-primary);
  background: var(--rt-primary);
}

.client-overview-tabs__content .tab-pane {
  animation: fadeSlide 0.18s ease both;
}

@keyframes fadeSlide {
  0% {
    opacity: 0;
    transform: translateY(4px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

.client-tab-table-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
  flex-wrap: wrap;
}

.client-tab-table-title {
  margin: 0;
  font-size: 1rem;
  font-weight: 700;
  color: #24406e;
}

.client-tab-table-actions {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.client-tab-table-actions .table-status-input {
  min-width: 180px;
  max-width: 220px;
}

.client-booking-table td,
.client-task-table td {
  font-size: 0.85rem;
}

.client-status-badge {
  display: inline-flex;
  align-items: center;
  border-radius: var(--rt-radius-pill);
  padding: 0.25rem 0.46rem;
  font-size: 0.7rem;
  font-weight: 700;
  border: 1px solid transparent;
}

.client-status-badge--default {
  color: #2f4f7a;
  border-color: #bdd0eb;
  background: #edf4ff;
}

.client-status-badge--registered {
  color: #166242;
  border-color: rgba(16, 147, 100, 0.33);
  background: rgba(16, 147, 100, 0.12);
}

.client-status-badge--booked {
  color: #184f8f;
  border-color: rgba(30, 111, 232, 0.34);
  background: rgba(30, 111, 232, 0.12);
}

.client-status-badge--cancelled {
  color: #ad2634;
  border-color: rgba(201, 43, 58, 0.35);
  background: rgba(201, 43, 58, 0.12);
}

.client-status-badge--pending {
  color: #8f5500;
  border-color: rgba(204, 123, 0, 0.34);
  background: rgba(204, 123, 0, 0.12);
}

.client-appointments-card .tablet__body {
  max-height: 460px;
  overflow-y: auto;
}

.client-appointment-item {
  padding: 0.65rem 0.2rem;
  border-bottom: 1px solid var(--rt-border);
}

.client-appointment-item:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.client-appointment-item__title {
  margin: 0 0 0.25rem;
  font-size: 0.9rem;
  font-weight: 700;
  color: #2a436f;
}

.client-appointment-item__time {
  margin: 0;
  color: var(--rt-muted);
  font-size: 0.8rem;
  display: inline-flex;
  gap: 0.35rem;
  align-items: center;
}

.client-empty-state {
  min-height: 130px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  text-align: center;
  color: var(--rt-muted);
}

.client-empty-state--inline {
  min-height: 86px;
  width: 100%;
}

.client-empty-state i {
  font-size: 1.1rem;
  color: #607ea8;
}

.client-empty-state p {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 600;
}

.client-form-page {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.client-form-vat .tablet__body {
  padding-top: 0.85rem;
}

.client-form-card .tablet__body {
  padding-top: 0.6rem;
}

.client-form {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.client-form__section {
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius-sm);
  background: linear-gradient(180deg, #ffffff 0%, #f9fcff 100%);
  padding: 0.85rem;
}

.client-form__section-head {
  margin-bottom: 0.75rem;
}

.client-form__section-head h4 {
  margin: 0;
  font-size: 0.9rem;
  font-weight: 700;
  color: #26497b;
}

.client-form__actions {
  display: flex;
  justify-content: flex-start;
  padding-top: 0.35rem;
}

.client-docs {
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.client-docs-section {
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius-sm);
  background: #ffffff;
  padding: 0.85rem;
}

.client-docs-section__head {
  margin-bottom: 0.6rem;
}

.client-docs-section__head h4 {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 700;
  color: #26497b;
}

.client-docs-section__head p {
  margin: 0.25rem 0 0;
  color: var(--rt-muted);
  font-size: 0.8rem;
}

.client-docs-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.46rem;
}

.client-docs-list__item {
  display: flex;
  align-items: center;
  gap: 0.44rem;
  padding: 0.42rem 0.5rem;
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius-sm);
  background: #fbfdff;
}

.client-docs-list__item i {
  color: #6385b5;
}

.client-docs-list__item a {
  color: #2a4e82;
  text-decoration: none !important;
  font-weight: 600;
}

.client-docs-list__item a:hover,
.client-docs-list__item a:focus {
  color: #173867;
}

.client-docs-dropzone {
  margin-top: 0.8rem;
  min-height: 110px;
}

.client-docs-booking {
  margin-top: 0.6rem;
  border-top: 1px solid var(--rt-border);
  padding-top: 0.6rem;
}

.client-docs-booking h5 {
  margin: 0 0 0.5rem;
  font-size: 0.86rem;
  font-weight: 700;
  color: #2b4876;
}

.client-documents-legacy__action-icon {
  font-size: 1.6rem;
}

.label {
  display: inline-flex;
  align-items: center;
  border-radius: var(--rt-radius-pill);
  padding: 0.24rem 0.46rem;
  font-size: 0.7rem;
  font-weight: 700;
  color: #26497a;
  background: #e9f1ff;
}

.label-default {
  color: #2a4f83;
  background: #e7f0ff;
}

.label-warning {
  color: #8f5500;
  background: #fff1dc;
}

.label-info {
  color: #0f6293;
  background: #e2f6ff;
}

.label-primary {
  color: #184f8f;
  background: #e5f0ff;
}

.label-success {
  color: #166242;
  background: #def7eb;
}

.alert {
  border-radius: var(--rt-radius-sm);
}

.text-muted {
  color: var(--rt-muted) !important;
}

.bg-secondary-color {
  background: var(--rt-primary) !important;
}

.white-box {
  min-height: 130px;
  padding: 1.2rem;
}

/* Map and plot editor pages */
.buttons {
  display: flex;
  gap: 0.55rem;
  flex-wrap: wrap;
  margin-bottom: 0.75rem;
}

#zoompan {
  position: relative;
  width: 100%;
  overflow: auto;
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius-md);
  background: #ffffff;
  padding: 0.75rem;
}

#panTarget {
  position: relative;
  width: max-content;
  margin: 0 auto;
}

#divImageSize {
  position: relative;
}

#ImageMap1 {
  display: block;
  max-width: none;
}

#fixedContainer {
  background: var(--rt-surface-soft);
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius-md);
  padding: 0.75rem;
}

.map_title {
  position: absolute;
  font-size: 12px;
  font-weight: 700;
  color: #000000;
  z-index: 9;
  pointer-events: none;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
}

.side_img {
  padding: 0.7rem 0.4rem;
  border-bottom: 1px solid var(--rt-border);
  font-size: 0.92rem;
  font-weight: 700;
}

.text-warning1 {
  color: var(--rt-warning) !important;
}

.status-row {
  display: flex;
  gap: 12px;
  width: 100%;
}

.status-row .status-card {
  flex: 1;
  min-width: 0;
}

.status-card {
  background: #ffffff;
  border-radius: var(--rt-radius-sm);
  padding: 0.9rem;
  text-align: center;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.08);
  transition: transform 0.2s ease;
}

.status-card:hover {
  transform: translateY(-2px);
}

.status-card .badge {
  display: inline-block;
  font-size: 0.74rem;
  font-weight: 700;
  margin-bottom: 0.35rem;
  color: #3c3a3a;
}

.status-card .value {
  font-size: 1.35rem;
  font-weight: 700;
  color: #000000;
}

.border-available {
  border-bottom: 2px solid #199946;
}

.border-sold {
  border-bottom: 2px solid #cd0101;
}

.border-blocked {
  border-bottom: 2px solid #db7b00;
}

.border-mortgage {
  border-bottom: 2px solid #894101;
}

.border-registered {
  border-bottom: 2px solid #2450fb;
}

.mapster_tooltip {
  z-index: 999999 !important;
}

.plot_container {
  max-height: 375px;
  overflow-x: hidden;
  overflow-y: auto;
  border: 1px solid var(--rt-border);
  border-radius: var(--rt-radius-sm);
  padding: 0.5rem;
  background: var(--rt-surface-soft);
}

.plot_inside {
  margin-top: 10px;
  margin-bottom: 12px;
  padding-bottom: 0.55rem;
  border-bottom: 1px dashed var(--rt-border);
}

.plot_inside:last-child {
  border-bottom: 0;
}

.plot_c {
  margin-bottom: 5px;
}

.wrapper1 {
  overflow-x: auto;
  overflow-y: hidden;
}

.wrapper2 .div2 {
  overflow: auto;
}

.btn_panel {
  display: flex;
  gap: 0.5rem;
  flex-wrap: wrap;
}

@media (min-width: 992px) {
  .menu-txt-toggle {
    display: inline-flex !important;
  }

  .mobile-nav {
    display: none !important;
  }

  .myNavmenu-icons #page-content-wrapper {
    padding-left: var(--rt-sidebar-width-collapsed);
  }

  .myNavmenu-icons .app-topbar {
    margin-left: var(--rt-sidebar-width-collapsed);
    width: calc(100% - var(--rt-sidebar-width-collapsed));
  }
}

@media (max-width: 991px) {
  .auth-shell__brand {
    padding-top: 1.35rem;
  }

  .auth-login {
    grid-template-columns: 1fr;
  }

  .auth-login__intro {
    order: 2;
  }

  .auth-login__panel {
    order: 1;
  }

  .navmenu {
    transform: translateX(-100%);
    transition: transform 0.25s ease;
  }

  .big-menu .navmenu {
    transform: translateX(0);
  }

  .app-topbar {
    margin-left: 0;
    width: 100%;
  }

  #page-content-wrapper {
    padding-left: 0;
  }

  .dashboard-header {
    flex-direction: column;
  }

  .dashboard-header__right {
    justify-content: flex-start;
  }

  .dashboard-chart__canvas-wrap {
    height: 290px;
  }

  .booking-chart-canvas-wrap {
    height: 280px;
  }

  .client-person-card__tools {
    flex-direction: row;
    align-items: center;
  }

  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter,
  .dataTables_wrapper .dataTables_info,
  .dataTables_wrapper .dataTables_paginate {
    float: none;
    text-align: left;
  }

  .dataTables_wrapper .dataTables_length label,
  .dataTables_wrapper .dataTables_filter label {
    width: 100%;
    justify-content: flex-start;
  }

  .dataTables_wrapper .dataTables_filter input {
    width: 100%;
    min-width: 0;
  }

  .dataTables_wrapper .dataTables_paginate {
    margin-top: 0.3rem;
  }

  .dataTables_wrapper .dataTables_paginate .paginate_button {
    margin: 0.2rem 0.2rem 0 0 !important;
  }
}

@media (max-width: 767px) {
  .auth-shell__brand-logo {
    max-width: 240px;
  }

  .auth-shell__content {
    padding-left: 0.7rem;
    padding-right: 0.7rem;
    padding-bottom: 1.4rem;
  }

  .auth-login__intro,
  .auth-login__panel {
    padding: 0.95rem;
  }

  .auth-login__title {
    font-size: 1.4rem;
  }

  .auth-login__subtitle {
    font-size: 0.84rem;
  }

  .auth-login__chip {
    font-size: 0.72rem;
  }

  .auth-field__control .form-control,
  .auth-login__submit {
    height: 39px;
  }

  #page-content-wrapper > .container-fluid {
    padding: 1rem 0.8rem;
  }

  .global-heading {
    font-size: 1.35rem;
  }

  .dashboard-stats .stat-card {
    min-height: auto;
    padding: 0.95rem;
  }

  .stat-card__value {
    font-size: 1.38rem;
  }

  .stat-card__value--currency {
    font-size: 1.1rem;
  }

  .dashboard-header {
    padding: 0.82rem;
  }

  .dashboard-header__title {
    font-size: 1.16rem;
  }

  .dashboard-header__subtitle {
    font-size: 0.82rem;
  }

  .dashboard-chart__tags {
    width: 100%;
  }

  .dashboard-chart__canvas-wrap {
    height: 250px;
  }

  .booking-chart-canvas-wrap {
    height: 240px;
  }

  .dashboard-people-list {
    max-height: 300px;
  }

  .dashboard-person {
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .dashboard-person__status {
    margin-left: auto;
  }

  .client-table .table-actions {
    opacity: 1;
  }

  .client-tab-table-actions {
    width: 100%;
  }

  .client-tab-table-actions .table-status-input {
    min-width: 150px;
    flex: 1 1 150px;
  }

  .client-person-card__body {
    flex-wrap: wrap;
  }

  .client-person-card__tools {
    width: 100%;
    justify-content: flex-end;
  }

  .client-form__section {
    padding: 0.75rem;
  }

  .action-panel {
    width: 100%;
    right: -100%;
  }

  .app-topbar {
    padding: 0 0.65rem;
  }

  .topbar-user__head > span:first-child {
    display: none;
  }

  .topbar-user__name {
    max-width: 88px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .status-row {
    flex-wrap: wrap;
  }

  .status-row .status-card {
    flex: 0 0 calc(50% - 6px);
  }

  .tablet__body > .table-responsive {
    border: 1px solid var(--rt-border);
    border-radius: var(--rt-radius-sm);
  }

  .dataTables_wrapper .dataTables_length,
  .dataTables_wrapper .dataTables_filter {
    margin-bottom: 0.6rem;
  }

  .dataTables_wrapper .dataTables_filter input,
  .dataTables_wrapper .dataTables_length select {
    height: 35px;
  }

  .dataTables_wrapper table.dataTable tbody td {
    font-size: 0.8rem;
  }

  .dataTables_wrapper table.dataTable tbody td .btn.btn-link {
    padding: 0.24rem 0.32rem;
    font-size: 0.72rem;
  }
}

@media (max-width: 480px) {
  .status-row .status-card {
    flex: 0 0 100%;
  }
}

/* ==========================================================================
   Advanced UI Refresh Layer
   ========================================================================== */

:root {
  --rt-accent-1: #2f49de;
  --rt-accent-2: #1b8ef5;
  --rt-accent-3: #ff6a1a;
  --rt-card-glow: 0 18px 40px rgba(25, 54, 116, 0.16);
}

body {
  background:
    radial-gradient(880px 460px at 102% -10%, rgba(47, 73, 222, 0.12), transparent 60%),
    radial-gradient(740px 420px at -10% 0%, rgba(27, 142, 245, 0.1), transparent 54%),
    #f1f5fc !important;
}

.app-topbar {
  border-bottom: 1px solid rgba(183, 202, 235, 0.72);
  box-shadow: 0 14px 28px rgba(18, 35, 72, 0.09);
}

.navmenu {
  border-right: 1px solid rgba(130, 160, 220, 0.32);
  box-shadow: 8px 0 26px rgba(7, 14, 35, 0.18);
}

.navmenu .list-group-item {
  border-radius: 12px;
}

.navmenu .list-group-item.active-menu {
  box-shadow: 0 8px 20px rgba(69, 123, 218, 0.25);
}

.tablet,
.panel {
  border-radius: 18px;
  box-shadow: var(--rt-card-glow);
}

.tablet__head,
.panel-heading {
  border-radius: 18px 18px 0 0;
  background: linear-gradient(180deg, #ffffff 0%, #f9fbff 100%);
}

.btn {
  border-radius: 12px;
  font-weight: 700;
  transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.btn:hover,
.btn:focus {
  transform: translateY(-1px);
}

.btn-primary,
.btn.btn-brand {
  background: linear-gradient(135deg, var(--rt-accent-2) 0%, var(--rt-accent-1) 100%);
  border: 0;
  box-shadow: 0 12px 24px rgba(47, 73, 222, 0.28);
}

.btn-primary:hover,
.btn-primary:focus,
.btn.btn-brand:hover,
.btn.btn-brand:focus {
  filter: brightness(1.02);
  box-shadow: 0 14px 26px rgba(47, 73, 222, 0.34);
}

.btn-outline-metal,
.btn.btn-outline-metal {
  border-color: #b9cdeb;
  color: #2a4c80;
  background: linear-gradient(180deg, #ffffff 0%, #f2f7ff 100%);
}

.table > thead > tr > th,
.table > thead > tr > td {
  background: linear-gradient(180deg, #eff4ff 0%, #e9f1ff 100%);
}

.table > tbody > tr > td,
.table > tbody > tr > th {
  background: #ffffff;
}

.table-hover > tbody > tr:hover {
  background: #eef5ff;
}

.auth-login--showcase {
  max-width: 1040px;
  gap: 0;
  border-radius: 24px;
  overflow: hidden;
  box-shadow: 0 26px 52px rgba(18, 36, 76, 0.2);
}

.auth-login--showcase .auth-login__intro {
  min-height: 560px;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 2.2rem 2rem;
  color: #eaf1ff;
  background:
    radial-gradient(320px 200px at 88% 12%, rgba(255, 255, 255, 0.2), transparent 62%),
    radial-gradient(340px 220px at 10% 95%, rgba(255, 255, 255, 0.16), transparent 60%),
    linear-gradient(145deg, #1f56da 0%, #1f3dbd 36%, #1a6adb 100%);
  position: relative;
}

.auth-login--showcase .auth-login__intro::before {
  content: "";
  position: absolute;
  right: -70px;
  top: -70px;
  width: 220px;
  height: 220px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.13);
}

.auth-login--showcase .auth-login__intro::after {
  content: "";
  position: absolute;
  left: -86px;
  bottom: -86px;
  width: 260px;
  height: 260px;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.11);
}

.auth-login--showcase .auth-login__eyebrow,
.auth-login--showcase .auth-login__title,
.auth-login--showcase .auth-login__subtitle,
.auth-login--showcase .auth-login__feature-list,
.auth-login--showcase .auth-login__stats {
  position: relative;
  z-index: 2;
}

.auth-login--showcase .auth-login__eyebrow {
  border-color: rgba(255, 255, 255, 0.32);
  background: rgba(255, 255, 255, 0.14);
  color: #ffffff;
}

.auth-login--showcase .auth-login__title {
  color: #ffffff;
  font-size: 2rem;
  margin-top: 1rem;
}

.auth-login--showcase .auth-login__subtitle {
  color: rgba(241, 247, 255, 0.92);
  font-size: 0.95rem;
  max-width: 450px;
}

.auth-login__feature-list {
  margin: 1.05rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.auth-login__feature-list li {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  font-size: 0.9rem;
  font-weight: 600;
  color: #eff4ff;
}

.auth-login__feature-list i {
  color: #a9c6ff;
}

.auth-login__stats {
  margin-top: 1.15rem;
  display: grid;
  gap: 0.55rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.auth-login__stat {
  border-radius: 12px;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.11);
  min-height: 78px;
  padding: 0.55rem 0.6rem;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.12rem;
}

.auth-login__stat strong {
  font-size: 1.18rem;
  color: #ffffff;
  line-height: 1;
}

.auth-login__stat span {
  font-size: 0.75rem;
  color: rgba(244, 248, 255, 0.92);
  font-weight: 600;
}

.auth-login__panel--showcase {
  border: 0;
  border-radius: 0;
  box-shadow: none;
  padding: 1.6rem 1.5rem;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(246, 250, 255, 0.96) 100%);
}

.auth-login__panel-brand {
  width: 100%;
  margin: 0 auto 0.9rem;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.auth-login__panel-brand-logo {
  max-width: 280px;
  width: 100%;
  height: auto;
  display: block;
  object-fit: contain;
}

.auth-login__panel-brand-fallback {
  font-family: var(--rt-font-display);
  font-size: 1.22rem;
  font-weight: 700;
  color: #1f3762;
}

body.auth-shell--login .auth-shell__content {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem 1rem 1.25rem;
}

body.auth-shell--login .auth-login--showcase {
  margin: auto;
}

.auth-login__portal-switch {
  margin-bottom: 0.95rem;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.22rem;
  border-radius: 999px;
  border: 1px solid #c9dbf7;
  background: #eef5ff;
}

.auth-login__portal-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 112px;
  height: 29px;
  border-radius: 999px;
  padding: 0 0.62rem;
  font-size: 0.7rem;
  font-weight: 700;
  color: #5c78a8;
}

.auth-login__portal-pill.is-active {
  color: #ffffff;
  background: linear-gradient(135deg, var(--rt-accent-2) 0%, var(--rt-accent-1) 100%);
  box-shadow: 0 8px 16px rgba(47, 73, 222, 0.24);
}

.auth-login--showcase .auth-field__control .form-control {
  border-radius: 999px;
  border-color: #c4d4ee;
  background: #f8fbff;
}

.auth-login--showcase .auth-field__control .form-control:focus {
  border-color: #7baeff;
  box-shadow: 0 0 0 3px rgba(74, 132, 235, 0.16);
}

.auth-login--showcase .auth-login__submit {
  border-radius: 999px;
  height: 44px;
}

@media (max-width: 991px) {
  .auth-login--showcase {
    max-width: 520px;
    grid-template-columns: 1fr;
  }

  .auth-login--showcase .auth-login__intro {
    min-height: 300px;
    padding: 1.35rem 1.2rem;
  }

  .auth-login--showcase .auth-login__panel {
    padding: 1rem;
  }

  .auth-login--showcase .auth-login__title {
    font-size: 1.55rem;
  }

  .auth-login__panel-brand-logo {
    max-width: 220px;
  }

  body.auth-shell--login .auth-shell__content {
    min-height: auto;
    padding: 0.85rem;
  }
}

/* Keep white text/icons only on filled buttons */
.btn-primary,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn.btn-brand,
.btn.btn-brand:hover,
.btn.btn-brand:focus,
.btn.btn-brand:active,
.btn-success,
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-danger,
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-info,
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-secondary,
.btn-secondary:hover,
.btn-secondary:focus,
.btn-secondary:active,
.btn-warning,
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn.btn-teal,
.btn.btn-teal:hover,
.btn.btn-teal:focus,
.btn.btn-teal:active {
  color: #ffffff !important;
}

.btn-primary i,
.btn-primary span,
.btn-primary svg,
.btn-primary .fa,
.btn.btn-brand i,
.btn.btn-brand span,
.btn.btn-brand svg,
.btn.btn-brand .fa,
.btn-success i,
.btn-success span,
.btn-success svg,
.btn-success .fa,
.btn-danger i,
.btn-danger span,
.btn-danger svg,
.btn-danger .fa,
.btn-info i,
.btn-info span,
.btn-info svg,
.btn-info .fa,
.btn-secondary i,
.btn-secondary span,
.btn-secondary svg,
.btn-secondary .fa,
.btn-warning i,
.btn-warning span,
.btn-warning svg,
.btn-warning .fa,
.btn.btn-teal i,
.btn.btn-teal span,
.btn.btn-teal svg,
.btn.btn-teal .fa {
  color: #ffffff !important;
}

/* Outline buttons should keep readable colored text */
.btn-outline-secondary,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus,
.btn-outline-secondary:active {
  color: #2a4c80 !important;
}

.btn-outline-secondary i,
.btn-outline-secondary span,
.btn-outline-secondary .fa {
  color: #2a4c80 !important;
}

.btn-outline-danger {
  color: #b43446 !important;
  border-color: #b43446 !important;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:active {
  color: #ffffff !important;
  background-color: #b43446 !important;
  border-color: #b43446 !important;
}

.btn-outline-danger i,
.btn-outline-danger span,
.btn-outline-danger .fa {
  color: #b43446 !important;
}

.btn-outline-danger:hover i,
.btn-outline-danger:hover span,
.btn-outline-danger:hover .fa,
.btn-outline-danger:focus i,
.btn-outline-danger:focus span,
.btn-outline-danger:focus .fa,
.btn-outline-danger:active i,
.btn-outline-danger:active span,
.btn-outline-danger:active .fa {
  color: #ffffff !important;
}

/* Keep table action icons readable (view/edit in blue, delete in red) */
.table-action-icon.btn.btn-link,
.table-action-icon.btn.btn-link i,
.table-action-icon.btn.btn-link .fa {
  color: #2a4e81 !important;
}

.table-action-icon.btn.btn-link:hover,
.table-action-icon.btn.btn-link:focus,
.table-action-icon.btn.btn-link:hover i,
.table-action-icon.btn.btn-link:focus i,
.table-action-icon.btn.btn-link:hover .fa,
.table-action-icon.btn.btn-link:focus .fa {
  color: #133f83 !important;
}

.table-action-icon--danger.btn.btn-link,
.table-action-icon--danger.btn.btn-link i,
.table-action-icon--danger.btn.btn-link .fa {
  color: #b43446 !important;
}

.table-action-icon--danger.btn.btn-link:hover,
.table-action-icon--danger.btn.btn-link:focus,
.table-action-icon--danger.btn.btn-link:hover i,
.table-action-icon--danger.btn.btn-link:focus i,
.table-action-icon--danger.btn.btn-link:hover .fa,
.table-action-icon--danger.btn.btn-link:focus .fa {
  color: #992333 !important;
}
