/* Base css start */

/* google fonts cdn */
@import url("https://fonts.googleapis.com/css2?family=Figtree:ital,wght@0,300..900;1,300..900&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
:root {
  /* font family */
  --figtree: "Figtree", sans-serif;

  /* colors */
  --foreground: #14151a;
  --foreground-secondary: #0f132499;
  --foreground-tertiary: rgba(13, 17, 38, 0.4);
  --border: #dee0e3;
  --divider: #e9eaec;
  --red: #e6483d;
  --light-red: #f7c3c0;
  --green-100: #edfdf4;
  --gray-accent: #5e636e;
  --primary: #2d4d7e;
  --primary-light: #617ea8;
}
/* Firefox */
* {
  scrollbar-width: thin;
}

/* Chrome, Edge, Safari */
*::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
ol,
ul {
  margin: 0;
  padding: 0;
}
li {
  list-style-type: none;
}

a,
button {
  transition: all 0.3s;
}
a {
  text-decoration: none;
}
input:focus,
textarea:focus,
select:focus {
  outline: none;
}
select {
  -webkit-appearance: none;
  appearance: none;
}
table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.container,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl {
  padding-inline: 20px;
}
body {
  font-family: var(--figtree);
  color: var(--foreground);
}
.theme-btn {
  height: 40px;
  padding-inline: 16px;
  background-color:var(--primary);
  color: #fff;
  border-radius: 12px;
  letter-spacing: -0.1px;
}
.theme-btn__icon {
  width: 20px;
}
.theme-btn:hover {
  background-image: linear-gradient(to bottom, var(--primary), var(--primary-light));
  color: #fff;
}
.theme-btn--outline {
  box-shadow: 0px 1px 2px 0px #14151a0d;
  border: 1px solid var(--border);
  background-color: transparent;
  color: var(--foreground);
}
.theme-btn--outline:hover {
  color: #fff;
  border: 0;
}
.theme-btn--transparent {
  background-color: transparent;
  color: var(--foreground-secondary);
}
.theme-btn--sm {
  height: 32px;
  font-size: 14px;
  border-radius: 10px;
}
.theme-btn--md {
  height: 35px;
  font-size: 14px;
}

.text-divider::before,
.text-divider::after {
  content: "";
  height: 1px;
  flex-grow: 1;
  background-color: var(--divider);
}

.divider {
  height: 1px;
  background-color: var(--border);
}

/* Base tooltip style */
.custom-tooltip {
  --bs-tooltip-bg: #fff;
  --bs-tooltip-color: var(--foreground);
  --bs-tooltip-opacity: 1;
  --bs-tooltip-max-width: 160px;
  font-size: 10px;
  line-height: 14px;
  font-weight: 500;
  border-radius: 6px;
  border: 1px solid var(--border);
  box-shadow: 0 10px 16px -3px rgba(20, 21, 26, 0.05);
}

/* Tooltip inner text */
.custom-tooltip .tooltip-inner {
  text-align: left !important;
  white-space: normal !important;
  width: 160px !important;
  padding: 4px 8px;
}

/* Tooltip arrow */
.custom-tooltip .tooltip-arrow {
  display: none;
}

/* Base css end */

/* login section start */
.login {
  background-image: linear-gradient(to bottom, var(--primary), var(--primary-light));
  padding-block: 100px;
}
.logo {
  width: 136px;
}
.login .logo {
  top: 36px;
}
.login__form {
  border-radius: 16px;
  border: 1px solid var(--border);
  max-width: 442px;
  width: 100%;
}
.form__title {
  font-size: 24px;
  line-height: 32px;
}
.form__header p {
  color: var(--foreground-secondary);
  letter-spacing: -0.2px;
}
.form__input-field {
  height: 40px;
  padding-inline: 16px;
  box-shadow: 0px 1px 2px 0px #14151a0d;
  border: 1px solid var(--border);
  border-radius: 12px;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.1px;
}
.form__input-icon {
  width: 20px;
  pointer-events: none;
}
.form__input-btn {
  right: 12px;
}
.form__text-btn {
  color: inherit;
}
a.form__text-btn{
  color: var(--primary);
}
.form__footer-label {
  font-size: 14px;
  color: var(--foreground-secondary);
}
.form__error-msg {
  font-size: 14px;
  color: var(--red);
  line-height: 20px;
  padding-block: 2px;
  display: none;
}
.has-error .form__error-msg {
  display: flex;
}
.has-error .form__input-field {
  border-color: var(--light-red);
}

.toast-container {
  padding: 32px;
}
.toast {
  border-radius: 12px;
  border: 1px solid var(--border);
  background-color: var(--green-100);
  box-shadow: 0 10px 16px -3px rgba(20, 21, 26, 0.05), 0 3px 10px -2px rgba(20, 21, 26, 0.02);
  width: 400px;
}
.toast__wrapper {
  padding: 16px;
  gap: 12px;
}
.toast__icon {
  width: 20px;
  margin-top: 2px;
}
.toast__title {
  line-height: 1.5;
}
.toast__desc {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.1px;
  color: var(--foreground-secondary);
}
.toast__close-btn img {
  width: 20px;
}
/* login section end */

/* sidebar start */
.sidebar {
  background-color: #ffffff;
  height: 100vh;
  width: 280px;
  position: sticky;
  top: 0;
  left: 0;
  /* separation from main content */
  border-right: 1px solid #e6efe9;
  box-shadow: 4px 0 12px rgba(15, 47, 23, 0.06);
}
.sidebar__header {
  position: relative;
  padding: 30px 28px;
  border-bottom: 1px solid #eef4f0;
}
.sidebar__logo {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}

/* Keep actions on the right */
.sidebar__actions {
  margin-left: auto;
  position: relative;
  z-index: 1;
}
/* .sidebar__logo-img {
  width: 120px;
}
.sidebar__actions-btn img {
  width: 20px;
}
.sidebar__actions-btn {
  border-radius: 10px;
  background-color: transparent;
}
.sidebar__actions-btn:hover {
  background-color: rgba(255, 255, 255, 0.08);
} */
.sidebar__body {
  padding-block: 20px;
}
.sidebar__nav-item {
  padding: 2px 8px;
}
.sidebar__nav-link {
  padding: 8px 10px;
  font-size: 14px;
  line-height: 20px;
  color: #1f2937; /* deep neutral black */
  border-radius: 10px;
  transition: all 0.2s ease;
}
.sidebar__nav-link:hover {
  background-color: #f4fbf7;
  color: var(--primary-light);
}

.sidebar__nav-link.active {
  background-color: #e9f7ef;
  color: var(--primary-light);
  font-weight: 600;
  box-shadow: inset 3px 0 0 var(--primary);
}
.sidebar i,
.sidebar img {
  color: #374151;
  opacity: 0.8;
}

.sidebar__nav-link:hover i,
.sidebar__nav-link.active i,
.sidebar__nav-link:hover img,
.sidebar__nav-link.active img {
  color: var(--primary-light);
  opacity: 1;
}

.sidebar__nav-link:hover img,
.sidebar__nav-link.active img {
  opacity: 1;
  filter: brightness(0) saturate(100%) invert(63%) sepia(69%) saturate(454%) hue-rotate(88deg);
}
.sidebar__nav-title {
  font-size: 11px;
  letter-spacing: 0.08em;
  color: #9ca3af;
  text-transform: uppercase;
  padding: 0 12px;
}

.sidebar__profile {
  background-color: #f4fbf7;
  border-radius: 12px;
  margin: 12px;
  padding: 14px 16px;
}

.sidebar__profile-avatar {
  width: 32px;
  height: 32px;
  background-color: var(--gray-accent);
  font-size: 14px;
  letter-spacing: -0.1px;
}
.sidebar__profile-title h6 {
  font-size: 14px;
  letter-spacing: -0.1px;
  line-height: 20px;
}
.sidebar__profile-status {
  font-size: 12px;
  line-height: 16px;
  color: var(--primary-light);
  border-radius: 4px;
    background-color: rgb(97, 126, 168);
}
.sidebar__profile-content p {
  font-size: 12px;
  line-height: 16px;
  color: rgba(255, 255, 255, 0.6);
}
.sidebar-toggle {
  width: 28px;
  height: 28px;
  background-color: var(--primary-light);
  box-shadow: 0 4px 10px rgb(97, 126, 168);
}
.sidebar-toggle svg {
  width: 20px;
}
.overlay {
  background-color: var(--foreground-secondary);
  transition: all 0.4s;
  opacity: 0;
  visibility: hidden;
}
.overlay.active {
  opacity: 1;
  visibility: visible;
}
.sidebar::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 4px;
  height: 100%;
  background: var(--primary);
}

/* sidebar end */

/* dashboard section start */
.dashboard {
  flex: 1;
  min-width: 0;
  padding: 32px;
}
.dashboard__title h1 {
  font-size: 23px;
  line-height: 1.33;
  letter-spacing: -0.3px;
  color: var(--primary);
}
.progress-circle {
  position: relative;
  width: 32px;
  height: 32px;
}
.progress-ring {
  transform: rotate(-90deg);
}
.progress-ring__bg {
  fill: none;
  stroke: var(--divider);
  stroke-width: 3;
}
.progress-ring__progress {
  fill: none;
  stroke: #f48e2f;
  stroke-width: 3;
  stroke-linecap: round;
  stroke-dasharray: 87.96;
  stroke-dashoffset: 45;
  transition: stroke-dashoffset 0.5s ease;
}
.progress-icon {
  width: 12px;
}
.dashboard__nav-link {
  color: var(--foreground-secondary);
  padding-block: 10px 14px;
  letter-spacing: -0.2px;
}
.dashboard__nav-link:hover {
  color: var(--foreground);
}
.dashboard__nav-link::after {
  content: "";
  height: 2px;
  width: 100%;
  background-color: #26bd6c;
  position: absolute;
  bottom: 0;
  left: 0;
  opacity: 0;
  transition: all 0.3s;
}
.dashboard__nav-link.active::after {
  opacity: 1;
}
.dashboard__nav {
  border-bottom: 1px solid var(--border);
}
.dashboard__nav-link.active {
  color: var(--foreground);
}
.text-sm {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.1px;
}

/* filter style start */
.filter__select {
  border-radius: 10px;
  border: 1px solid var(--border);
  box-shadow: 0 1px 2px 0 rgba(20, 21, 26, 0.05);
  background-color: #fff;
  height: 32px;
  padding-inline: 32px;
  -webkit-appearance: none;
  appearance: none;
  font-size: 14px;
  line-height: 20px;
  font-weight: 500;
  letter-spacing: -0.1px;
}
.filter__dropdown-icon {
  width: 16px;
  left: 10px;
  pointer-events: none;
}
.filter__dropdown-icon--chevron {
  left: auto;
  right: 10px;
}
.filter__dropdown--vittoria {
  max-width: 232px;
  width: 100%;
}
.filter__tab {
  gap: 12px;
}
.filter__tab-btns {
  padding: 2px;
  gap: 2px;
  background-color: rgba(10, 15, 41, 0.08);
  border-radius: 10px;
}
.filter__tab-btn {
  width: 36px;
  height: 26px;
  background-color: transparent;
  border: 0;
}
.filter__tab-btn img {
  width: 18px;
}
.filter__tab-btn.active {
  background-color: #ffff;
  border: 1px solid var(--border);
}
.filter__nav-btn {
  width: 30px;
  height: 30px;
  border-right: 1px solid var(--border) !important;
}
.filter__nav-btn img {
  width: 16px;
}
.filter__nav {
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 1px 2px 0 rgba(20, 21, 26, 0.05);
  overflow: hidden;
}
.filter__nav-btn:last-child {
  border-right: 0 !important;
}
.filter__nav-btn:hover {
  background-color: var(--border) !important;
}
.toggle-switch-container {
  gap: 12px;
  cursor: pointer;
}
.toggle-switch {
  width: 28px;
  height: 16px;
  background-color: #babdc5;
  border: 2px solid transparent;
  display: flex;
  transition: all 0.3s;
}
.toggle-switch::after {
  content: "";
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background-color: #fff;
  box-shadow: 0 1px 2px 0 rgba(20, 21, 26, 0.05);
  transition: all 0.3s ease-in-out;
}
.toggle-switch-container input:checked ~ .toggle-switch {
  background-color: #26bd6c;
}
.toggle-switch-container input:checked ~ .toggle-switch::after {
  transform: translateX(12px);
}
.filter__btns {
  gap: 2px;
}
.filter__btn {
  gap: 6px;
  padding: 6px 10px;
  background-color: rgba(10, 15, 41, 0.04);
  border-radius: 10px;
  cursor: pointer;
}
.filter__btn-icon {
  width: 16px;
}
.filter__btn-icon--eye-off {
  display: none;
}
.filter__btn input:checked ~ .filter__btn-icon--eye {
  display: none;
}
.filter__btn input:checked ~ .filter__btn-icon--eye-off {
  display: block;
}
.filter__btn input:checked ~ span {
  color: rgba(10, 15, 41, 0.25);
}
.filter__last-updated p {
  font-size: 10px;
  line-height: 14px;
  color: var(--foreground-secondary);
}
/* filter style end */

.data-cards .row {
  --bs-gutter-x: 12px;
  --bs-gutter-y: 12px;
}
.dashboard__widget .data-cards .row {
  --bs-gutter-x: 4px;
  --bs-gutter-y: 4px;
}
.data-card__header {
  width: 100%;
  text-align: left;
  padding: 24px;
}
.data-card {
  border: 1px solid var(--border);
  box-shadow: 0 1px 2px 0 rgba(20, 21, 26, 0.05);
  background-color: #f7f7f8;
}
.data-card__title h6 {
  color: var(--foreground-secondary);
  flex: 1;
}
.data-card__header h5 {
  line-height: 1.4;
  letter-spacing: -0.2px;
}
.data-card__header h5 span {
  color: rgba(13, 17, 18, 0.4);
}
.data-card__body {
  background-color: #f7f7f8;
  padding: 24px;
  gap: 12px;
  border-top: 1px solid var(--border);
}
.data-card__info-title {
  color: var(--foreground-secondary);
  padding-bottom: 2px;
}
.data-card__info h5 {
  font-size: 16px;
  line-height: 20px;
  margin-bottom: 0;
}
.data-card__info h5 span {
  color: rgba(13, 17, 18, 0.4);
}
.data-card__status {
  font-size: 14px;
  line-height: 20px;
  color: #166e3f;
  letter-spacing: -0.1px;
  padding: 1px 7px;
  border: 1px solid rgba(10, 15, 41, 0.08);
  background-color: #d1fae4;
}
.data-card.selected {
  border: 2px solid #26bd6c;
  background-image: linear-gradient(0deg, #f3fef8 0%, #f3fef8 100%);
  box-shadow: 0 1px 2px 0 rgba(20, 21, 26, 0.05);
}
.data-card.selected .data-card__body {
  background-color: transparent;
}

.dashboard__widget {
  border-radius: 16px;
  border: 1px solid var(--border);
  box-shadow: 0 1px 2px 0 rgba(20, 21, 26, 0.05);
  padding: 24px;
}
.dashboard__widget-title-container img {
  width: 20px;
}
.dashboard__widget-title {
  line-height: 1.4;
  letter-spacing: -0.2px;
}
.dashboard__widget-title span {
  color: var(--foreground-secondary);
}
.dashboard__action-btn img {
  width: 20px;
}

.dashboard__chart {
  max-width: 240px;
}
.dashboard__chart--fluid {
  max-width: 100%;
}
.dashboard__chart--fluid canvas {
  width: 100%;
}
/* Custom Tooltip */
.chartjs-tooltip {
  position: absolute;
  background: #fff;
  border: 1px solid #e5e6eb;
  border-radius: 12px;
  box-shadow: 0 1px 2px 0 rgba(20, 21, 26, 0.05);
  padding: 12px;
  font-size: 12px;
  color: #14151a;
  pointer-events: none;
  transition: all 0.15s ease;
  opacity: 0;
  transform: translate(-50%, -120%);
  width: 176px;
}

.chartjs-tooltip .tooltip-title {
  color: #4778f5;
  font-weight: 700;
  margin-bottom: 4px;
  border-bottom: 1px solid var(--border);
  padding-bottom: 6px;
}

.chartjs-tooltip .tooltip-row {
  display: flex;
  justify-content: space-between;
  margin-bottom: 4px;
}

.chartjs-tooltip .tooltip-row:last-child {
  margin-bottom: 0;
}
.chartjs-tooltip .tooltip-row span:last-child {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.1px;
}
/* custom tooltip end */

.chart-legend__title {
  color: var(--foreground-secondary);
}
.chart-legend__item span:last-child {
  color: var(--foreground-secondary);
}
.chart-legend__item {
  gap: 12px;
  padding-left: 14px;
}
.chart-legend__item::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 0;
  background-color: #4778f5;
}
.chart-legend__item:nth-child(2)::before {
  background-color: #166e3f;
}
.chart-legend__item:nth-child(3)::before {
  background-color: #f48e2f;
}
.chart-legend__item:nth-child(4)::before {
  background-color: #a265eb;
}
.chart-legend__item:nth-child(5)::before {
  background-color: #c8cad0;
}
.chart-legend__divider {
  flex: 1;
  height: 1px;
  background-color: var(--divider);
}

.dashboard__close-btn {
  border-radius: 10px;
  border: 1px solid var(--border);
  background-color: #fff;
  box-shadow: 0 1px 2px 0 rgba(20, 21, 26, 0.05);
  width: 32px;
  height: 32px;
}
.dot {
  width: 10px;
  height: 10px;
}
.dot--purple {
  background-color: #924fe8;
}
.dot--green {
  background-color: #26bd6c;
}
.dot--blue {
  background-color: #4778f5;
}
.dot--orange {
  background-color: #f48e2f;
}

/* price calendar section start */
.price-calendar {
  border-top: 1px solid var(--border);
}
.event-calendar {
  margin-right: -32px;
}
.calendar-control__item {
  padding: 14px 10px;
  gap: 10px;
  border-radius: 10px 0 0 10px;
  background-color: #f7f7f8;
  min-width: 200px;
}
.calendar-control__title {
  font-size: 12px;
  line-height: 16px;
  flex: 1;
}
.calendar-control__btn img {
  width: 16px;
}
.room {
  gap: 12px;
  padding-right: 10px;
}
.room__icon {
  width: 16px;
}
.room__title {
  font-weight: 700;
  margin-bottom: 2px;
}
.room__subtitle {
  font-size: 12px;
  line-height: 16px;
  color: var(--foreground-secondary);
}
.room__content {
  flex: 1;
}
.event-calendar__table tr td:first-child {
  min-width: 233px;
  border-right: 1px solid var(--border);
}
.event-calendar__table tr:not(:first-child) td {
  border-bottom: 1px solid var(--border);
}
.event-calendar__table {
  border-spacing: 4px 0;
  border-collapse: separate;
}
.event-calendar__table td:not(:first-child) {
  background-color: #f4f6f2;
  min-width: 106px;
  padding: 8px 5px;
}
.event-calendar__table tr:first-child td:not(:first-child) {
  border-radius: 8px 8px 0 0;
}
.event-calendar__table td.bg-light-green {
  background-color: #e9ede6;
}
.event-calendar__table td.bg-light-orange {
  background-color: #fdead8;
}
.calendar-day__name {
  font-size: 10px;
  line-height: 14px;
  color: var(--foreground-secondary);
}
.weather {
  font-size: 10px;
  line-height: 14px;
  color: var(--foreground-secondary);
  gap: 3px;
}
.weather__icon {
  width: 10px;
}
.calendar-day__label {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.1px;
  margin-bottom: 10px;
}
.calendar-day__event {
  gap: 3px;
  padding: 2px;
  height: 20px;
  font-size: 12px;
  line-height: 16px;
  color: #ae590a;
  background-color: #fdead8;
  border: 1px solid rgba(10, 15, 41, 0.08);
}
.calendar-day__event img {
  width: 14px;
}
.calendar-day__event--note {
  color: #133a9a;
  background-color: #e3eafd;
}
.calendar-day__event--empty {
  opacity: 0;
}
.calendar-day__event--add {
  background-color: #e9eaec;
  color: var(--foreground-secondary);
}

.calendar-progress {
  padding-block: 11px;
}
.calendar-progress__label {
  font-size: 10px;
  line-height: 14px;
}
.calendar-progress__bar {
  width: 84px;
  max-width: 100%;
  height: 8px;
  background-color: #e9eaec;
  border-radius: 8px;
}
.calendar-progress__bar-inner {
  background-color: #26bd6c;
  border-radius: inherit;
}
.calendar-progress__bar--red .calendar-progress__bar-inner {
  background-color: #e6483d;
}
.calendar-progress__bar--purple .calendar-progress__bar-inner {
  background-color: #924fe8;
}
.calendar-progress__bar--orange .calendar-progress__bar-inner {
  background-color: #f48e2f;
}
.day__details {
  border: 1px solid var(--border);
  border-radius: 8px;
  background-color: #fff;
}
.day__details-header {
  padding: 7px;
  min-height: 70px;
}
.day__details-header-title {
  font-size: 10px;
  line-height: 14px;
  color: var(--foreground-tertiary);
  text-align: right;
}
.day__details-header .price__top {
  font-size: 10px;
  line-height: 14px;
  color: var(--foreground-secondary);
}
.day__details-header .price__top span {
  color: var(--foreground-tertiary);
}
.day__details-header .price__bottom {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.1px;
}
.day__details-header .price__bottom {
  color: var(--foreground);
}
.day__details-header .price__bottom span {
  color: var(--foreground-secondary);
}
.price-comp {
  font-size: 10px;
  line-height: 14px;
  padding: 6px;
  background-color: rgba(230, 72, 61, 0.1);
}
.price-comp span {
  color: var(--foreground-tertiary);
}
.price-comp--light-green {
  background-color: rgba(38, 189, 108, 0.1);
}
.day__details-action-btn {
  width: 16px;
  height: 16px;
}
.day__details-header.bg-light-green {
  background-color: #edfdf4;
}
.day__details-row {
  padding: 8px;
  font-size: 10px;
  line-height: 14px;
  color: var(--foreground-tertiary);
  border-bottom: 1px solid var(--border);
}
.day__details-row .lock-icon {
  width: 12px;
  margin-right: 6px;
}
.day__details-row:last-child {
  border-bottom: 0;
}
.day__details-row h6 {
  font-size: 10px;
  line-height: 14px;
  color: var(--foreground);
}
.day__details-actions .divider {
  width: 1px;
  height: 14px;
  background-color: var(--border);
}

.day__details-body {
  display: none;
}
.collapsible-tr.expand .day__details-body {
  display: block;
}
.room .chevron-down {
  width: 16px;
  transition: all 0.3s;
}
.collapsible-tr.expand .room .chevron-down {
  transform: rotate(180deg);
}
/* price calendar section end */

/* dashboard section end */

/* theme modal start */
.theme-modal .modal-dialog {
  max-width: 400px;
}
.theme-modal .modal-content {
  border-color: var(--border);
}
.theme-modal .modal-title {
  font-size: 18px;
  line-height: 26px;
  letter-spacing: -0.2px;
}
.modal-subtitle {
  font-size: 14px;
  line-height: 20px;
  color: var(--foreground-secondary);
  letter-spacing: -0.1px;
}
.form__input-field--textarea {
  min-height: 124px;
  padding-block: 10px;
  resize: none;
}
.modal-close-btn {
  width: 24px;
  height: 24px;
  background-color: rgba(10, 15, 41, 0.04);
  top: 16px;
  right: 16px;
}
.modal-close-btn img {
  width: 14px;
}
.modal-close-btn:hover {
  background-color: rgba(10, 15, 41, 0.1);
}
.modal-footer {
  padding: 20px;
  gap: 12px;
}
.theme-modal--edit-event .modal-dialog {
  max-width: 315px;
}
.theme-modal--edit-event .modal-header {
  padding: 20px 20px 12px 20px;
}
.theme-modal--edit-event .modal-content {
  border-radius: 12px;
}
.theme-modal .modal-title--sm {
  font-size: 12px;
  line-height: 17px;
  letter-spacing: 0;
}
.theme-modal--edit-event .modal-body {
  padding: 0 20px 20px;
}
.theme-modal .divider {
  height: 1px;
  background-color: var(--border);
}

.theme-modal__btns {
  gap: 12px;
}
.event__header {
  padding-block: 12px;
}
.event__subtitle {
  font-size: 12px;
  line-height: 17px;
}
.event__title {
  font-size: 22px;
  letter-spacing: -0.21px;
  line-height: 29px;
}

.event__infos {
  padding-block: 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.event__info-subtitle {
  font-size: 10px;
  line-height: 14px;
  color: var(--foreground-secondary);
}
.event__info-title {
  font-size: 31px;
  line-height: 38px;
  letter-spacing: -0.61px;
}
.event__info-title span,
.event__info-title sup {
  color: var(--foreground-tertiary);
}
.event__info-title sup {
  font-size: 0.6em;
  margin-left: 2px;
}
.event__tabs {
  margin-top: 12px;
  padding: 2px;
  gap: 2px;
  border-radius: 8px;
  background-color: rgba(10, 15, 41, 0.08);
}
.event__tabs-btn {
  width: 100%;
  font-size: 10px;
  line-height: 14px;
  color: var(--foreground-secondary);
  padding: 0;
  height: 24px;
  border: 1px solid transparent !important;
  margin: 0 !important;
}
.event__tabs-btn.active {
  border-color: var(--border) !important;
}
.event__tab-content-container {
  padding-block: 12px;
}
.form__input-list {
  gap: 12px;
}
.form__input--sm .form__input-label {
  font-size: 12px;
  line-height: 17px;
}
.form__input--sm .form__input-field {
  height: 35px;
}
.form__input-field.has-icon {
  padding-inline: 36px;
}
.form__input-wrap {
  box-shadow: 0px 1px 2px 0px #14151a0d;
  border: 1px solid var(--border);
  border-radius: 12px;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.1px;
  padding-inline: 12px;
  gap: 2px;
}
.form__input-wrap .form__input-field.has-icon {
  padding-inline: 24px;
}
.form__input--sm .form__input-icon {
  width: 16px;
}
.event__statistics-list {
  gap: 12px;
}
.event__statistics-title {
  font-size: 12px;
  line-height: 17px;
}
.event__statistics-table {
  font-size: 10px;
  line-height: 14px;
  border-collapse: separate;
  border-spacing: 0;
  width: 100%;
}
.event__statistics-table th {
  padding: 10px 12px;
  border-top: 1px solid var(--border);
  background-color: #f7f7f8;
}
.event__statistics-table th:first-child {
  border-left: 1px solid var(--border);
  border-top-left-radius: 10px;
}
.event__statistics-table th:last-child {
  border-right: 1px solid var(--border);
  border-top-right-radius: 10px;
}
.event__statistics-table td {
  padding: 12px;
  border-bottom: 1px solid var(--border);
}
.event__statistics-table tr td:first-child {
  border-left: 1px solid var(--border);
}
.event__statistics-table tr td:last-child {
  border-right: 1px solid var(--border);
}
.event__statistics-table tr:last-child td:first-child {
  border-bottom-left-radius: 10px;
}
.event__statistics-table tr:last-child td:last-child {
  border-bottom-right-radius: 10px;
}
.event__msg-icon {
  width: 15px;
}
.event__msg-desc {
  font-size: 10px;
  line-height: 14px;
  color: var(--foreground-secondary);
}

.event__statistics-table-collapse-toggle td {
  border-bottom: 0;
}
.tr-toggle-icon-container {
  width: 38px;
}
.tr-toggle-icon {
  width: 15px;
  height: 15px;
  flex-direction: column;
}
.tr-toggle-icon::before,
.tr-toggle-icon::after {
  content: "";
  width: 8px;
  height: 1.24px;
  background-color: var(--foreground-secondary);
  transition: all 0.3s;
}
.tr-toggle-icon::after {
  transform: rotate(90deg);
  position: absolute;
}
.event__statistics-table-collapse-toggle[aria-expanded="true"] .tr-toggle-icon::after {
  opacity: 0;
}
.collapsible-tr__content h6 {
  font-size: 10px;
  line-height: 14px;
  color: var(--foreground-secondary);
}
.collapsible-tr__content p {
  font-size: 10px;
  line-height: 14px;
}
.collapsible-tr__content {
  padding: 8px;
}
.event__statistics-table tr {
  display: table;
  width: 100%;
}
.event__statistics-table tbody {
  display: block;
  max-height: 340px;
  overflow: auto;
}
/* theme modal end */

/* pickup section start */
.calendar__container {
  margin-inline: -32px;
  padding-inline: 32px;
  border-bottom: 1px solid var(--border);
}
.mc-calendar__wrapper {
  margin-right: -32px;
  padding-right: 32px;
}

/* custom calendar start */
/* Block: mc-calendar */
.mc-calendar {
  /* component-scoped tokens */
  --mc-text: var(--foreground-secondary);
  --mc-muted: #bfc5cd;
  --mc-weekday: rgba(10, 15, 41, 0.6);

  --mc-green: rgba(38, 189, 108, 0.15);
  --mc-red: rgba(230, 72, 61, 0.4);
  --mc-light: rgba(244, 142, 47, 0.15);
  --mc-orange: #f48e2f;

  --mc-underline: #f48e2f; /* orange bar */
  --mc-dot: #4778f5; /* blue event dot */
}
.mc-calendar__month {
  width: 288px;
  color: var(--mc-text);
  flex-shrink: 0;
}
.mc-calendar__header {
  padding-block: 8px;
}

.mc-calendar__title {
  margin: 0;
  font-size: 12px;
  line-height: 16px;
  font-weight: 600;
  color: var(--foreground);
}

.mc-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 4px;
}

.mc-calendar__weekday {
  text-align: center;
  color: var(--mc-weekday);
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px;
  font-size: 12px;
  line-height: 16px;
}

.mc-calendar__cell {
  position: relative;
  text-align: center;
  border-radius: 8px;
  -webkit-user-select: none;
  user-select: none;
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.1px;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 32px;
}




/* pickup section end */

/* rateshopper section start */
.map iframe {
  border-radius: 10px;
}
.shop-table__container {
  border: 1px solid var(--border);
  border-radius: 10px;
}
.shop-table {
  font-size: 14px;
  line-height: 20px;
  letter-spacing: -0.1px;
  min-width: 700px;
}
.shop-table th {
  font-weight: 400;
  padding: 8px 12px;
  background-color: var(--primary-light); /* Bootstrap primary */
  color: #ffffff;
  /* border-top-left-radius: 5px;
  border-top-right-radius: 5px; */
}
.shop-table td {
  padding: 12px;
  border-bottom: 1px solid var(--divider);
  color: var(--foreground-secondary);
}
.shop-table tr:last-child td {
  border-bottom: 0;
}
.shop-icon {
  width: 40px;
  height: 40px;
  background-color: #ffff;
  border: 1px solid rgba(10, 15, 41, 0.08);
  margin-right: 12px;
}
.shop-table td h6 {
  margin-bottom: 2px;
  color: var(--foreground);
}
.shop-table tbody tr:hover {
  background-color: #edfdf4;
}
.shop-table tbody tr {
  transition: all 0.3s;
}
/* rateshopper section end */

/***************** added for datatables coloring ****************/
/* DataTable buttons - primary blue style */
.dt-button {
    background: var(--primary) !important;   /* Bootstrap primary blue */
    color: #fff !important;
    border: 1px solid var(--primary) !important;
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 12px !important;
    margin-right: 5px;
}

.dt-button:hover {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
    color: #fff !important;
}

/* Active / selected state */
.dt-button.active {
    background: var(--primary) !important;
    border-color: var(--primary) !important;
}

/* Column visibility dropdown */
.dt-button-collection {
    border-radius: 10px;
}

/* ===== DataTable Pagination – Borderless ===== */
.dataTables_wrapper .dataTables_paginate .paginate_button {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    margin: 0 2px;
}

/* Hover effect */
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
    background: rgba(13, 110, 253, 0.1) !important;
    border-radius: 4px;
}

/* Active page */
.dataTables_wrapper .dataTables_paginate .paginate_button.current {
    color: #25184b !important;
    border-radius: 4px;
    border: none !important;
}

/* Disabled (Previous / Next) */
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled {
    color: #adb5bd !important;
}
/* style for all other crete edit buttton  */
.btn-dt {
    background: var(--primary);
    color: #fff;
    border: 1px solid var(--primary);
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 13px;
    text-decoration: none;
}

.btn-dt:hover {
    color: #fff;
    background: #24406a;
}
/* end */



/* Bootstrap-aligned Select2 to keep box size as it is after search in dropdown*/
.select2-container .select2-selection--single,
.select2-container .select2-selection--multiple{
    height: calc(2.375rem + 2px) !important;
    padding: 0.375rem 0.75rem !important;
    border: 1px solid #ced4da !important;
    border-radius: 0.375rem !important;
}

.select2-container--default .select2-selection--single .select2-selection__rendered,
.select2-container--default .select2-selection--multiple .select2-selection__rendered {
    line-height: 1.5 !important;
    color: #212529 !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow,
.select2-container--default .select2-selection--multiple .select2-selection__arrow
{
    height: calc(2.375rem + 2px) !important;
}

.button-reset{
    background:  var(--primary-light);
    color: #fff;
    border: 1px solid var(--primary);
    border-radius: 4px;
    padding: 6px 12px;
    font-size: 13px;
    text-decoration: none;
}

/* toggle status switches in tables */

.form-check-input.toggle-status:checked {
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
}

/* invoices table plus/minus toggle colors */
.toggle-details .fa-plus-circle {
  color: var(--primary);
}
.toggle-details .fa-minus-circle {
  color: var(--primary-light);
}
.row-checkbox {
  accent-color: var(--primary);
}
.toggle-status{
  height: 20px;
  width: 2.3em !important;
}
/* ===== DataTables Text Size (Compact UI) ===== */
.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label,
.dataTables_wrapper .dataTables_info,
.dataTables_wrapper .dataTables_paginate {
  font-size: 12px;
  color: var(--foreground-secondary);
}

/* Input + dropdown */
.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
  font-size: 12px;
  height: 28px;
  padding: 2px 6px;
}
/* ===== Primary Button ===== */
.btn-primary , .btn-success{
  background-color: var(--primary) !important;
  border-color: var(--primary) !important;
  border-radius: 8px;
  font-size: 13px;
  padding: 6px 16px;
}

.btn-primary:hover, .btn-success:hover {
  background: linear-gradient(to bottom, var(--primary), var(--primary-light)) !important;
}

/* ===== Secondary Button ===== */
.btn-secondary {
  background-color: transparent !important;
  color: var(--primary) !important;
  border: 1px solid var(--border) !important;
  border-radius: 8px;
  font-size: 13px;
  padding: 6px 16px;
}
/* ===== Form Compact UI ===== */
.form-label , .text-secondary{
  font-size: 14px;
  margin-bottom: 4px;
  color: var(--foreground-secondary);
}

.form-control {
  font-size: 13px;
  height: 34px;
  border-radius: 8px;
  padding: 6px 10px;
  border: 1px solid var(--border);
  box-shadow: none;
}

.form-control:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 0.15rem rgba(45, 77, 126, 0.15);
}
/* ===== Select2 Compact (match form size) ===== */

/* Single select */
.select2-container .select2-selection--single {
  height: 34px !important;
  font-size: 13px !important;
  padding: 4px 10px !important;
  border-radius: 8px !important;
  border: 1px solid var(--border) !important;
}

/* Text inside */
.select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 24px !important;
  font-size: 13px !important;
}

/* Arrow alignment */
.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 34px !important;
}

/* Dropdown list */
.select2-container .select2-dropdown {
  font-size: 13px;
  border-radius: 8px;
}

/* Options */
.select2-container .select2-results__option {
  font-size: 13px;
  padding: 6px 10px;
}

/* Highlighted option */
.select2-container--default .select2-results__option--highlighted {
  background-color: var(--primary) !important;
  color: #fff !important;
}
/* Multiple select */
.select2-container .select2-selection--multiple {
  min-height: 34px !important;
  font-size: 13px !important;
  padding: 2px 6px !important;
  border-radius: 8px !important;
}

/* Selected tags */
.select2-container--default .select2-selection--multiple .select2-selection__choice {
  font-size: 12px;
  padding: 2px 6px;
  background: var(--primary) !important;
  color: #fff;
  border: none;
}
/* ===== TABLE GLOBAL ===== */
#detailOneTable,
#detailTwoTable {
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    overflow: hidden;
    font-size: 13px;
    background: #fff;

    display: block;
    overflow-x: auto;
}

/* Header */
#detailOneTable thead,
#detailTwoTable thead {
    background: #f8fafc;
}

#detailOneTable th,
#detailTwoTable th {
    font-weight: 600;
    font-size: 12px;
    color: #374151;
    padding: 10px;
    white-space: nowrap;
}

/* Body */
#detailOneTable td,
#detailTwoTable td {
    padding: 8px;
    vertical-align: middle;
    white-space: normal; /* IMPORTANT FIX */
}

/* Row hover */
#detailOneTable tbody tr:hover,
#detailTwoTable tbody tr:hover {
    background: #f9fafb;
}

/* ===== INPUT STYLING ===== */
#detailOneTable .form-control,
#detailOneTable .form-select,
#detailTwoTable .form-control,
#detailTwoTable .form-select {
    height: 32px;
    font-size: 12px;
    padding: 4px 8px;
    border-radius: 8px;
}

/* Small note inputs */
#detailOneTable .form-control-sm,
#detailTwoTable .form-control-sm {
    height: 26px;
    font-size: 11px;
}

/* ===== INPUT GROUP FIX (MAIN FIX) ===== */
#detailOneTable .input-group,
#detailTwoTable .input-group {
    display: flex !important;
    flex-wrap: nowrap;
    width: 100%;
}

/* Left input (Price/Discount field) */
#detailOneTable .input-group .form-control,
#detailTwoTable .input-group .form-control {
    flex: 1 1 auto;
    width: 1%;
    min-width: 0;
    border-radius: 8px 0 0 8px;
    border-right: 1px solid #d1d5db;
}

/* Right select (Currency / %) */
#detailOneTable .input-group .form-select,
#detailTwoTable .input-group .form-select {
    flex: 0 0 80px;
    width: 80px;
    border-radius: 0 8px 8px 0;
    border-left: 1px solid #e5e7eb;
}

/* Fix height */
#detailOneTable .input-group .form-control,
#detailOneTable .input-group .form-select,
#detailTwoTable .input-group .form-control,
#detailTwoTable .input-group .form-select {
    height: 32px;
}

/* ===== BUTTONS ===== */

/* Add row (+) */
#detailOneTable .btn-success,
#detailTwoTable .btn-success {
    width: 28px;
    height: 28px;
    padding: 0;
    font-size: 16px;
    border-radius: 6px;
    background: var(--primary);
    border: none;
}

/* Remove row (×) */
#detailOneTable .btn-danger,
#detailTwoTable .btn-danger {
    width: 28px;
    height: 28px;
    padding: 0;
    font-size: 14px;
    border-radius: 6px;
}

/* ===== AMOUNT FIELD ===== */
#detailOneTable .amount-field,
#detailTwoTable .amount-field {
    background: #f3f4f6;
    font-weight: 600;
}

/* ===== COLUMN WIDTH IMPROVEMENT ===== */
#detailTwoTable td:first-child input {
    min-width: 180px;
}

/* ===== FOCUS EFFECT ===== */
#detailOneTable .form-control:focus,
#detailTwoTable .form-control:focus,
#detailOneTable .form-select:focus,
#detailTwoTable .form-select:focus {
    border-color: var(--primary);
    box-shadow: 0 0 0 2px rgba(48, 89, 14, 0.15);
}

/* ===== OPTIONAL POLISH ===== */
#detailOneTable .form-select,
#detailTwoTable .form-select {
    background-color: #f3f4f6;
    font-weight: 500;
}
/* CKEditor container */
.ck-editor__editable {
    font-size: 13px !important;
    line-height: 1.5;
}

/* Toolbar buttons size */
.ck.ck-toolbar {
    font-size: 12px !important;
}

/* Dropdowns */
.ck.ck-dropdown__panel {
    font-size: 12px !important;
}
.dropdown-item {
  font-size: 13px !important;
}
/* ===== Calendar Theme Color Replace ===== */

/* Day numbers */
.fc .fc-daygrid-day-number {
    color: var(--primary) !important;
}

/* Weekday names (Mon, Tue, etc.) */
.fc .fc-col-header-cell-cushion {
    color: var(--primary) !important;
    font-weight: 600;
}

/* Toolbar title (Month/Year) */
.fc .fc-toolbar-title {
    color: var(--primary) !important;
}

/* Buttons (Today, Prev, Next) */
.fc .fc-button {
    background-color: var(--primary) !important;
    border-color: var(--primary) !important;
}

.fc .fc-button:hover {
    opacity: 0.9;
}

/* Active / selected day */
.fc .fc-daygrid-day.fc-day-today {
    background-color: rgba(0, 0, 0, 0.05); /* keep subtle */
}

/* Event text (optional) */
.fc-event {
    background-color: var(--primary) !important;
    border: none !important;
}
/* ===== Calendar Theme Color Replace END ===== */