.form-input,
.form-select,
.form-textarea {
  width: 100%;
  border: 1px solid #cbd5e1;
  border-radius: 0.75rem;
  padding: 0.75rem 0.9rem;
  background: white;
}
.form-label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.875rem;
  font-weight: 700;
  color: #334155;
}
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  padding: 0.75rem 1.15rem;
  font-weight: 800;
}
.btn-primary { background: #0e7a0b; color: white; }
.btn-dark { background: #111827; color: white; }
.btn-soft { background: #eef8f0; color: #0e7a0b; }
.step-panel { display: none; }
.step-panel.active { display: block; }
.calendar-block {
  min-height: 4rem;
  border-radius: 0.75rem;
  padding: 0.75rem;
  border: 1px solid #dfe5df;
  background: #f7fbf7;
}

/* Application pages use the public website chrome without the transparent hero header. */
.application-page {
  background: #f5f7f8;
  color: #101F46;
}

.application-page .header-primary {
  position: relative;
  top: auto;
  left: auto;
  right: auto;
  z-index: 20;
  background: #ffffff;
  box-shadow: 0 8px 24px rgba(16, 31, 70, 0.08);
}

.application-page .top-header {
  background: #101F46;
  border-bottom: 0;
}

.application-page .header-contact-info,
.application-page .header-contact-info a,
.application-page .header-social a {
  color: #ffffff;
}

.application-page .bottom-header {
  background: #ffffff;
  border-bottom: 1px solid #e6edf0;
}

.application-page .bottom-header .white-logo {
  display: none;
}

.application-page .bottom-header .black-logo {
  display: block;
}

.application-page .main-navigation .navigation > ul > li > a {
  color: #101F46;
  padding: 28px 0;
}

.application-page .main-navigation .navigation > ul > li > a:hover,
.application-page .main-navigation .navigation > ul > li > a:focus,
.application-page .main-navigation .navigation > ul > li.current-menu-item > a {
  color: #0e7a0b;
}

.application-page .main-navigation .navigation > ul > li > a:before {
  background-color: #0e7a0b;
}

.application-page .header-btn .button-primary,
.application-page .button-primary {
  background: #0e7a0b;
  color: #ffffff;
  border-radius: 0;
}

.application-page .header-btn .button-primary:hover,
.application-page .button-primary:hover {
  background: #101F46;
  color: #ffffff;
}

.application-main {
  min-height: 58vh;
  padding: 56px 0 64px;
}

.application-main > section {
  padding-top: 0;
  padding-bottom: 0;
}

.application-page h1,
.application-page h2,
.application-page h3 {
  color: #101F46;
  letter-spacing: 0;
}

.application-page .text-brand {
  color: #0e7a0b !important;
}

.application-page .bg-brand {
  background-color: #0e7a0b !important;
}

.application-page .form-label {
  display: block;
  color: #101F46;
  font-weight: 800;
}

.application-page .form-input,
.application-page .form-select,
.application-page .form-textarea {
  display: block;
  border-color: #d9d9d9;
  border-radius: 0;
  color: #101F46;
  min-height: 48px;
  width: 100%;
}

.application-page .form-textarea {
  min-height: 120px;
  padding-top: 12px;
}

.application-page .form-help {
  color: #667085;
  display: block;
  font-size: 13px;
  line-height: 1.45;
  margin-top: 7px;
}

.application-page .form-input:focus,
.application-page .form-select:focus,
.application-page .form-textarea:focus {
  border-color: #0e7a0b;
  box-shadow: 0 0 0 3px rgba(14, 122, 11, 0.12);
  outline: none;
}

.application-page .field-invalid {
  border-color: #b42318 !important;
  box-shadow: 0 0 0 3px rgba(180, 35, 24, 0.12) !important;
}

.listing-owner-details {
  background: #f7faf7;
  border: 1px solid #dbe6dc;
  margin-bottom: 24px;
  padding: 22px;
}

.listing-source-details {
  background: #ffffff;
  border: 1px solid #dfe5df;
  margin-bottom: 24px;
  padding: 22px;
}

.listing-source-details .listing-contact-route-heading {
  margin-bottom: 18px;
}

.listing-owner-details .listing-contact-route-heading {
  margin-bottom: 18px;
}

.additional-owner-manager {
  border-top: 1px solid #dbe6dc;
  margin-top: 22px;
  padding-top: 22px;
}

.additional-owner-heading,
.additional-owner-row-heading {
  align-items: center;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.additional-owner-heading h4,
.additional-owner-heading p {
  margin: 0;
}

.additional-owner-heading p {
  color: #667085;
  margin-top: 4px;
}

.additional-owner-list {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.additional-owner-row {
  background: #ffffff;
  border: 1px solid #dbe6dc;
  padding: 18px;
}

.additional-owner-row-heading {
  margin-bottom: 14px;
}

@media (max-width: 700px) {
  .additional-owner-heading {
    align-items: stretch;
    flex-direction: column;
  }
}

.application-page .btn {
  border-radius: 0 !important;
  border: 0;
  min-height: 48px;
  padding: 12px 20px;
  text-decoration: none;
}

.application-page .btn-primary {
  background: #0e7a0b !important;
  color: #ffffff !important;
}

.application-page .btn-primary:hover,
.application-page .btn-dark:hover {
  background: #101F46 !important;
  color: #ffffff !important;
}

.application-page .btn-dark {
  background: #101F46 !important;
  color: #ffffff !important;
}

.application-page .btn-soft {
  background: #eef8f0 !important;
  color: #0e7a0b !important;
}

.application-page .btn-soft:hover {
  background: #0e7a0b !important;
  color: #ffffff !important;
}

.application-page .rounded-xl,
.application-page .rounded-2xl,
.application-page .rounded-full,
.application-page .rounded-lg,
.application-page article,
.application-page aside,
.application-page form,
.application-page table,
.application-page .calendar-block {
  border-radius: 0 !important;
}

.application-page .shadow-sm {
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08) !important;
}

.application-page .bg-white {
  background-color: #ffffff !important;
}

.application-page .border,
.application-page .border-t,
.application-page .border-dashed {
  border-color: #dfe5df !important;
}

.application-page .bg-slate-50,
.application-page .bg-slate-100 {
  background-color: #f4f8f4 !important;
}

.application-page .bg-violet-50,
.application-page .bg-emerald-50 {
  background-color: #eef8f0 !important;
}

.application-page .text-violet-800,
.application-page .text-emerald-700 {
  color: #0e7a0b !important;
}

.application-page .bg-red-50 {
  background-color: #fff1f1 !important;
}

.application-page .bg-amber-50 {
  background-color: #fff7e8 !important;
}

.application-page table {
  border-collapse: collapse;
}

.application-page thead {
  background: #101F46 !important;
  color: #ffffff;
}

.application-page th,
.application-page td {
  border-color: #e6edf0;
  vertical-align: top;
}

.application-page tbody tr:hover {
  background: #f7fbf7;
}

.application-page .admin-stat-card {
  border-left: 4px solid #0e7a0b;
}

.application-page .admin-stat-card p:last-child {
  color: #0e7a0b !important;
}

.application-page .package-card,
.application-page .account-type-card {
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.application-page .package-card:has(input:checked),
.application-page .account-type-card:has(input:checked) {
  border-color: #0e7a0b !important;
  box-shadow: inset 4px 0 0 #0e7a0b;
}

@media screen and (max-width: 991px) {
  .application-page .bottom-header {
    background: #ffffff;
  }

  .application-page .mobile-menu-container {
    background: #ffffff;
  }
}

.app-container {
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 24px;
}

.register-page {
  max-width: 1080px;
}

.app-page-heading {
  margin-bottom: 28px;
}

.app-page-heading .eyebrow {
  color: #0e7a0b;
  font-weight: 900;
  margin-bottom: 6px;
}

.app-page-heading h1 {
  font-size: 42px;
  font-weight: 900;
  line-height: 1.1;
  margin: 0;
}

.search-filter-form,
.register-form {
  background: #ffffff;
  padding: 26px;
}

.search-filter-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.search-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  margin-top: 18px;
  padding-top: 18px;
  border-top: 1px solid #e6edf0;
}

.search-map-placeholder,
.search-empty-state {
  background: #ffffff;
  border: 1px dashed #dfe5df;
  color: #667085;
  margin-bottom: 24px;
  padding: 24px;
  text-align: center;
}

.listing-card-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px;
}

.search-map-layout {
  align-items: start;
  display: grid;
  gap: 26px;
  grid-template-columns: 420px minmax(0, 1fr);
  margin-top: 28px;
}

.search-map-panel {
  background: #ffffff;
  overflow: hidden;
  position: sticky;
  top: 118px;
}

.search-map-frame {
  aspect-ratio: 4 / 3;
  background: #e6edf0;
}

.search-map-frame iframe {
  border: 0;
  display: block;
  height: 100%;
  pointer-events: none;
  width: 100%;
}

.search-map-details {
  padding: 22px;
}

.search-map-details .eyebrow {
  color: #0e7a0b;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 6px;
}

.search-map-details h2 {
  font-size: 24px;
  font-weight: 900;
  line-height: 1.2;
  margin-bottom: 8px;
}

.search-map-details p {
  color: #667085;
  margin-bottom: 10px;
}

.nearby-panel {
  border-top: 1px solid #e6edf0;
  margin-top: 18px;
  padding-top: 18px;
}

.nearby-panel h3 {
  font-size: 17px;
  font-weight: 900;
  margin-bottom: 12px;
}

.nearby-link-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 18px;
}

.nearby-chip {
  background: #eef8f0;
  color: #0e7a0b;
  padding: 10px 12px;
}

.nearby-chip strong {
  color: #0e7a0b;
  display: block;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 5px;
}

.nearby-chip span {
  color: #344054;
  display: block;
  font-size: 13px;
  line-height: 1.4;
}

.search-results-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.result-listing-card {
  background: #ffffff;
  border: 2px solid transparent;
  cursor: pointer;
  overflow: hidden;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.result-listing-card.is-selected {
  border-color: #0e7a0b;
  box-shadow: 0 14px 36px rgba(16, 31, 70, 0.13);
}

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

.result-listing-card img {
  display: block;
  height: 230px;
  object-fit: cover;
  width: 100%;
}

.result-listing-body {
  padding: 20px;
}

.result-location {
  color: #0e7a0b;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 6px;
}

.result-tgcsa-badge {
  background: #fff8e1;
  border-left: 3px solid #f4b000;
  color: #101F46;
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  margin: 0 0 10px;
  padding: 7px 9px;
  text-transform: uppercase;
}

.result-listing-body h3 {
  font-size: 21px;
  font-weight: 900;
  line-height: 1.25;
  margin-bottom: 10px;
}

.result-listing-body h3 a {
  color: #101F46;
}

.result-meta {
  color: #667085;
  margin-bottom: 12px;
}

.result-price {
  color: #101F46;
  font-weight: 900;
  margin-bottom: 16px;
}

.result-map-button {
  background: #eef8f0;
  border: 0;
  color: #0e7a0b;
  cursor: pointer;
  font-weight: 900;
  min-height: 42px;
  padding: 10px 14px;
  width: 100%;
}

.result-map-button:hover,
.result-listing-card.is-selected .result-map-button {
  background: #0e7a0b;
  color: #ffffff;
}

.listing-detail-page {
  max-width: 1280px;
}

.listing-detail-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 34px;
}

.listing-gallery-link {
  background: #e6edf0;
  cursor: zoom-in;
  display: block;
  overflow: hidden;
  position: relative;
}

.listing-gallery-link:focus {
  outline: 3px solid rgba(14, 122, 11, 0.28);
  outline-offset: 3px;
}

.listing-gallery-link img,
.listing-detail-gallery img {
  background: #e6edf0;
  display: block;
  height: 210px;
  object-fit: contain;
  width: 100%;
}

.listing-detail-gallery .featured-image {
  grid-column: span 2;
  grid-row: span 2;
}

.listing-detail-gallery .featured-image img {
  height: 430px;
}

.listing-detail-layout {
  align-items: start;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 360px;
  gap: 34px;
}

.listing-detail-main {
  display: grid;
  gap: 26px;
}

.listing-detail-heading .eyebrow {
  color: #0e7a0b;
  font-weight: 900;
  margin-bottom: 8px;
}

.listing-detail-heading h1 {
  font-size: 44px;
  font-weight: 900;
  line-height: 1.08;
  margin-bottom: 12px;
}

.listing-feature-line,
.listing-description {
  color: #667085;
  font-size: 16px;
}

.tgcsa-rating-badge {
  align-items: center;
  background: #fff8e1;
  border-left: 4px solid #f4b000;
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 16px;
  padding: 12px 14px;
}

.tgcsa-rating-badge strong {
  color: #101F46;
  font-weight: 900;
}

.tgcsa-rating-badge span {
  color: #9a6500;
  font-weight: 900;
}

.tgcsa-rating-badge small {
  color: #667085;
  font-weight: 800;
}

.listing-description {
  background: #ffffff;
  border-left: 4px solid #0e7a0b;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  margin: 0;
  padding: 22px 24px;
  white-space: pre-line;
}

.listing-price-grid,
.listing-info-grid {
  display: grid;
  gap: 16px;
}

.listing-price-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.listing-info-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.listing-info-card {
  background: #ffffff;
  border: 1px solid #dfe5df;
  padding: 20px;
}

.listing-info-card strong,
.listing-info-card h2 {
  color: #101F46;
  display: block;
  font-size: 17px;
  font-weight: 900;
  margin-bottom: 8px;
}

.listing-info-card span {
  color: #0e7a0b;
  display: block;
  font-size: 20px;
  font-weight: 900;
  margin-bottom: 3px;
}

.listing-info-card small,
.listing-info-card p {
  color: #667085;
  margin-bottom: 0;
}

.listing-section h2 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin-bottom: 14px;
}

.amenity-pill-list {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.amenity-pill-list span {
  background: #eef8f0;
  color: #0e7a0b;
  display: inline-flex;
  font-size: 13px;
  font-weight: 900;
  padding: 9px 12px;
}

.listing-video {
  aspect-ratio: 16 / 9;
  border: 0;
  display: block;
  width: 100%;
}

.listing-section-heading {
  align-items: flex-end;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 16px;
}

.listing-section-heading h2 {
  margin-bottom: 4px;
}

.listing-section-heading p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

.public-review-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.public-review-card {
  background: #ffffff;
  border: 1px solid #dfe5df;
  display: grid;
  gap: 10px;
  padding: 18px;
}

.public-review-card > strong {
  color: #f5a623;
  font-size: 18px;
  letter-spacing: 1px;
}

.public-review-card h3 {
  color: #101F46;
  font-size: 20px;
  font-weight: 900;
  margin: 0;
}

.public-review-card p,
.public-review-card small,
.public-review-card span {
  color: #667085;
  line-height: 1.6;
  margin: 0;
}

.public-review-card small,
.public-review-card b {
  font-size: 13px;
  font-weight: 900;
}

.public-review-card div {
  background: #f7fbf7;
  border-left: 4px solid #0e7a0b;
  display: grid;
  gap: 6px;
  padding: 12px;
}

.listing-area-map-section {
  margin-top: 34px;
}

.listing-area-map-frame {
  background: #eef3f5;
  border: 1px solid #dfe5df;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.08);
  height: 520px;
  overflow: hidden;
}

.listing-area-map-frame iframe {
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
}

.listing-map-address {
  align-items: flex-start;
  background: #f6fbf6;
  border-left: 4px solid #0e7a0b;
  display: grid;
  gap: 4px;
  margin-top: 14px;
  padding: 14px 16px;
}

.listing-map-address strong {
  color: #101F46;
  font-weight: 900;
}

.listing-map-address span {
  color: #667085;
  font-weight: 800;
  line-height: 1.5;
}

.listing-booking-card {
  background: #ffffff;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  padding: 24px;
  position: sticky;
  top: 120px;
}

.booking-label {
  color: #667085;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 4px;
}

.booking-price {
  color: #101F46;
  font-size: 34px;
  font-weight: 900;
  line-height: 1.1;
  margin-bottom: 18px;
}

.booking-price-basis {
  color: #667085;
  font-size: 14px;
  font-weight: 800;
  margin: -8px 0 18px;
  text-transform: lowercase;
}

.booking-links,
.enquiry-form {
  display: grid;
  gap: 10px;
}

.partner-booking-button {
  justify-content: center;
}

.nightsbridge-modal-open {
  overflow: hidden;
}

.nightsbridge-booking-modal {
  display: none;
  inset: 0;
  padding: 26px;
  position: fixed;
  z-index: 9999;
}

.nightsbridge-booking-modal.is-open {
  display: block;
}

.nightsbridge-booking-backdrop {
  background: rgba(16, 31, 70, 0.72);
  inset: 0;
  position: absolute;
}

.nightsbridge-booking-panel {
  background: #ffffff;
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.28);
  display: grid;
  grid-template-rows: auto minmax(420px, 1fr) auto;
  height: min(92vh, 920px);
  margin: 0 auto;
  max-width: 1180px;
  position: relative;
  width: min(100%, 1180px);
}

.nightsbridge-booking-header {
  align-items: center;
  background: #101F46;
  color: #ffffff;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 18px 22px;
}

.nightsbridge-booking-header .eyebrow,
.nightsbridge-booking-header h2 {
  color: #ffffff;
  margin: 0;
}

.nightsbridge-booking-header h2 {
  font-size: 24px;
  font-weight: 900;
}

.nightsbridge-booking-frame {
  background: #f5f7f9;
  min-height: 0;
}

.nightsbridge-booking-frame iframe,
.nightsbridge-booking-frame embed {
  border: 0;
  display: block;
  height: 100%;
  width: 100%;
}

.partner-booking-fallback-view {
  align-items: center;
  background: #f5f7f9;
  display: flex;
  justify-content: center;
  min-height: 420px;
  padding: 36px;
}

.partner-booking-fallback-view[hidden],
.nightsbridge-booking-frame[hidden] {
  display: none;
}

.partner-booking-fallback-view > div {
  background: #ffffff;
  border-left: 4px solid #0e7a0b;
  box-shadow: 0 16px 45px rgba(16, 31, 70, 0.12);
  display: grid;
  gap: 12px;
  max-width: 520px;
  padding: 28px;
}

.partner-booking-fallback-view h3 {
  color: #101F46;
  font-size: 28px;
  font-weight: 900;
  margin: 0;
}

.partner-booking-fallback-view p:not(.eyebrow) {
  color: #667085;
  line-height: 1.6;
  margin: 0 0 8px;
}

.nightsbridge-booking-footer {
  align-items: center;
  background: #ffffff;
  border-top: 1px solid #e3e9ed;
  color: #667085;
  display: flex;
  gap: 14px;
  justify-content: space-between;
  padding: 14px 18px;
}

.nightsbridge-booking-footer span {
  font-size: 13px;
  font-weight: 800;
}

.enquiry-date-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.booking-availability {
  background: #f8fafc;
  border: 1px solid #dfe5df;
  display: grid;
  gap: 12px;
  padding: 14px;
}

.public-availability-section {
  display: grid;
  gap: 18px;
}

.public-availability-calendar {
  background: #ffffff;
  border-left: 4px solid #0e7a0b;
  box-shadow: 0 14px 36px rgba(16, 31, 70, 0.08);
}

.booking-calendar-header {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.booking-calendar-header strong {
  color: #101F46;
  font-size: 16px;
  font-weight: 900;
  text-align: center;
}

.booking-calendar-grid {
  display: grid;
  gap: 4px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.booking-calendar-grid strong,
.booking-calendar-grid span,
.booking-calendar-grid button {
  align-items: center;
  aspect-ratio: 1;
  border: 1px solid #dfe5df;
  display: flex;
  font-size: 12px;
  font-weight: 900;
  justify-content: center;
  min-width: 0;
}

.booking-calendar-grid strong {
  aspect-ratio: auto;
  background: #101F46;
  border-color: #101F46;
  color: #ffffff;
  min-height: 28px;
}

.booking-calendar-grid span {
  background: transparent;
  border-color: transparent;
}

.booking-calendar-grid button {
  background: #ffffff;
  color: #101F46;
  cursor: pointer;
}

.public-availability-calendar .booking-calendar-grid button {
  cursor: default;
}

.booking-calendar-grid button:hover:not(:disabled) {
  border-color: #0e7a0b;
  color: #0e7a0b;
}

.booking-calendar-grid button.is-unavailable {
  background: #f2f4f7;
  color: #98a2b3;
  cursor: not-allowed;
  text-decoration: line-through;
}

.booking-calendar-grid button.is-open {
  background: #ffffff;
  color: #0e7a0b;
}

.booking-calendar-grid button.is-selected {
  background: #0e7a0b;
  border-color: #0e7a0b;
  color: #ffffff;
}

.booking-calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.booking-calendar-legend span {
  background: #ffffff;
  color: #101F46;
  font-size: 12px;
  font-weight: 900;
  padding: 6px 8px;
}

.booking-calendar-legend .unavailable {
  background: #f2f4f7;
  color: #667085;
  text-decoration: line-through;
}

.booking-calendar-legend .selected {
  background: #eef8f0;
  color: #0e7a0b;
}

.availability-message {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
  margin: 0;
}

.availability-message[data-state="error"] {
  color: #b42318;
}

.availability-message[data-state="success"] {
  color: #0e7a0b;
}

.facebook-share-button {
  background: #1877f2 !important;
  color: #ffffff !important;
  gap: 8px;
}

.facebook-share-button:hover {
  background: #101F46 !important;
  color: #ffffff !important;
}

.listing-side-icon-links {
  align-items: center;
  border-top: 1px solid #e3e9ed;
  display: flex;
  gap: 10px;
  justify-content: center;
  margin-top: 14px;
  padding-top: 14px;
}

.listing-side-icon-links a {
  align-items: center;
  background: #f7fbf7;
  border: 1px solid #dfe5df;
  color: #101F46;
  display: inline-flex;
  font-size: 13px;
  font-weight: 900;
  gap: 8px;
  justify-content: center;
  min-height: 42px;
  padding: 10px 12px;
}

.listing-side-icon-links a:hover {
  background: #101F46;
  color: #ffffff;
}

.listing-side-icon-links i {
  color: #0e7a0b;
  font-size: 15px;
}

.listing-side-icon-links a:hover i {
  color: #ffffff;
}

.listing-contact-owner-form {
  border-top: 1px solid #e3e9ed;
  display: grid;
  gap: 12px;
  margin-top: 14px;
  padding-top: 14px;
}

.listing-contact-owner-form[hidden] {
  display: none;
}

.listing-contact-confirmation {
  margin-top: 14px;
}

.enquiry-form {
  border-top: 1px solid #e6edf0;
  margin-top: 18px;
  padding-top: 18px;
}

.register-form {
  display: grid;
  gap: 28px;
}

.register-options,
.register-grid,
.package-grid {
  display: grid;
  gap: 16px;
}

.register-options,
.register-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.package-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.register-section {
  border-top: 1px solid #e6edf0;
  padding-top: 28px;
}

.choice-card {
  border: 1px solid #dfe5df;
  background: #ffffff;
  display: block;
  min-height: 84px;
  padding: 18px 20px;
}

.choice-card input {
  margin-right: 8px;
}

.choice-card span {
  display: block;
}

.booking-methods {
  grid-column: 1 / -1;
  background: #f7fbf7;
  border: 1px solid #dfe5df;
  padding: 18px 20px;
}

.booking-methods p {
  color: #101F46;
  margin-bottom: 12px;
}

.booking-methods label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0 18px 10px 0;
  color: #101F46;
}

.form-submit-row {
  border-top: 1px solid #e6edf0;
  padding-top: 24px;
}

.form-alert {
  margin-bottom: 20px;
  padding: 14px 16px;
  font-weight: 700;
}

.form-alert-error {
  background: #fff1f1;
  color: #b42318;
}

.form-alert[data-state="success"] {
  background: #eef8f0;
  color: #0e7a0b;
}

.form-alert[data-state="error"] {
  background: #fff1f1;
  color: #b42318;
}

.application-page .hidden {
  display: none !important;
}

.listing-wizard-page {
  max-width: 1180px;
}

.page-intro {
  color: #667085;
  margin: 8px 0 0;
}

.import-property-button {
  margin-top: 18px;
}

.import-success-message,
.import-warning-panel {
  margin-bottom: 18px;
}

.import-warning-panel {
  background: #fff7e8;
  border-left: 4px solid #f5a623;
  color: #101F46;
  display: grid;
  gap: 6px;
  padding: 16px 18px;
}

.import-warning-panel.strong-warning {
  background: #fff1f1;
  border-left-color: #b42318;
}

.import-warning-panel strong,
.import-warning-panel span {
  display: block;
}

.import-warning-panel span {
  color: #667085;
  font-weight: 800;
}

.missing-import-panel ul {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 6px 0 0;
  padding-left: 18px;
}

.missing-import-panel li {
  color: #101F46;
  font-weight: 900;
}

.import-property-modal {
  display: none;
  inset: 0;
  position: fixed;
  z-index: 2200;
}

.import-property-modal.is-open {
  display: block;
}

.import-property-backdrop {
  background: rgba(16, 31, 70, 0.62);
  inset: 0;
  position: absolute;
}

.import-property-panel {
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(16, 31, 70, 0.22);
  left: 50%;
  max-width: 760px;
  padding: 28px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 32px);
}

.import-property-header {
  align-items: flex-start;
  border-bottom: 1px solid #dfe5df;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 18px;
  padding-bottom: 14px;
}

.import-property-header h2 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin: 4px 0 0;
}

.import-property-panel form {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.import-property-panel form label:first-of-type,
.import-property-panel form label:nth-of-type(2),
.import-property-panel form p,
.import-property-panel form .form-alert,
.import-property-panel form button {
  grid-column: 1 / -1;
}

.import-property-panel p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

@media (max-width: 720px) {
  .import-property-panel {
    max-height: calc(100vh - 28px);
    overflow-y: auto;
    padding: 22px;
  }

  .import-property-panel form {
    grid-template-columns: 1fr;
  }
}

.dashboard-top {
  align-items: flex-start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 360px;
  margin-bottom: 28px;
}

.dashboard-confirmation {
  background: #eef8f0;
  border-left: 4px solid #0e7a0b;
  color: #101F46;
  margin-bottom: 24px;
  padding: 18px 20px;
}

.dashboard-confirmation strong {
  color: #0e7a0b;
  display: block;
  font-size: 18px;
  font-weight: 900;
  margin-bottom: 4px;
}

.dashboard-confirmation span {
  color: #344054;
  display: block;
}

.dashboard-limit-card,
.dashboard-empty-state {
  background: #ffffff;
  border-left: 4px solid #0e7a0b;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  padding: 22px;
}

.dashboard-limit-card {
  align-self: center;
}

.dashboard-limit-card p {
  color: #101F46;
  font-weight: 900;
  margin-bottom: 16px;
}

.dashboard-limit-card span {
  color: #667085;
  display: block;
  margin-bottom: 16px;
}

.dashboard-limit-card .btn + .btn,
.dashboard-limit-card span + .btn {
  margin-top: 10px;
}

.host-dashboard-hero {
  align-items: flex-start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) auto;
  margin-bottom: 22px;
}

.host-dashboard-hero h1 {
  font-size: 44px;
  font-weight: 900;
  line-height: 1.1;
  margin: 0;
}

.host-dashboard-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.host-dashboard-tabs {
  background: #ffffff;
  border: 1px solid #e6edf0;
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  margin-bottom: 24px;
}

.host-dashboard-tabs a {
  border-right: 1px solid #e6edf0;
  color: #101F46;
  font-size: 13px;
  font-weight: 900;
  padding: 12px 14px;
}

.host-dashboard-tabs a:hover {
  background: #eef8f0;
  color: #0e7a0b;
}

.host-dashboard-tabs a.active {
  background: #0e7a0b;
  color: #ffffff;
}

.dashboard-sidebar-title {
  border-bottom: 1px solid #e6edf0;
  display: grid;
  gap: 2px;
  margin-bottom: 8px;
  padding: 4px 4px 14px;
}

.dashboard-sidebar-title span {
  color: #0e7a0b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.dashboard-sidebar-title strong {
  color: #101F46;
  font-size: 18px;
  font-weight: 900;
}

.host-dashboard-page {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: 260px minmax(0, 1fr);
  max-width: min(1640px, calc(100vw - 32px));
  width: 100%;
}

.host-dashboard-page > .dashboard-confirmation,
.host-dashboard-page > .dashboard-alert,
.host-dashboard-page > .host-dashboard-hero,
.host-dashboard-page > :not(.dashboard-confirmation):not(.dashboard-alert):not(.host-dashboard-hero):not(.host-dashboard-tabs) {
  grid-column: 2;
  min-width: 0;
}

.host-dashboard-page > .host-dashboard-tabs {
  align-content: start;
  display: grid;
  gap: 6px;
  grid-column: 1;
  grid-row: 1 / span 80;
  margin: 0;
  max-height: calc(100vh - 32px);
  overflow: auto;
  padding: 14px;
  position: sticky;
  top: 16px;
}

.host-dashboard-tabs a {
  align-items: center;
  border-bottom: 0;
  border-right: 0;
  display: flex;
  justify-content: space-between;
  min-height: 42px;
  text-decoration: none;
}

.host-dashboard-tabs a small {
  background: #ffffff;
  color: #0e7a0b;
  font-size: 11px;
  font-weight: 900;
  min-width: 22px;
  padding: 3px 7px;
  text-align: center;
}

.overview-shell {
  display: grid;
  gap: 20px;
  margin-bottom: 28px;
}

.overview-welcome-card {
  align-items: center;
  background: #ffffff;
  border-left: 4px solid #0e7a0b;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 230px;
  padding: 28px 30px;
}

.overview-welcome-card h2 {
  color: #101F46;
  font-size: 32px;
  font-weight: 900;
  line-height: 1.15;
  margin: 0 0 8px;
}

.overview-welcome-card p {
  color: #667085;
  margin: 0;
  max-width: 760px;
}

.overview-account-summary {
  display: grid;
  gap: 12px;
}

.overview-package-pill,
.overview-account-id-pill {
  background: #101F46;
  color: #ffffff;
  padding: 20px;
  text-align: center;
}

.overview-package-pill span,
.overview-package-pill small,
.overview-account-id-pill span,
.overview-account-id-pill small {
  display: block;
  font-weight: 800;
}

.overview-package-pill strong,
.overview-account-id-pill strong {
  color: #ffffff;
  display: block;
  font-size: 42px;
  font-weight: 900;
  line-height: 1;
  margin: 8px 0;
}

.overview-account-id-pill {
  background: #eef8f0;
  border: 1px solid #d8ecd9;
  color: #101F46;
}

.overview-account-id-pill strong {
  color: #0e7a0b;
  font-size: 30px;
}

.overview-account-id-pill small {
  color: #667085;
}

.overview-kpi-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.overview-kpi-card {
  background: #ffffff;
  border: 1px solid #e6edf0;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.06);
  padding: 20px;
}

.overview-kpi-card span,
.overview-kpi-card small {
  color: #667085;
  display: block;
  font-size: 13px;
  font-weight: 800;
}

.overview-kpi-card strong {
  color: #101F46;
  display: block;
  font-size: 38px;
  font-weight: 900;
  line-height: 1;
  margin: 10px 0 8px;
}

.overview-grid {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 360px;
}

.overview-main-column,
.overview-side-column {
  display: grid;
  gap: 18px;
}

.overview-panel {
  background: #ffffff;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  padding: 22px;
}

.section-heading.compact {
  align-items: flex-start;
  margin-bottom: 14px;
}

.section-heading.compact h2 {
  font-size: 22px;
}

.host-text-link {
  color: #0e7a0b;
  font-weight: 900;
  text-decoration: none;
}

.host-text-link:hover {
  color: #101F46;
}

.overview-action-list,
.overview-enquiry-list,
.overview-checklist {
  display: grid;
  gap: 10px;
}

.overview-action-list a {
  background: #eef8f0;
  color: #0e7a0b;
  font-weight: 900;
  padding: 13px 14px;
}

.overview-action-list a:hover {
  background: #0e7a0b;
  color: #ffffff;
}

.overview-status-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.overview-status-list div {
  background: #f7fbf7;
  border: 1px solid #dfe5df;
  padding: 14px;
}

.overview-status-list strong,
.overview-status-list span {
  display: block;
}

.overview-status-list strong {
  color: #101F46;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}

.overview-status-list span {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
  margin-top: 6px;
}

.overview-enquiry-list a {
  border-bottom: 1px solid #e6edf0;
  display: grid;
  gap: 3px;
  padding: 0 0 10px;
}

.overview-enquiry-list strong {
  color: #101F46;
  font-weight: 900;
}

.overview-enquiry-list span,
.overview-enquiry-list small,
.overview-empty-note {
  color: #667085;
}

.overview-bottom-grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 28px;
}

.overview-health-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.overview-health-grid span {
  background: #f7fbf7;
  border: 1px solid #dfe5df;
  color: #667085;
  font-size: 13px;
  font-weight: 800;
  padding: 14px;
}

.overview-health-grid strong {
  color: #101F46;
  display: block;
  font-size: 24px;
  font-weight: 900;
}

.overview-checklist span {
  background: #f7fbf7;
  border-left: 4px solid #dfe5df;
  color: #667085;
  font-weight: 800;
  padding: 12px 14px;
}

.overview-checklist span.complete {
  border-left-color: #0e7a0b;
  color: #101F46;
}

.host-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 26px;
}

.host-stat-card,
.host-panel,
.host-table-card,
.property-overview-card,
.management-card,
.analytics-card,
.host-empty-card {
  background: #ffffff;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
}

.host-stat-card {
  border-left: 4px solid #0e7a0b;
  padding: 18px 20px;
}

.host-stat-card span,
.host-stat-card small {
  color: #667085;
  display: block;
  font-size: 13px;
  font-weight: 800;
}

.host-stat-card strong {
  color: #101F46;
  display: block;
  font-size: 34px;
  font-weight: 900;
  line-height: 1.1;
  margin: 6px 0;
}

.earnings-toolbar {
  align-items: flex-end;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 24px;
}

.earnings-toolbar h2 {
  color: #101F46;
  font-size: 30px;
  font-weight: 900;
  margin: 4px 0 0;
}

.earnings-month-form {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.earnings-warning {
  margin-bottom: 22px;
}

.earnings-layout,
.earnings-details-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
}

.earnings-balance-panel,
.earnings-chart-panel,
.earnings-property-panel,
.earnings-statement-panel {
  padding: 24px;
}

.earnings-panel-heading {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 18px;
}

.earnings-panel-heading h3 {
  color: #101F46;
  font-size: 24px;
  font-weight: 900;
  margin: 4px 0 0;
}

.earnings-panel-heading > strong {
  color: #0e7a0b;
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
}

.earnings-balance-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.earnings-balance-grid div {
  background: #f8fafc;
  border: 1px solid #dfe5df;
  padding: 14px;
}

.earnings-balance-grid span,
.earnings-note {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.earnings-balance-grid strong {
  color: #101F46;
  display: block;
  font-size: 22px;
  font-weight: 900;
  margin-top: 6px;
}

.earnings-note {
  border-top: 1px solid #dfe5df;
  margin: 18px 0 0;
  padding-top: 16px;
}

.earnings-chart {
  align-items: end;
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  min-height: 260px;
}

.earnings-chart-bar {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-rows: 1fr auto auto;
  height: 100%;
  min-height: 240px;
  text-align: center;
}

.earnings-chart-bar span {
  align-self: end;
  background: linear-gradient(180deg, #0e7a0b 0%, #101F46 100%);
  display: block;
  min-height: 8px;
  width: 100%;
}

.earnings-chart-bar small {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
}

.earnings-chart-bar strong {
  color: #101F46;
  font-size: 13px;
  font-weight: 900;
}

.earnings-property-list,
.earnings-statement-list {
  display: grid;
  gap: 12px;
}

.earnings-property-list > div,
.earnings-statement-list > div {
  border: 1px solid #dfe5df;
  display: grid;
  gap: 12px;
  padding: 14px;
}

.earnings-property-list > div {
  grid-template-columns: 1fr auto;
}

.earnings-statement-list > div {
  align-items: center;
  grid-template-columns: 1fr auto auto;
}

.earnings-property-list strong,
.earnings-statement-list strong {
  color: #101F46;
  display: block;
  font-weight: 900;
}

.earnings-property-list small,
.earnings-statement-list small,
.earnings-property-list p,
.earnings-statement-list p {
  color: #667085;
  display: block;
  font-size: 13px;
  font-weight: 800;
  margin: 4px 0 0;
}

.earnings-property-list b,
.earnings-statement-list b {
  color: #0e7a0b;
  font-weight: 900;
}

.earnings-property-list i {
  background: #f2f4f7;
  display: block;
  grid-column: 1 / -1;
  height: 8px;
  overflow: hidden;
}

.earnings-property-list em {
  background: #0e7a0b;
  display: block;
  height: 100%;
}

.message-filter-bar {
  align-items: end;
  background: #ffffff;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  display: grid;
  gap: 14px;
  grid-template-columns: 1.4fr 1fr 0.8fr auto;
  margin-bottom: 28px;
  padding: 18px;
}

.message-inbox-layout {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(280px, 0.85fr) minmax(0, 1.6fr);
}

.message-thread-list,
.message-detail-panel {
  padding: 24px;
}

.message-thread-list {
  display: grid;
  gap: 12px;
  max-height: 760px;
  overflow: auto;
}

.message-panel-heading,
.message-detail-header {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.message-panel-heading {
  margin-bottom: 8px;
}

.message-panel-heading h2,
.message-detail-header h2,
.message-panel-heading h3 {
  color: #101F46;
  font-size: 24px;
  font-weight: 900;
  margin: 4px 0 0;
}

.message-panel-heading > span {
  background: #eef8f0;
  color: #0e7a0b;
  font-weight: 900;
  padding: 8px 12px;
}

.message-thread-card {
  border: 1px solid #dfe5df;
  color: #101F46;
  display: grid;
  gap: 7px;
  padding: 14px;
}

.message-thread-card:hover,
.message-thread-card.is-active {
  border-color: #0e7a0b;
  box-shadow: inset 4px 0 0 #0e7a0b;
}

.message-thread-top {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.message-thread-top strong,
.message-context-grid strong {
  color: #101F46;
  font-weight: 900;
}

.message-thread-top small,
.message-thread-property,
.message-thread-snippet,
.message-detail-header span,
.message-context-grid span,
.message-context-grid small,
.message-bubble span {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.message-thread-snippet {
  line-height: 1.5;
}

.message-detail-panel {
  display: grid;
  gap: 20px;
}

.message-context-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.message-context-grid div {
  background: #f8fafc;
  border: 1px solid #dfe5df;
  display: grid;
  gap: 5px;
  padding: 14px;
}

.message-bubble {
  background: #f7fbf7;
  border-left: 4px solid #0e7a0b;
  color: #101F46;
  display: grid;
  gap: 10px;
  padding: 20px;
}

.message-bubble p {
  font-size: 17px;
  line-height: 1.7;
  margin: 0;
}

.message-reply-panel {
  border-top: 1px solid #dfe5df;
  display: grid;
  gap: 14px;
  padding-top: 18px;
}

.message-actions,
.message-status-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.message-status-actions {
  border-top: 1px solid #dfe5df;
  padding-top: 18px;
}

.message-empty-state {
  padding: 28px;
}

.message-empty-state h2 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin: 0 0 8px;
}

.message-empty-state p {
  color: #667085;
  margin: 0;
}

.review-filter-bar {
  align-items: end;
  background: #ffffff;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  display: grid;
  gap: 14px;
  grid-template-columns: 1fr 0.8fr 0.8fr auto;
  margin-bottom: 28px;
  padding: 18px;
}

.review-layout {
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(280px, 0.8fr) minmax(0, 1.6fr);
}

.review-summary-panel,
.review-card {
  padding: 24px;
}

.review-panel-heading {
  margin-bottom: 18px;
}

.review-panel-heading h2,
.review-panel-heading h3 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin: 4px 0 0;
}

.review-rating-bars {
  display: grid;
  gap: 12px;
}

.review-rating-bars div {
  align-items: center;
  display: grid;
  gap: 10px;
  grid-template-columns: 64px 1fr 28px;
}

.review-rating-bars span,
.review-rating-bars strong,
.review-muted,
.review-request-card span,
.review-card-header p,
.review-host-reply small {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.review-rating-bars i {
  background: #f2f4f7;
  display: block;
  height: 10px;
  overflow: hidden;
}

.review-rating-bars em {
  background: #f5a623;
  display: block;
  height: 100%;
}

.review-request-panel {
  border-top: 1px solid #dfe5df;
  display: grid;
  gap: 12px;
  margin-top: 24px;
  padding-top: 20px;
}

.review-request-card {
  border: 1px solid #dfe5df;
  display: grid;
  gap: 8px;
  padding: 14px;
}

.review-request-card strong,
.review-card-header h3,
.review-host-reply strong,
.review-empty-state h2 {
  color: #101F46;
  font-weight: 900;
}

.review-list {
  display: grid;
  gap: 18px;
}

.review-card {
  display: grid;
  gap: 18px;
}

.review-card-header {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.review-stars {
  color: #f5a623;
  display: block;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 1px;
  margin-bottom: 6px;
}

.review-card-header h3 {
  font-size: 24px;
  margin: 0 0 6px;
}

.review-card-header p,
.review-body,
.review-host-reply p {
  margin: 0;
}

.review-body {
  color: #101F46;
  font-size: 17px;
  line-height: 1.7;
}

.review-host-reply {
  background: #f7fbf7;
  border-left: 4px solid #0e7a0b;
  display: grid;
  gap: 8px;
  padding: 16px;
}

.review-reply-form {
  border-top: 1px solid #dfe5df;
  display: grid;
  gap: 14px;
  padding-top: 18px;
}

.review-actions {
  align-items: end;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: space-between;
}

.review-public-page {
  padding-bottom: 70px;
  padding-top: 70px;
}

.review-public-card {
  background: #ffffff;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  margin: 0 auto;
  max-width: 760px;
  padding: 34px;
}

.review-public-card h1 {
  color: #101F46;
  font-size: 40px;
  font-weight: 900;
  margin: 4px 0 12px;
}

.review-public-form {
  display: grid;
  gap: 16px;
  margin-top: 24px;
}

.review-empty-state {
  padding: 28px;
}

.review-empty-state p {
  color: #667085;
  margin: 8px 0 0;
}

.host-dashboard-section {
  margin-top: 34px;
}

.overview-notification-list {
  display: grid;
  gap: 10px;
}

.overview-notification-list a {
  background: #f7fbf7;
  border-left: 4px solid #0e7a0b;
  color: inherit;
  display: grid;
  gap: 4px;
  padding: 12px;
  text-decoration: none;
}

.overview-notification-list strong {
  color: #101F46;
  font-weight: 900;
}

.overview-notification-list span,
.overview-notification-list small {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.owner-notification-page {
  display: grid;
  gap: 20px;
}

.owner-notification-head {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}

.owner-notification-stats {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: min(760px, 100%);
}

.owner-notification-stats a {
  background: #ffffff;
  border: 1px solid #e6edf0;
  color: inherit;
  display: grid;
  gap: 4px;
  padding: 14px;
  text-decoration: none;
}

.owner-notification-stats a.active {
  border-left: 4px solid #0e7a0b;
}

.owner-notification-stats strong {
  color: #101F46;
  font-size: 24px;
  font-weight: 900;
}

.owner-notification-stats span {
  color: #667085;
  font-weight: 900;
}

.owner-notification-list {
  display: grid;
  gap: 16px;
}

.owner-notification-card {
  align-items: start;
  background: #ffffff;
  border: 1px solid #e6edf0;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  display: grid;
  gap: 18px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 22px;
}

.owner-notification-card.status-unread {
  border-left: 4px solid #0e7a0b;
}

.owner-notification-card h2 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin: 12px 0 8px;
}

.owner-notification-card p {
  color: #344054;
  font-weight: 700;
  line-height: 1.6;
  margin: 0 0 12px;
}

.owner-notification-card small {
  color: #667085;
  font-weight: 800;
}

.owner-notification-priority {
  background: #f6f9fb;
  color: #101F46;
  display: inline-block;
  font-size: 12px;
  font-weight: 900;
  margin-left: 6px;
  padding: 7px 10px;
  text-transform: uppercase;
}

.owner-notification-priority.priority-high,
.owner-notification-priority.priority-urgent {
  background: #fff1f1;
  color: #b42318;
}

.owner-notification-actions {
  align-items: flex-end;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
  min-width: 220px;
}

.section-heading {
  align-items: flex-end;
  display: flex;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 16px;
}

.section-heading .eyebrow {
  color: #0e7a0b;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 4px;
}

.section-heading h2 {
  font-size: 28px;
  font-weight: 900;
  margin: 0;
}

.property-overview-grid,
.management-grid,
.analytics-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: 1fr;
}

.property-overview-card {
  align-items: stretch;
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  overflow: hidden;
  padding: 0;
}

.property-overview-image {
  min-height: 250px;
  position: relative;
}

.property-overview-image img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.property-overview-image .owner-listing-status {
  left: 16px;
  position: absolute;
  top: 16px;
}

.property-overview-content {
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 24px;
}

.property-overview-title-row {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.property-overview-title-row > small {
  color: #667085;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.property-overview-card h3,
.management-card h3,
.analytics-card h3 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin: 10px 0 6px;
}

.property-overview-card p,
.management-card p {
  color: #667085;
}

.property-metric-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(120px, 1fr));
}

.property-metric-grid span {
  background: #ffffff;
  border: 1px solid #e6edf0;
  color: #667085;
  display: block;
  padding: 15px 16px;
}

.property-metric-grid strong {
  color: #101F46;
  display: block;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  margin-bottom: 6px;
}

.property-metric-grid small {
  color: #667085;
  display: block;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  overflow-wrap: normal;
  white-space: nowrap;
  word-break: normal;
}

.property-overview-footer {
  align-items: center;
  border-top: 1px solid #e6edf0;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-top: auto;
  padding-top: 18px;
}

.property-overview-footer > span {
  color: #667085;
  font-weight: 800;
}

.property-management-page {
  display: grid;
  gap: 24px;
}

.property-management-stats {
  margin-bottom: 0;
}

.property-management-toolbar {
  align-items: flex-end;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.property-management-toolbar h2 {
  color: #101F46;
  font-size: 30px;
  font-weight: 900;
  margin: 4px 0 0;
}

.property-toolbar-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.property-management-list {
  display: grid;
  gap: 18px;
}

.property-management-card {
  background: #ffffff;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  overflow: hidden;
}

.property-management-media {
  background: #edf3f7;
  min-height: 310px;
  position: relative;
}

.property-management-media img {
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}

.property-management-media .owner-listing-status {
  left: 18px;
  position: absolute;
  top: 18px;
}

.property-management-body {
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) 260px;
  padding: 24px;
}

.property-management-main {
  display: grid;
  gap: 18px;
}

.property-management-heading {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.property-management-heading h3 {
  color: #101F46;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.15;
  margin: 6px 0 8px;
}

.property-management-heading p {
  color: #667085;
  margin: 0;
}

.property-management-heading > small {
  color: #667085;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
}

.property-management-metrics {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.property-management-metrics span {
  background: #f8fafc;
  border: 1px solid #dfe5df;
  padding: 14px;
}

.property-management-metrics strong {
  color: #101F46;
  display: block;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}

.property-management-metrics small {
  color: #667085;
  display: block;
  font-size: 12px;
  font-weight: 800;
  margin-top: 6px;
}

.property-management-progress {
  background: #f7fbf7;
  border: 1px solid #dfe5df;
  display: grid;
  gap: 12px;
  padding: 16px;
}

.property-management-progress strong,
.property-management-progress span {
  display: block;
}

.property-management-progress strong {
  color: #101F46;
  font-size: 18px;
  font-weight: 900;
}

.property-management-progress span {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
  margin-top: 4px;
}

.property-progress-track {
  background: #dfe5df;
  height: 10px;
  overflow: hidden;
}

.property-progress-track span {
  background: #0e7a0b;
  display: block;
  height: 100%;
}

.property-management-side {
  border-left: 1px solid #e6edf0;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding-left: 22px;
}

.property-checklist {
  display: grid;
  gap: 8px;
}

.property-checklist span {
  border: 1px solid #dfe5df;
  color: #667085;
  font-size: 12px;
  font-weight: 900;
  padding: 10px 12px;
}

.property-checklist span.complete {
  background: #eef8f0;
  border-color: #cdeccd;
  color: #0e7a0b;
}

.property-checklist span.missing {
  background: #fff7e8;
  border-color: #ffe0ab;
  color: #a45100;
}

.property-management-actions {
  align-items: stretch;
  flex-direction: column;
  margin-top: auto;
  padding-top: 0;
}

.property-management-actions .btn,
.property-management-actions form,
.property-management-actions button {
  justify-content: center;
  width: 100%;
}

.property-management-empty {
  padding: 34px;
}

.property-management-empty h2 {
  color: #101F46;
  font-size: 28px;
  font-weight: 900;
  margin: 0 0 8px;
}

.property-management-empty p {
  color: #667085;
  max-width: 660px;
}

.host-table-card {
  overflow-x: auto;
}

.host-table {
  min-width: 980px;
  width: 100%;
}

.host-table th {
  background: #101F46;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  padding: 14px 16px;
  text-transform: uppercase;
}

.host-table td {
  border-bottom: 1px solid #e6edf0;
  color: #667085;
  padding: 16px;
}

.host-table td strong,
.host-table td span {
  display: block;
}

.host-table td strong {
  color: #101F46;
  font-weight: 900;
}

.table-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.table-actions form {
  margin: 0;
}

.host-action {
  background: #eef8f0;
  border: 0;
  color: #0e7a0b;
  display: inline-flex;
  font-size: 13px;
  font-weight: 900;
  justify-content: center;
  min-height: 38px;
  padding: 10px 12px;
}

.host-action:disabled {
  cursor: not-allowed;
  opacity: 0.55;
}

.host-action.is-disabled {
  cursor: default;
  opacity: 0.68;
  pointer-events: none;
}

.third-party-booking-note {
  background: #f4faf5;
  border-left: 4px solid #0e7a0b;
  color: #344054;
  display: grid;
  gap: 6px;
  margin-top: 18px;
  padding: 16px;
}

.third-party-booking-note strong {
  color: #101F46;
  font-size: 17px;
  font-weight: 900;
}

.nightsbridge-sync-card {
  border-left: 4px solid #101F46;
}

.nightsbridge-sync-card p {
  color: #667085;
  font-size: 14px;
  line-height: 1.55;
  margin: 8px 0 14px;
}

.calendar-sync-id {
  background: #eef8f0;
  color: #0e7a0b;
  display: block;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 12px;
  padding: 10px 12px;
}

.calendar-sync-id.warning {
  background: #fff7e6;
  color: #9a4d00;
}

.global-calendar-card {
  border-left: 4px solid #101F46;
}

.global-calendar-card p {
  color: #667085;
  font-size: 14px;
  line-height: 1.55;
  margin: 8px 0 0;
}

.calendar-property-chip {
  background: #eef3f5;
  color: #101F46;
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  margin: 8px 0 0;
  padding: 6px 8px;
}

.host-empty-row {
  text-align: center;
}

.analytics-card,
.management-card,
.host-panel,
.host-empty-card {
  padding: 22px;
}

.chart-placeholder {
  align-items: center;
  background: repeating-linear-gradient(90deg, #f7fbf7 0, #f7fbf7 18px, #eef8f0 18px, #eef8f0 34px);
  border: 1px solid #dfe5df;
  color: #667085;
  display: flex;
  font-weight: 800;
  justify-content: center;
  min-height: 150px;
  padding: 18px;
  text-align: center;
}

.analytics-filter-bar {
  align-items: end;
  background: #ffffff;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(220px, 1fr) minmax(180px, 240px) auto;
  margin-top: 24px;
  padding: 20px;
}

.analytics-stat-grid {
  margin: 24px 0 0;
}

.analytics-overview-grid,
.analytics-kpi-grid {
  display: grid;
  gap: 18px;
}

.analytics-overview-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.analytics-kpi-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.analytics-chart-panel,
.analytics-kpi-card,
.analytics-property-table {
  padding: 24px;
}

.analytics-panel-heading {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 18px;
}

.analytics-panel-heading h3,
.analytics-kpi-card h3 {
  color: #101F46;
  font-size: 24px;
  font-weight: 900;
  margin: 4px 0 0;
}

.analytics-panel-heading > strong {
  color: #0e7a0b;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
}

.analytics-combo-chart,
.analytics-revenue-chart {
  align-items: end;
  border-bottom: 1px solid #dfe5df;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  min-height: 260px;
  padding-top: 10px;
}

.analytics-combo-chart > div,
.analytics-revenue-chart > div {
  align-items: end;
  display: grid;
  gap: 5px;
  height: 240px;
  text-align: center;
}

.analytics-combo-chart > div {
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr auto;
}

.analytics-combo-chart span,
.analytics-revenue-chart span {
  align-self: end;
  display: block;
  min-height: 4px;
}

.analytics-combo-chart span.views {
  background: #101F46;
}

.analytics-combo-chart span.requests,
.analytics-revenue-chart span {
  background: #0e7a0b;
}

.analytics-combo-chart small {
  color: #667085;
  font-size: 11px;
  font-weight: 800;
  grid-column: 1 / -1;
}

.analytics-revenue-chart {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.analytics-revenue-chart > div {
  grid-template-rows: 1fr auto auto;
}

.analytics-revenue-chart small,
.analytics-revenue-chart strong {
  color: #667085;
  display: block;
  font-size: 11px;
  font-weight: 800;
}

.analytics-revenue-chart strong {
  color: #101F46;
}

.analytics-legend {
  display: flex;
  gap: 16px;
  margin-top: 14px;
}

.analytics-legend span {
  align-items: center;
  color: #667085;
  display: inline-flex;
  font-size: 13px;
  font-weight: 800;
  gap: 7px;
}

.analytics-legend i {
  display: inline-block;
  height: 10px;
  width: 18px;
}

.analytics-legend i.views {
  background: #101F46;
}

.analytics-legend i.requests {
  background: #0e7a0b;
}

.analytics-kpi-card {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.analytics-kpi-card p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

.analytics-ring {
  align-items: center;
  align-self: flex-start;
  background: conic-gradient(#0e7a0b var(--value), #e6edf0 0);
  display: flex;
  height: 112px;
  justify-content: center;
  position: relative;
  width: 112px;
}

.analytics-ring::after {
  background: #ffffff;
  content: "";
  height: 74px;
  position: absolute;
  width: 74px;
}

.analytics-ring span {
  color: #101F46;
  font-size: 24px;
  font-weight: 900;
  position: relative;
  z-index: 1;
}

.analytics-status-stack {
  background: #e6edf0;
  display: flex;
  height: 18px;
  overflow: hidden;
}

.analytics-status-stack span {
  display: block;
  min-height: 18px;
}

.analytics-kpi-card ul {
  color: #667085;
  display: grid;
  font-weight: 800;
  gap: 7px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.analytics-property-table {
  display: grid;
  gap: 0;
  overflow-x: auto;
}

.analytics-property-table article {
  align-items: center;
  border-bottom: 1px solid #e6edf0;
  display: grid;
  gap: 14px;
  grid-template-columns: minmax(220px, 1.4fr) repeat(4, minmax(90px, 0.7fr)) minmax(95px, 0.7fr);
  min-width: 980px;
  padding: 16px 0;
}

.analytics-property-table article:last-child {
  border-bottom: 0;
}

.analytics-property-table strong,
.analytics-property-table b {
  color: #101F46;
  font-weight: 900;
}

.analytics-property-table span {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.analytics-property-table article > div {
  display: grid;
  gap: 8px;
}

.analytics-property-table i {
  background: #e6edf0;
  display: block;
  grid-column: 1 / -1;
  height: 8px;
  overflow: hidden;
}

.analytics-property-table em {
  background: #0e7a0b;
  display: block;
  height: 100%;
}

.two-column-section {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.message-preview {
  border-bottom: 1px solid #e6edf0;
  display: grid;
  gap: 5px;
  padding: 12px 0;
}

.message-preview strong {
  color: #101F46;
  font-weight: 900;
}

.message-preview span {
  color: #667085;
}

.message-preview a {
  color: #0e7a0b;
  font-weight: 900;
}

.availability-calendar {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

.availability-calendar strong,
.availability-calendar span {
  align-items: center;
  background: #f7fbf7;
  color: #101F46;
  display: flex;
  font-weight: 900;
  justify-content: center;
  min-height: 42px;
}

.availability-calendar .blocked {
  background: #fff1f1;
  color: #b42318;
}

.calendar-listing-selector {
  background: #ffffff;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  margin-bottom: 24px;
  padding: 20px;
}

.calendar-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 420px;
}

.calendar-main-panel {
  overflow: hidden;
}

.calendar-header-row {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 18px;
}

.calendar-header-row h2 {
  color: #101F46;
  font-size: 28px;
  font-weight: 900;
  margin: 0;
  text-align: center;
}

.calendar-global-subtitle {
  color: #667085;
  display: block;
  font-size: 13px;
  font-weight: 900;
  margin-top: 4px;
  text-align: center;
}

.functional-calendar {
  gap: 6px;
}

.functional-calendar > strong {
  background: #101F46;
  color: #ffffff;
  min-height: 42px;
}

.functional-calendar > span,
.functional-calendar > .calendar-day-button {
  align-items: flex-start;
  background: #ffffff;
  border: 1px solid #dfe5df;
  color: inherit;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  font: inherit;
  gap: 6px;
  justify-content: flex-start;
  min-height: 92px;
  padding: 10px;
  text-align: left;
  width: 100%;
}

.functional-calendar > .calendar-day-button:hover {
  border-color: #101F46;
  box-shadow: 0 10px 24px rgba(16, 31, 70, 0.11);
}

.functional-calendar > span.empty {
  background: transparent;
  border: 0;
  display: block;
  min-height: 92px;
}

.functional-calendar > .calendar-day-button b {
  color: #101F46;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
}

.functional-calendar > .calendar-day-button small {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
}

.functional-calendar > .calendar-day-button em {
  background: rgba(16, 31, 70, 0.08);
  color: #101F46;
  font-size: 11px;
  font-style: normal;
  font-weight: 900;
  margin-top: auto;
  padding: 4px 6px;
}

.functional-calendar > .blocked {
  background: #fff1f1;
  border-color: #e5484d;
  box-shadow: inset 5px 0 0 #c40000;
}

.functional-calendar > .blocked b,
.functional-calendar > .blocked small {
  color: #9f1239;
}

.functional-calendar > .booked {
  background: #eef8f0;
  border-color: #0e7a0b;
  box-shadow: inset 5px 0 0 #0e7a0b;
}

.functional-calendar > .booked b,
.functional-calendar > .booked small {
  color: #0e7a0b;
}

.functional-calendar > .pending {
  background: #fff7e8;
  border-color: #f5a623;
  box-shadow: inset 5px 0 0 #f5a623;
}

.functional-calendar > .pending b,
.functional-calendar > .pending small {
  color: #a45100;
}

.functional-calendar > .priced {
  border-color: #6d8fd8;
  box-shadow: inset 0 -5px 0 #2f5fb3;
}

.functional-calendar > .priced small {
  color: #1d4f91;
}

.functional-calendar > .offer {
  border-color: #d59b2d;
  box-shadow: inset 0 -5px 0 #d59b2d;
}

.functional-calendar > .offer small {
  color: #8a4b00;
}

.calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 16px;
}

.calendar-legend span {
  background: #f7fbf7;
  color: #101F46;
  font-size: 13px;
  font-weight: 900;
  padding: 8px 10px;
}

.calendar-legend .blocked {
  background: #fff1f1;
  box-shadow: inset 4px 0 0 #c40000;
  color: #9f1239;
}

.calendar-legend .booked {
  background: #eef8f0;
  box-shadow: inset 4px 0 0 #0e7a0b;
  color: #0e7a0b;
}

.calendar-legend .pending {
  background: #fff7e8;
  box-shadow: inset 4px 0 0 #f5a623;
  color: #a45100;
}

.calendar-legend .priced {
  background: #edf1fb;
  box-shadow: inset 4px 0 0 #2f5fb3;
  color: #1d4f91;
}

.calendar-legend .offer {
  background: #fff8e6;
  box-shadow: inset 4px 0 0 #d59b2d;
  color: #8a4b00;
}

.calendar-tools-panel {
  display: grid;
  gap: 16px;
}

.calendar-tool-card {
  background: #ffffff;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  display: grid;
  gap: 10px;
  padding: 20px;
}

.calendar-tool-card h3,
.calendar-rule-list h3 {
  color: #101F46;
  font-size: 20px;
  font-weight: 900;
  margin: 0 0 4px;
}

.calendar-tool-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.calendar-rules-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.calendar-rule-list {
  display: grid;
  gap: 10px;
}

.calendar-rule-list > div {
  align-items: center;
  background: #f7fbf7;
  border: 1px solid #dfe5df;
  display: flex;
  gap: 12px;
  justify-content: space-between;
  padding: 12px;
}

.calendar-rule-list span {
  color: #101F46;
  font-weight: 800;
}

.calendar-rule-list form {
  margin: 0;
}

.calendar-rule-list p {
  color: #667085;
  margin: 0;
}

.calendar-modal-open {
  overflow: hidden;
}

.calendar-modal {
  display: none;
  inset: 0;
  position: fixed;
  z-index: 2000;
}

.calendar-modal.is-open {
  display: block;
}

.calendar-modal-backdrop {
  background: rgba(16, 31, 70, 0.62);
  inset: 0;
  position: absolute;
}

.calendar-modal-panel {
  background: #ffffff;
  box-shadow: 0 24px 70px rgba(16, 31, 70, 0.22);
  left: 50%;
  max-height: calc(100vh - 48px);
  max-width: 820px;
  overflow: auto;
  padding: 28px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 32px);
}

.calendar-modal-header {
  align-items: flex-start;
  border-bottom: 1px solid #dfe5df;
  display: flex;
  gap: 20px;
  justify-content: space-between;
  margin-bottom: 22px;
  padding-bottom: 16px;
}

.calendar-modal-header h3 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin: 4px 0 0;
}

.calendar-modal-close {
  align-items: center;
  background: #f7fbf7;
  border: 0;
  color: #101F46;
  cursor: pointer;
  display: inline-flex;
  font-size: 28px;
  font-weight: 900;
  height: 42px;
  justify-content: center;
  line-height: 1;
  width: 42px;
}

.calendar-modal-section {
  display: grid;
  gap: 14px;
  margin-top: 18px;
}

.calendar-modal-section h4 {
  color: #101F46;
  font-size: 18px;
  font-weight: 900;
  margin: 0;
}

.calendar-booking-editor {
  background: #f8fafc;
  border: 1px solid #dfe5df;
  display: grid;
  gap: 14px;
  padding: 18px;
}

.calendar-booking-summary,
.calendar-booking-contact,
.calendar-modal-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: space-between;
}

.calendar-booking-summary strong {
  color: #101F46;
  font-size: 20px;
  font-weight: 900;
}

.calendar-booking-summary span,
.calendar-day-rules span {
  background: #eef8f0;
  color: #0e7a0b;
  font-size: 13px;
  font-weight: 900;
  padding: 7px 10px;
}

.calendar-booking-contact {
  color: #667085;
  justify-content: flex-start;
}

.calendar-booking-message {
  background: #ffffff;
  border-left: 4px solid #0e7a0b;
  color: #101F46;
  margin: 0;
  padding: 12px 14px;
}

.calendar-edit-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.calendar-day-rules {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.calendar-empty-detail {
  background: #f7fbf7;
  color: #667085;
  display: grid;
  gap: 6px;
  padding: 16px;
}

.calendar-empty-detail strong {
  color: #101F46;
}

.calendar-quick-block {
  align-items: end;
  border-top: 1px solid #dfe5df;
  display: grid;
  gap: 12px;
  grid-template-columns: 1fr auto;
  margin-top: 22px;
  padding-top: 18px;
}

.calendar-actions,
.operation-list,
.team-role-grid {
  display: grid;
  gap: 10px;
  margin-top: 16px;
}

.operation-list span,
.team-role-grid div,
.approval-row {
  background: #f7fbf7;
  border: 1px solid #dfe5df;
  color: #101F46;
  padding: 13px 14px;
}

.team-role-grid strong,
.team-role-grid span,
.approval-row strong,
.approval-row small {
  display: block;
}

.team-role-grid span,
.approval-row small {
  color: #667085;
  margin-top: 4px;
}

.approval-row {
  display: grid;
  gap: 8px;
  margin-bottom: 10px;
}

.admin-notification-panel {
  background: #ffffff;
  margin-top: 26px;
  padding: 22px;
}

.admin-notification-list {
  display: grid;
  gap: 10px;
}

.admin-notification-list div {
  background: #f7fbf7;
  border-left: 4px solid #0e7a0b;
  padding: 14px 16px;
}

.admin-notification-list strong,
.admin-notification-list span,
.admin-notification-list small {
  display: block;
}

.admin-notification-list strong {
  color: #101F46;
  font-weight: 900;
}

.admin-notification-list span,
.admin-notification-list small {
  color: #667085;
}

.dashboard-empty-state {
  max-width: 720px;
}

.dashboard-empty-state h2 {
  font-size: 24px;
  font-weight: 900;
  margin-bottom: 8px;
}

.dashboard-empty-state p {
  color: #667085;
  margin-bottom: 18px;
}

.package-upgrade-page {
  max-width: 1120px;
}

.package-current-card {
  background: #ffffff;
  border-left: 4px solid #0e7a0b;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  margin-bottom: 24px;
  padding: 20px 22px;
}

.package-current-card span {
  color: #667085;
  display: block;
  font-size: 13px;
  font-weight: 800;
  margin-bottom: 4px;
}

.package-current-card strong {
  color: #101F46;
  display: block;
  font-size: 28px;
  font-weight: 900;
  line-height: 1.1;
}

.package-current-card p {
  color: #667085;
  margin: 8px 0 0;
}

.package-upgrade-form {
  background: #ffffff;
  padding: 26px;
}

.payment-gate-page {
  max-width: 1280px;
}

.payment-gate-shell {
  align-items: start;
  display: grid;
  gap: 28px;
  grid-template-columns: minmax(0, 1fr) 390px;
}

.payment-gate-main,
.payment-payfast-card,
.payment-package-card,
.payment-promo-form {
  background: #ffffff;
  border: 1px solid #e3e9ed;
  box-shadow: 0 16px 44px rgba(16, 31, 70, 0.08);
}

.payment-gate-main {
  display: grid;
  gap: 22px;
  padding: 34px;
}

.payment-gate-main h1,
.payment-payfast-card h2,
.payment-promo-form h2 {
  color: #101F46;
  font-weight: 900;
  line-height: 1.08;
  margin: 0;
}

.payment-gate-main h1 {
  font-size: 42px;
}

.payment-gate-main p,
.payment-payfast-card p,
.payment-promo-form p,
.payment-package-card p {
  color: #667085;
  line-height: 1.6;
  margin: 0;
}

.payment-package-card {
  border-left: 4px solid #0e7a0b;
  padding: 22px;
}

.payment-package-card span {
  color: #667085;
  display: block;
  font-size: 13px;
  font-weight: 900;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.payment-package-card strong {
  color: #101F46;
  display: block;
  font-size: 30px;
  font-weight: 900;
}

.payment-promo-form {
  display: grid;
  gap: 16px;
  padding: 24px;
}

.payment-payfast-card {
  display: grid;
  gap: 18px;
  padding: 28px;
  position: sticky;
  top: 24px;
}

.payment-payfast-card form {
  display: grid;
  gap: 12px;
}

.payment-promo-confirmation {
  background: #f1fbf3;
}

.upgrade-package-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.upgrade-package-card {
  border: 1px solid #dfe5df;
  cursor: pointer;
  display: block;
  min-height: 220px;
  padding: 20px;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.upgrade-package-card:has(input:checked) {
  border-color: #0e7a0b;
  box-shadow: inset 4px 0 0 #0e7a0b;
}

.upgrade-package-card input {
  margin-bottom: 14px;
}

.upgrade-package-card span {
  display: block;
}

.package-name {
  color: #101F46;
  font-size: 24px;
  font-weight: 900;
  margin-bottom: 6px;
}

.package-price {
  color: #0e7a0b;
  font-size: 20px;
  font-weight: 900;
  margin-bottom: 10px;
}

.package-limit {
  color: #101F46;
  font-weight: 800;
  margin-bottom: 10px;
}

.package-description {
  color: #667085;
}

.upgrade-actions {
  border-top: 1px solid #e6edf0;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  margin-top: 24px;
  padding-top: 20px;
}

.owner-listings-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.owner-listing-card {
  background: #ffffff;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.owner-listing-card img {
  background: #e6edf0;
  display: block;
  height: 220px;
  object-fit: cover;
  width: 100%;
}

.owner-listing-body {
  display: flex;
  flex: 1;
  flex-direction: column;
  padding: 20px;
}

.owner-listing-meta {
  align-items: center;
  color: #667085;
  display: flex;
  flex-wrap: wrap;
  font-size: 13px;
  font-weight: 700;
  gap: 10px;
  margin-bottom: 10px;
}

.owner-listing-status {
  display: inline-flex;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  padding: 8px 10px;
}

.status-approved {
  background: #eef8f0;
  color: #0e7a0b;
}

.status-pending_review,
.status-draft {
  background: #fff7e8;
  color: #a45100;
}

.status-rejected,
.status-suspended {
  background: #fff1f1;
  color: #b42318;
}

.owner-listing-body h2 {
  font-size: 22px;
  font-weight: 900;
  line-height: 1.25;
  margin: 0 0 8px;
}

.owner-listing-location {
  color: #667085;
  margin-bottom: 14px;
}

.listing-feedback {
  background: #fff1f1;
  color: #b42318;
  font-weight: 700;
  margin: 0 0 18px;
  padding: 12px;
}

.listing-feedback.neutral {
  background: #fff7e8;
  color: #a45100;
}

.listing-feedback.success {
  background: #eef8f0;
  color: #0e7a0b;
}

.owner-listing-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: auto;
  padding-top: 6px;
}

.owner-listing-actions form {
  margin: 0;
}

.danger-action {
  background: #fff1f1 !important;
  color: #b42318 !important;
}

.danger-action:hover {
  background: #b42318 !important;
  color: #ffffff !important;
}

.wizard-steps {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 20px;
  overflow-x: auto;
}

.wizard-step-dot {
  align-items: center;
  background: #ffffff;
  border: 1px solid #dfe5df;
  color: #101F46;
  display: flex;
  gap: 9px;
  min-width: 140px;
  padding: 12px 14px;
}

.wizard-step-dot strong {
  align-items: center;
  background: #f1f4f7;
  color: #101F46;
  display: inline-flex;
  flex: 0 0 28px;
  font-weight: 900;
  height: 28px;
  justify-content: center;
}

.wizard-step-dot span {
  font-size: 13px;
  font-weight: 900;
}

.wizard-step-dot.active {
  border-color: #0e7a0b;
  box-shadow: inset 4px 0 0 #0e7a0b;
}

.wizard-step-dot.active strong {
  background: #0e7a0b;
  color: #ffffff;
}

.imported-rates-confirmation {
  background: #fff7e8;
  border-color: #f5a623;
  margin-bottom: 14px;
}

.listing-wizard-form {
  background: #ffffff;
  padding: 30px;
}

.wizard-panel {
  display: none;
}

.wizard-panel.active {
  display: block;
}

.wizard-panel h2 {
  border-bottom: 1px solid #e6edf0;
  font-size: 24px;
  font-weight: 900;
  margin: 0 0 24px;
  padding-bottom: 16px;
}

.wizard-grid,
.amenity-grid,
.pricing-preview-grid {
  display: grid;
  gap: 16px;
  margin-bottom: 22px;
}

.wizard-grid.two-col {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.wizard-grid.three-col,
.pricing-preview-grid,
.amenity-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.amenity-category-list {
  display: grid;
  gap: 22px;
  margin-bottom: 24px;
}

.amenity-category-group {
  background: #f7fbf7;
  border: 1px solid #dfe5df;
  padding: 20px;
}

.amenity-category-group h3 {
  color: #101F46;
  font-size: 18px;
  font-weight: 900;
  margin: 0 0 16px;
}

.amenity-category-group .amenity-grid {
  margin-bottom: 0;
}

.amenity-category-group .wizard-check-card {
  align-items: flex-start;
  line-height: 1.4;
}

.amenity-category-group .wizard-check-card input {
  margin-top: 3px;
}

.amenity-category-legacy {
  background: #fff9ed;
  border-color: #f0dcae;
}

.amenity-category-legacy > p {
  color: #667085;
  margin: -8px 0 16px;
}

.wizard-grid.four-col {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.wizard-grid .full-span,
.wizard-grid.three-col .full-span {
  grid-column: 1 / -1;
}

.generated-fields:empty {
  display: none;
}

.generated-fields > label,
.generated-fields > div {
  border: 1px solid #dfe5df;
  background: #f7fbf7;
  padding: 16px;
}

.generated-fields p {
  color: #101F46;
  margin-bottom: 10px;
}

.generated-fields label {
  color: #101F46;
  margin-right: 12px;
}

.address-geocode-panel {
  align-items: center;
  background: #f7fbf7;
  border: 1px solid #dfe5df;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 18px;
  padding: 18px 20px;
}

.address-geocode-panel strong {
  color: #101F46;
  display: block;
  font-size: 17px;
  font-weight: 900;
  margin-bottom: 4px;
}

.address-geocode-panel p {
  color: #667085;
  margin: 0;
}

.address-geocode-panel p[data-state="success"] {
  color: #0e7a0b;
  font-weight: 800;
}

.address-geocode-panel p[data-state="error"] {
  color: #b42318;
  font-weight: 800;
}

.address-map-preview {
  aspect-ratio: 16 / 7;
  background: #e6edf0;
  border: 1px solid #dfe5df;
  overflow: hidden;
  position: relative;
}

.address-map-preview [data-address-map] {
  display: block;
  height: 100%;
  width: 100%;
}

.address-map-preview .leaflet-container {
  font-family: inherit;
}

.address-map-help {
  background: rgba(255, 255, 255, 0.94);
  bottom: 12px;
  color: #101F46;
  font-size: 13px;
  font-weight: 900;
  left: 12px;
  max-width: calc(100% - 24px);
  padding: 8px 10px;
  position: absolute;
  z-index: 500;
}

.wizard-note,
.terms-box {
  background: #f7fbf7;
  border: 1px dashed #dfe5df;
  color: #667085;
  padding: 18px 20px;
}

.wizard-check-card {
  align-items: center;
  background: #ffffff;
  border: 1px solid #dfe5df;
  color: #101F46;
  display: flex;
  gap: 8px;
  min-height: 52px;
  padding: 14px 16px;
}

.wizard-check-card input {
  flex: 0 0 auto;
}

.full-width-check {
  margin-bottom: 18px;
}

.calendar-block {
  color: #101F46;
}

.image-preview-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(128px, 1fr));
  margin: 12px 0 22px;
}

.image-preview-grid img,
.listing-wizard-form [data-image-preview] img {
  background: #eef3f5;
  border: 1px solid #dce5e9;
  display: block;
  height: 150px;
  object-fit: contain;
  padding: 6px;
  width: 100%;
}

.photo-upload-guidance {
  background: #f3faf4;
  border-left: 4px solid #0e7a0b;
  display: grid;
  gap: 6px;
  margin-bottom: 20px;
  padding: 16px 18px;
}

.main-photo-upload-card,
.general-photo-upload-card {
  background: #ffffff;
  border: 1px solid #dfe5df;
  display: grid;
  gap: 16px;
  margin-bottom: 20px;
  padding: 22px;
}

.main-photo-upload-card > div:first-child,
.photo-upload-heading {
  align-items: flex-start;
  display: flex;
  gap: 14px;
}

.main-photo-upload-card h3,
.general-photo-upload-card h3,
.room-photo-heading h3 {
  color: #101F46;
  font-size: 19px;
  font-weight: 900;
  margin: 0 0 4px;
}

.main-photo-upload-card p,
.general-photo-upload-card p,
.room-photo-heading p {
  color: #667085;
  line-height: 1.5;
  margin: 0;
}

.photo-step-number {
  align-items: center;
  background: #101F46;
  color: #ffffff;
  display: inline-flex;
  flex: 0 0 34px;
  font-size: 15px;
  font-weight: 900;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.existing-main-photo,
.main-image-preview img {
  background: #eef3f5;
  border: 1px solid #dce5e9;
  height: 240px;
  object-fit: contain;
  padding: 6px;
  width: min(100%, 420px);
}

.saved-photo-preview-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
}

.saved-main-photo-grid {
  grid-template-columns: minmax(0, 420px);
}

.saved-photo-preview {
  background: #f6f9fb;
  border: 1px solid #dfe5df;
  display: grid;
  gap: 8px;
  margin: 0;
  padding: 8px;
  position: relative;
}

.saved-photo-preview.is-marked-for-removal {
  opacity: 0.45;
}

.saved-photo-preview.is-marked-for-removal::after {
  align-items: center;
  background: rgba(16, 31, 70, 0.72);
  color: #ffffff;
  content: "Will be removed";
  display: flex;
  font-size: 12px;
  font-weight: 900;
  inset: 8px;
  justify-content: center;
  position: absolute;
  text-transform: uppercase;
  z-index: 2;
}

.remove-saved-image-control,
.admin-remove-image-form {
  position: absolute;
  right: 8px;
  top: 8px;
  z-index: 4;
}

.remove-saved-image-control input {
  position: absolute;
  opacity: 0;
}

.remove-saved-image-control span,
.admin-remove-image-form button {
  align-items: center;
  background: #b42318;
  border: 0;
  color: #ffffff;
  cursor: pointer;
  display: inline-flex;
  font-size: 20px;
  font-weight: 900;
  height: 28px;
  justify-content: center;
  line-height: 1;
  width: 28px;
}

.remove-saved-image-control input:checked + span {
  background: #101F46;
}

.sortable-photo-grid .saved-photo-preview,
.new-photo-preview {
  cursor: grab;
}

.sortable-photo-grid .saved-photo-preview:active,
.new-photo-preview:active {
  cursor: grabbing;
}

.saved-photo-preview.is-dragging {
  opacity: 0.45;
  outline: 3px solid rgba(14, 122, 11, 0.25);
}

.saved-photo-preview img {
  background: #eef3f5;
  display: block;
  height: 150px;
  object-fit: contain;
  width: 100%;
}

.saved-main-photo-grid .saved-photo-preview img {
  height: 240px;
}

.saved-photo-preview figcaption {
  color: #667085;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.3;
  margin: 0;
}

.photo-order-note {
  color: #667085;
  display: block;
  font-size: 13px;
  font-weight: 800;
  margin-top: -4px;
}

.saved-room-photo-section {
  background: #ffffff;
  border: 1px solid #dfe5df;
  display: grid;
  gap: 18px;
  margin: 0 0 26px;
  padding: 22px;
}

.saved-room-photo-section h3,
.saved-room-photo-group h4 {
  color: #101F46;
  font-weight: 900;
  margin: 0;
}

.saved-room-photo-group {
  display: grid;
  gap: 12px;
}

.main-image-preview {
  grid-template-columns: minmax(0, 420px);
  margin: 0;
}

.room-photo-heading {
  border-bottom: 1px solid #dfe5df;
  margin: 30px 0 18px;
  padding-bottom: 16px;
}

.photo-upload-guidance strong {
  color: #101F46;
  font-size: 17px;
  font-weight: 900;
}

.photo-upload-guidance span,
.room-photo-upload-group > p,
.room-photo-upload-card small {
  color: #667085;
  line-height: 1.5;
}

.room-photo-upload-list {
  display: grid;
  gap: 20px;
  margin: 26px 0;
}

.listing-contact-route-panel {
  background: #f8fafb;
  border: 1px solid #dfe5df;
  margin: 30px 0 22px;
  padding: 24px;
}

.listing-contact-route-heading h3 {
  color: #101F46;
  font-size: 21px;
  font-weight: 900;
  margin: 0 0 5px;
}

.listing-contact-route-heading p {
  color: #667085;
  margin: 0 0 18px;
}

.contact-route-options,
.contact-person-preview-grid,
.contact-method-grid {
  display: grid;
  gap: 12px;
}

.contact-route-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.contact-route-options .choice-card {
  cursor: pointer;
  min-height: 118px;
  padding: 16px;
}

.contact-route-options .choice-card.is-selected {
  background: #eff9f0;
  border-color: #07830b;
  box-shadow: inset 4px 0 0 #07830b;
}

.contact-route-options .choice-card span {
  display: grid;
  gap: 6px;
  margin-top: 10px;
}

.contact-route-options .choice-card strong,
.contact-person-preview strong {
  color: #101F46;
  font-weight: 900;
}

.contact-route-options .choice-card small,
.contact-person-preview small {
  color: #667085;
  line-height: 1.45;
}

.contact-person-preview-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 16px;
}

.contact-person-preview {
  background: #ffffff;
  border: 1px solid #dfe5df;
  display: grid;
  gap: 5px;
  padding: 16px;
}

.contact-person-preview > span {
  color: #07830b;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.direct-contact-methods {
  border-top: 1px solid #dfe5df;
  margin-top: 18px;
  padding-top: 18px;
}

.direct-contact-methods[hidden],
.contact-person-preview[hidden] {
  display: none;
}

.contact-method-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 10px;
}

.contact-method-grid .wizard-check-card {
  background: #ffffff;
  margin: 0;
}

.listing-direct-contact-heading {
  background: #f3f8f3;
  border-left: 3px solid #07830b;
  display: grid;
  gap: 3px;
  padding: 14px 16px;
}

.listing-direct-contact-heading span {
  color: #667085;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.listing-direct-contact-heading strong {
  color: #101F46;
  font-size: 17px;
}

.room-rate-manager {
  background: #f8fafb;
  border: 1px solid #dfe5df;
  margin-top: 28px;
  padding: 22px;
}

.room-rate-manager-heading {
  align-items: flex-start;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.room-rate-manager-heading h3 {
  color: #101F46;
  font-size: 20px;
  font-weight: 900;
  margin: 0 0 5px;
}

.room-rate-manager-heading p {
  color: #667085;
  line-height: 1.5;
  margin: 0;
}

.room-rate-toggle {
  background: #ffffff;
  flex: 0 0 auto;
  margin: 0;
}

.pricing-mode-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.pricing-mode-options .choice-card span {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pricing-mode-options .choice-card {
  border: 1px solid #d6ded8;
  min-height: 84px;
}

.pricing-mode-options .choice-card.is-selected {
  border-color: #07830b;
}

.pricing-mode-options .choice-card strong {
  color: #101F46;
  font-size: 15px;
  font-weight: 900;
}

.pricing-mode-options .choice-card small {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.compact-choice-options .choice-card span {
  align-items: flex-start;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.compact-choice-options .choice-card strong {
  color: #101F46;
  font-size: 15px;
  font-weight: 900;
}

.compact-choice-options .choice-card small {
  color: #667085;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

.typed-rate-field {
  display: grid;
  gap: 8px;
}

.typed-rate-field-wide {
  grid-column: span 1;
}

.typed-rate-field .compact-choice-options {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border: 1px solid #d6ded8;
  background: #ffffff;
}

.typed-rate-field .choice-card {
  align-items: center;
  border: 0;
  border-right: 1px solid #d6ded8;
  gap: 7px;
  min-height: 42px;
  padding: 10px 11px;
}

.typed-rate-field .choice-card:last-child {
  border-right: 0;
}

.typed-rate-field .choice-card input {
  margin: 0;
}

.typed-rate-field .choice-card span {
  gap: 1px;
  min-width: 0;
}

.typed-rate-field .choice-card strong {
  font-size: 13px;
  line-height: 1.15;
}

.typed-rate-field .choice-card small {
  display: none;
}

.typed-rate-field .choice-card:has(input:checked) {
  background: #eaf7ed;
}

.typed-rate-field .form-help {
  min-height: 16px;
}

[data-simple-extra-pricing-section] {
  display: grid;
  gap: 18px;
}

.extra-pricing-top-row,
.extra-pricing-child-row {
  display: grid;
  gap: 18px;
}

.extra-pricing-top-row {
  grid-template-columns: minmax(220px, 260px) minmax(260px, 1fr);
  max-width: 700px;
}

.extra-pricing-child-row {
  grid-template-columns: repeat(2, minmax(280px, 1fr));
}

.extra-pricing-top-row > .wizard-check-card {
  min-height: 58px;
}

.room-rate-mode-badge {
  background: #eaf7ed;
  color: #07830b;
  flex: 0 0 auto;
  font-size: 12px;
  font-weight: 900;
  padding: 10px 12px;
  text-transform: uppercase;
}

.is-hidden {
  display: none !important;
}

.room-rate-fields {
  display: grid;
  gap: 16px;
  margin: 20px 0;
}

.room-rate-manager:not(.is-enabled) .room-rate-fields,
.room-rate-manager:not(.is-enabled) [data-add-room-rate] {
  display: none;
}

.room-rate-row {
  background: #ffffff;
  border: 1px solid #dce5e1;
  padding: 18px;
}

.room-rate-main-grid {
  margin-bottom: 14px;
}

.room-rate-price-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 14px;
}

.room-rate-notes-field {
  display: block;
}

.room-rate-row-heading {
  align-items: center;
  border-bottom: 1px solid #edf1f2;
  display: flex;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 12px;
}

.room-rate-row-heading strong {
  color: #101F46;
  font-weight: 900;
}

.room-rate-remove {
  color: #b42318;
}

.public-room-rate-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.pricing-extra-information-field small {
  color: #667085;
  display: block;
  line-height: 1.45;
  margin-top: 7px;
}

.pricing-information-block {
  background: #f3f8f3;
  border-left: 4px solid #07830b;
  margin-top: 18px;
  padding: 18px 20px;
}

.pricing-information-block strong {
  color: #101F46;
  display: block;
  font-size: 17px;
  font-weight: 900;
  margin-bottom: 7px;
}

.pricing-information-block p {
  color: #526079;
  line-height: 1.6;
  margin: 0;
}

.public-room-rate-card {
  background: #ffffff;
  border: 1px solid #dfe5df;
  display: grid;
  gap: 16px;
  padding: 20px;
}

.public-room-rate-card h3 {
  color: #101F46;
  font-size: 19px;
  font-weight: 900;
  margin: 0 0 5px;
}

.public-room-rate-card p {
  color: #667085;
  line-height: 1.5;
  margin: 0;
}

.public-room-rate-card dl {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
}

.public-room-rate-card dl div {
  background: #f5f8f5;
  padding: 10px;
}

.public-room-rate-card dl div.wide {
  grid-column: 1 / -1;
}

.public-room-rate-card dt {
  color: #667085;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
}

.public-room-rate-card dd {
  color: #101F46;
  font-weight: 800;
  margin: 3px 0 0;
}

.public-room-rate-table {
  border: 1px solid #e2e8e2;
  display: grid;
  grid-template-columns: 1fr auto;
}

.public-room-rate-table span,
.public-room-rate-table strong {
  border-bottom: 1px solid #e2e8e2;
  color: #101F46;
  padding: 9px 10px;
}

.public-room-rate-table span:nth-last-child(2),
.public-room-rate-table strong:last-child {
  border-bottom: 0;
}

.public-room-rate-table span {
  background: #f8fbf8;
  color: #667085;
  font-size: 12px;
  font-weight: 800;
  text-transform: uppercase;
}

.public-room-rate-table strong {
  color: #07830b;
  font-size: 16px;
  font-weight: 900;
  text-align: right;
}

.public-room-rate-table small {
  color: #667085;
  font-size: 11px;
  font-weight: 800;
}

.room-rate-note {
  background: #fff8eb;
  border-left: 3px solid #ffaa2b;
  color: #526079;
  margin: 0;
  padding: 10px 12px;
}

@media (max-width: 760px) {
  .contact-route-options,
  .contact-person-preview-grid,
  .contact-method-grid,
  .pricing-mode-options,
  .extra-pricing-top-row,
  .extra-pricing-child-row {
    grid-template-columns: 1fr;
  }

  .room-rate-manager-heading {
    display: grid;
  }

  .public-room-rate-grid,
  .room-rate-price-grid {
    grid-template-columns: 1fr;
  }
}

.room-photo-upload-group {
  background: #f8fafb;
  border: 1px solid #dfe5df;
  padding: 22px;
}

.room-photo-upload-group h3 {
  color: #101F46;
  font-size: 19px;
  font-weight: 900;
  margin: 0 0 4px;
}

.room-photo-upload-group > p {
  margin: 0 0 16px;
}

.room-photo-upload-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.room-photo-upload-card {
  background: #ffffff;
  border: 1px solid #dce5e1;
  box-shadow: 0 8px 20px rgba(16, 31, 70, 0.05);
  min-width: 0;
  padding: 18px;
}

.room-photo-upload-card .form-label {
  color: #101F46;
  font-size: 15px;
  font-weight: 900;
}

.room-photo-upload-card input[type="file"],
.main-photo-upload-card input[type="file"],
.general-photo-upload-card input[type="file"] {
  background: #ffffff;
  margin-top: 10px;
  min-height: 50px;
  padding: 10px;
  width: 100%;
}

.room-photo-upload-card label,
.room-photo-upload-card small {
  display: block;
}

.room-photo-upload-card small {
  margin: 4px 0 10px;
}

.room-image-preview {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 0;
}

.room-image-preview img {
  height: 90px;
}

@media screen and (max-width: 767px) {
  .room-photo-upload-grid {
    grid-template-columns: 1fr;
  }

  .room-image-preview {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.listing-wizard-form [data-image-preview] img.is-landscape {
  object-fit: cover;
  padding: 0;
}

.terms-box {
  max-height: 290px;
  margin-bottom: 18px;
  overflow: auto;
  white-space: pre-line;
}

.submit-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.wizard-controls {
  align-items: center;
  border-top: 1px solid #e6edf0;
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
  padding-top: 22px;
}

@media screen and (max-width: 1199px) {
  .host-dashboard-page {
    grid-template-columns: 230px minmax(0, 1fr);
  }

  section[class*="admin-"][class*="-page"] {
    grid-template-columns: 240px minmax(0, 1fr);
  }

  .search-filter-grid,
  .listing-card-grid,
  .owner-listings-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .search-map-layout {
    grid-template-columns: 1fr;
  }

  .upgrade-package-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .nightsbridge-booking-modal {
    padding: 12px;
  }

  .nightsbridge-booking-panel {
    height: 94vh;
  }

  .nightsbridge-booking-footer {
    align-items: stretch;
    flex-direction: column;
  }

  .host-dashboard-hero,
  .overview-grid,
  .overview-bottom-grid,
  .earnings-layout,
  .earnings-details-grid,
  .analytics-filter-bar,
  .analytics-overview-grid,
  .analytics-kpi-grid,
  .message-inbox-layout,
  .review-layout,
  .calendar-layout,
  .calendar-rules-grid,
  .property-overview-grid,
  .management-grid,
  .property-management-card,
  .property-management-body,
  .analytics-grid,
  .two-column-section,
  .owner-notification-card {
    grid-template-columns: 1fr;
  }

  .host-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .overview-kpi-grid,
  .overview-health-grid,
  .earnings-balance-grid,
  .owner-notification-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .search-map-panel {
    position: static;
  }

  .dashboard-top {
    grid-template-columns: 1fr;
  }

  .message-filter-bar,
  .message-context-grid,
  .review-filter-bar {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .listing-detail-layout {
    grid-template-columns: 1fr;
  }

  .listing-booking-card {
    position: static;
  }

  .listing-detail-gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .listing-detail-gallery .featured-image {
    grid-column: span 2;
  }

  .wizard-steps {
    grid-template-columns: repeat(3, minmax(160px, 1fr));
  }

  .wizard-grid.three-col,
  .wizard-grid.four-col,
  .pricing-preview-grid,
  .amenity-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 767px) {
  .host-dashboard-page,
  section[class*="admin-"][class*="-page"] {
    display: block;
  }

  .host-dashboard-page > .dashboard-confirmation,
  .host-dashboard-page > .dashboard-alert,
  .host-dashboard-page > .host-dashboard-hero,
  .host-dashboard-page > :not(.dashboard-confirmation):not(.dashboard-alert):not(.host-dashboard-hero):not(.host-dashboard-tabs),
  section[class*="admin-"][class*="-page"] > .admin-section-nav,
  section[class*="admin-"][class*="-page"] > .admin-module-hero,
  section[class*="admin-"][class*="-page"] > :not(.admin-section-nav):not(.admin-module-hero) {
    grid-column: auto;
    grid-row: auto;
  }

  .host-dashboard-page > .host-dashboard-tabs,
  .admin-section-nav {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    max-height: none;
    overflow-x: auto;
    padding: 10px;
    position: static;
  }

  .host-dashboard-tabs .dashboard-sidebar-title,
  .admin-section-nav .dashboard-sidebar-title {
    display: none;
  }

  .host-dashboard-tabs a,
  .admin-section-nav a {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .app-container {
    padding: 0 16px;
  }

  .app-page-heading h1 {
    font-size: 32px;
  }

  .search-filter-grid,
  .listing-card-grid,
  .owner-listings-grid,
  .public-review-grid,
  .search-results-grid,
  .nearby-link-grid,
  .listing-price-grid,
  .listing-info-grid,
  .register-options,
  .register-grid,
  .package-grid,
  .upgrade-package-grid,
  .wizard-grid.two-col,
  .wizard-grid.three-col,
  .wizard-grid.four-col,
  .pricing-preview-grid,
  .amenity-grid {
    grid-template-columns: 1fr;
  }

  .search-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .upgrade-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .host-dashboard-hero {
    gap: 14px;
  }

  .earnings-toolbar,
  .earnings-month-form,
  .analytics-panel-heading,
  .message-actions,
  .message-status-actions,
  .review-actions,
  .owner-notification-head,
  .owner-notification-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .earnings-month-form .btn,
  .earnings-month-form .host-action,
  .analytics-filter-bar .btn,
  .message-actions .btn,
  .message-actions .host-action,
  .message-status-actions form,
  .message-status-actions button,
  .owner-notification-actions .btn,
  .owner-notification-actions .host-action,
  .owner-notification-actions form,
  .owner-notification-head .btn {
    justify-content: center;
    width: 100%;
  }

  .host-dashboard-hero h1 {
    font-size: 34px;
  }

  .host-dashboard-actions {
    justify-content: stretch;
  }

  .host-dashboard-actions .btn,
  .host-stat-grid,
  .overview-kpi-grid,
  .overview-health-grid,
  .property-metric-grid {
    width: 100%;
  }

  .host-stat-grid,
  .overview-kpi-grid,
  .overview-health-grid,
  .earnings-balance-grid,
  .message-filter-bar,
  .message-context-grid,
  .review-filter-bar,
  .calendar-tool-grid,
  .enquiry-date-grid,
  .analytics-filter-bar,
  .analytics-overview-grid,
  .analytics-kpi-grid,
  .property-metric-grid,
  .owner-notification-stats {
    grid-template-columns: 1fr;
  }

  .review-card-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .review-public-card {
    padding: 24px;
  }

  .review-public-card h1 {
    font-size: 32px;
  }

  .earnings-chart {
    gap: 8px;
    min-height: 210px;
  }

  .earnings-chart-bar {
    min-height: 190px;
  }

  .earnings-statement-list > div,
  .earnings-property-list > div {
    grid-template-columns: 1fr;
  }

  .analytics-combo-chart,
  .analytics-revenue-chart {
    gap: 6px;
    overflow-x: auto;
  }

  .analytics-combo-chart > div,
  .analytics-revenue-chart > div {
    min-width: 44px;
  }

  .overview-welcome-card {
    grid-template-columns: 1fr;
    padding: 22px;
  }

  .overview-package-pill,
  .overview-account-id-pill {
    text-align: left;
  }

  .property-overview-card {
    grid-template-columns: 1fr;
  }

  .property-overview-image {
    height: 240px;
    min-height: 0;
  }

  .property-overview-title-row,
  .property-overview-footer,
  .listing-section-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .calendar-header-row {
    align-items: stretch;
    flex-direction: column;
  }

  .calendar-header-row h2 {
    text-align: left;
  }

  .functional-calendar {
    gap: 4px;
  }

  .functional-calendar > span,
  .functional-calendar > .calendar-day-button {
    min-height: 72px;
    padding: 7px;
  }

  .functional-calendar > .calendar-day-button small {
    font-size: 10px;
  }

  .calendar-rule-list > div {
    align-items: stretch;
    flex-direction: column;
  }

  .calendar-modal-panel {
    max-height: calc(100vh - 24px);
    padding: 20px;
    width: calc(100% - 20px);
  }

  .calendar-modal-header h3 {
    font-size: 22px;
  }

  .calendar-edit-grid,
  .calendar-quick-block {
    grid-template-columns: 1fr;
  }

  .calendar-modal-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .property-overview-title-row > small {
    white-space: normal;
  }

  .search-map-details {
    padding: 18px;
  }

  .dashboard-limit-card,
  .dashboard-empty-state {
    padding: 18px;
  }

  .property-management-toolbar,
  .property-management-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .property-toolbar-actions,
  .property-toolbar-actions .btn {
    width: 100%;
  }

  .property-management-media {
    min-height: 260px;
  }

  .property-management-body {
    padding: 20px;
  }

  .property-management-side {
    border-left: 0;
    border-top: 1px solid #e6edf0;
    padding-left: 0;
    padding-top: 20px;
  }

  .property-management-metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .address-geocode-panel {
    align-items: stretch;
    flex-direction: column;
  }

  .address-map-preview {
    aspect-ratio: 4 / 3;
  }

  .owner-listing-actions,
  .owner-listing-actions .btn,
  .owner-listing-actions form,
  .owner-listing-actions button {
    width: 100%;
  }

  .listing-detail-heading h1 {
    font-size: 32px;
  }

  .listing-detail-gallery,
  .listing-detail-gallery .featured-image {
    display: block;
  }

  .listing-detail-gallery img,
  .listing-detail-gallery .featured-image {
    height: 260px;
    margin-bottom: 10px;
  }

  .listing-area-map-frame {
    height: 360px;
  }

  .listing-wizard-form {
    padding: 22px;
  }

  .wizard-steps {
    grid-template-columns: repeat(6, 150px);
  }

  .wizard-controls,
  .submit-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }
}

.admin-page-heading {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 24px;
}

.admin-dashboard-page {
  display: grid;
  gap: 24px;
}

.admin-dashboard-hero {
  align-items: flex-end;
  background: #ffffff;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  display: flex;
  gap: 24px;
  justify-content: space-between;
  padding: 28px;
}

.admin-dashboard-hero h1 {
  color: #101F46;
  font-size: 38px;
  font-weight: 900;
  line-height: 1.1;
  margin: 6px 0 10px;
}

.admin-dashboard-hero p:not(.eyebrow) {
  color: #667085;
  font-weight: 800;
  margin: 0;
  max-width: 760px;
}

.admin-dashboard-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-kpi-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-kpi-card {
  background: #ffffff;
  border-left: 4px solid #0e7a0b;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  display: grid;
  gap: 7px;
  min-height: 150px;
  padding: 18px;
}

.admin-kpi-card i {
  color: #0e7a0b;
  font-size: 18px;
}

.admin-kpi-card span,
.admin-kpi-card small {
  color: #667085;
  display: block;
  font-size: 12px;
  font-weight: 900;
}

.admin-kpi-card strong {
  color: #101F46;
  display: block;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
}

.admin-dashboard-grid,
.admin-insight-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-operations-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-panel {
  background: #ffffff;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  padding: 24px;
}

.admin-panel-heading {
  align-items: flex-start;
  display: flex;
  gap: 16px;
  justify-content: space-between;
  margin-bottom: 18px;
}

.admin-panel-heading h2 {
  color: #101F46;
  font-size: 23px;
  font-weight: 900;
  margin: 4px 0 0;
}

.admin-panel-heading > strong {
  color: #0e7a0b;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}

.admin-r2-page {
  display: grid;
  gap: 22px;
}

.admin-two-column-layout {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-module-layout {
  align-items: start;
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) 340px;
}

.admin-module-main,
.admin-module-side {
  display: grid;
  gap: 20px;
}

.admin-form-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 20px;
}

.admin-form-grid .full-span {
  grid-column: 1 / -1;
}

.admin-checkbox-row {
  align-items: center;
  border: 1px solid #d8e1e5;
  color: #101F46;
  display: inline-flex;
  gap: 10px;
  font-weight: 800;
  min-height: 48px;
  padding: 12px 14px;
}

.admin-checkbox-row input {
  width: auto;
}

.admin-edit-listing-page {
  padding-bottom: 80px;
}

.admin-edit-listing-form {
  display: grid;
  gap: 22px;
  margin: 24px auto 0;
  max-width: 980px;
  padding: 28px;
}

.admin-edit-listing-grid {
  display: grid;
  gap: 18px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-edit-listing-grid .full-span {
  grid-column: 1 / -1;
}

.admin-edit-listing-grid label {
  display: block;
  min-width: 0;
}

.admin-edit-listing-actions {
  align-items: center;
  border-top: 1px solid #e4ece7;
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  padding-top: 20px;
}

.admin-inline-actions {
  margin-top: 12px;
}

.admin-inline-actions .btn {
  justify-content: center;
  width: 100%;
}

@media (max-width: 900px) {
  .admin-module-layout,
  .admin-two-column-layout,
  .admin-form-grid,
  .admin-edit-listing-grid {
    grid-template-columns: 1fr;
  }

  .admin-form-grid .full-span,
  .admin-edit-listing-grid .full-span {
    grid-column: auto;
  }

  .admin-edit-listing-form {
    padding: 20px;
  }

  .admin-edit-listing-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .admin-edit-listing-actions .btn {
    justify-content: center;
    width: 100%;
  }
}

.admin-bar-chart,
.admin-line-bars,
.admin-growth-chart {
  align-items: end;
  border-bottom: 1px solid #dfe5df;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  min-height: 240px;
}

.admin-bar-chart > div,
.admin-line-bars > div,
.admin-growth-chart > div {
  align-items: end;
  display: grid;
  gap: 7px;
  grid-template-rows: 1fr auto auto;
  height: 220px;
  text-align: center;
}

.admin-bar-chart span,
.admin-line-bars span,
.admin-growth-chart span {
  align-self: end;
  display: block;
  min-height: 5px;
}

.admin-bar-chart span {
  background: #0e7a0b;
}

.admin-line-bars span {
  background: #101F46;
}

.admin-growth-chart span {
  background: #f5a623;
}

.admin-bar-chart small,
.admin-bar-chart b,
.admin-line-bars small,
.admin-line-bars b,
.admin-growth-chart small,
.admin-growth-chart b {
  color: #667085;
  display: block;
  font-size: 11px;
  font-weight: 900;
}

.admin-bar-chart b,
.admin-line-bars b,
.admin-growth-chart b {
  color: #101F46;
}

.admin-feed-list,
.admin-booking-list,
.admin-review-list,
.admin-progress-list,
.admin-ranked-list {
  display: grid;
  gap: 12px;
}

.admin-feed-list > div,
.admin-booking-list > div,
.admin-review-list > div,
.admin-ranked-list > div,
.admin-progress-list > div {
  border: 1px solid #e6edf0;
  display: grid;
  gap: 6px;
  padding: 14px;
}

.admin-feed-list strong,
.admin-booking-list strong,
.admin-review-list strong,
.admin-ranked-list strong,
.admin-progress-list strong,
.admin-module-placeholder strong {
  color: #101F46;
  font-weight: 900;
}

.admin-feed-list span,
.admin-feed-list small,
.admin-booking-list span,
.admin-booking-list small,
.admin-review-list span,
.admin-review-list small,
.admin-ranked-list small,
.admin-progress-list small,
.admin-module-placeholder span {
  color: #667085;
  font-size: 13px;
  font-weight: 800;
}

.admin-feed-list a {
  color: #0e7a0b;
  font-size: 13px;
  font-weight: 900;
}

.admin-booking-list b {
  color: #0e7a0b;
  font-weight: 900;
}

.admin-module-placeholder {
  background: #f8fafc;
  border: 1px dashed #b8c2cc;
  display: grid;
  gap: 8px;
  padding: 24px;
}

.admin-progress-list > div {
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
}

.admin-progress-list span {
  display: grid;
  gap: 3px;
}

.admin-progress-list i,
.admin-ranked-list i {
  background: #e6edf0;
  display: block;
  height: 9px;
  overflow: hidden;
}

.admin-progress-list em {
  background: #0e7a0b;
  display: block;
  height: 100%;
}

.admin-ranked-list > div {
  align-items: center;
  grid-template-columns: 34px minmax(0, 1fr);
}

.admin-ranked-list b {
  align-items: center;
  background: #eef8f0;
  color: #0e7a0b;
  display: inline-flex;
  font-weight: 900;
  height: 34px;
  justify-content: center;
  width: 34px;
}

.admin-notification-list.compact {
  gap: 10px;
}

.admin-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.admin-summary-card {
  background: #ffffff;
  border-left: 4px solid #0e7a0b;
  box-shadow: 0 12px 35px rgba(16, 31, 70, 0.08);
  padding: 18px 20px;
}

.admin-summary-card span,
.admin-listing-meta {
  display: block;
  color: #667085;
  font-size: 13px;
  font-weight: 700;
}

.admin-summary-card strong {
  color: #101F46;
  display: block;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.1;
  margin-top: 5px;
}

.admin-filter-card {
  display: grid;
  gap: 16px;
}

.admin-filter-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.admin-filter-actions {
  align-items: center;
  border-top: 1px solid #e6edf0;
  display: flex;
  gap: 10px;
  justify-content: flex-end;
  padding-top: 16px;
}

.admin-table-card {
  overflow: hidden;
}

.admin-table-scroll {
  overflow-x: auto;
}

.admin-listings-table {
  min-width: 1120px;
}

.admin-listings-table th {
  border: 0;
  font-size: 12px;
  letter-spacing: 0.02em;
  padding: 15px 18px;
  text-transform: uppercase;
  white-space: nowrap;
}

.admin-listings-table td {
  border-left: 0;
  border-right: 0;
  color: #5f6c7b;
  padding: 20px 18px;
}

.admin-listings-table td:first-child {
  width: 230px;
}

.admin-listings-table td:last-child {
  min-width: 410px;
}

.admin-listing-title {
  color: #101F46;
  display: block;
  font-size: 15px;
  line-height: 1.35;
  margin-bottom: 5px;
}

.admin-badge {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 900;
  line-height: 1;
  text-transform: capitalize;
  white-space: nowrap;
}

.badge-success {
  background: #eef8f0;
  color: #0e7a0b;
}

.badge-warning {
  background: #fff7e8;
  color: #a45100;
}

.badge-danger {
  background: #fff1f1;
  color: #b42318;
}

.badge-muted,
.badge-neutral {
  background: #f1f4f7;
  color: #344054;
}

.admin-row-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-row-actions form {
  margin: 0;
}

.admin-reject-form {
  display: grid;
  grid-template-columns: minmax(150px, 1fr) auto;
  gap: 8px;
}

.admin-reject-form .form-input {
  min-height: 42px;
}

.admin-action {
  align-items: center;
  border: 0;
  color: #101F46;
  display: inline-flex;
  font-weight: 900;
  justify-content: center;
  min-height: 42px;
  padding: 10px 14px;
  text-decoration: none;
  white-space: nowrap;
}

.admin-action:hover {
  color: #ffffff;
}

.action-edit,
.action-approve,
.action-review {
  background: #eef8f0;
  color: #0e7a0b;
}

.action-edit:hover,
.action-approve:hover,
.action-review:hover {
  background: #0e7a0b;
}

.action-reject {
  background: #fff1f1;
  color: #b42318;
}

.action-reject:hover {
  background: #b42318;
}

.action-suspend {
  background: #fff7e8;
  color: #a45100;
}

.action-suspend:hover {
  background: #a45100;
}

.action-delete {
  background: #f1f4f7;
  color: #101F46;
}

.action-delete:hover {
  background: #101F46;
}

.admin-review-modal-open {
  overflow: hidden;
}

.admin-review-modal {
  display: none;
  inset: 0;
  position: fixed;
  z-index: 9999;
}

.admin-review-modal.is-open {
  display: block;
}

.admin-review-modal-backdrop {
  background: rgba(16, 31, 70, 0.72);
  inset: 0;
  position: absolute;
}

.admin-review-modal-panel {
  background: #f6f9fb;
  bottom: 24px;
  box-shadow: 0 28px 80px rgba(16, 31, 70, 0.28);
  color: #101F46;
  left: 50%;
  max-width: 1240px;
  overflow: auto;
  position: absolute;
  top: 24px;
  transform: translateX(-50%);
  width: min(calc(100vw - 32px), 1240px);
}

.admin-review-modal-header {
  align-items: flex-start;
  background: #ffffff;
  border-bottom: 1px solid #e6edf0;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 28px;
  position: sticky;
  top: 0;
  z-index: 2;
}

.admin-review-modal-header h2 {
  color: #101F46;
  font-size: clamp(26px, 3vw, 42px);
  font-weight: 900;
  line-height: 1.05;
  margin: 4px 0 8px;
}

.admin-review-modal-header span {
  color: #667085;
  font-weight: 800;
}

.admin-review-close {
  align-items: center;
  background: #101F46;
  border: 0;
  color: #ffffff;
  cursor: pointer;
  display: inline-flex;
  flex: 0 0 44px;
  font-size: 28px;
  font-weight: 500;
  height: 44px;
  justify-content: center;
  line-height: 1;
  width: 44px;
}

.admin-review-status-row {
  background: #ffffff;
  border-bottom: 1px solid #e6edf0;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 28px 24px;
}

.admin-review-layout {
  display: grid;
  gap: 22px;
  grid-template-columns: minmax(0, 1fr) 340px;
  padding: 24px;
}

.admin-review-main,
.admin-review-side {
  display: grid;
  gap: 18px;
}

.admin-review-side {
  align-content: start;
  position: sticky;
  top: 122px;
}

.admin-review-block {
  background: #ffffff;
  border: 1px solid #e6edf0;
  padding: 22px;
}

.admin-review-block h3 {
  color: #101F46;
  font-size: 20px;
  font-weight: 900;
  margin: 0 0 16px;
}

.admin-review-block h4 {
  color: #101F46;
  font-size: 15px;
  font-weight: 900;
  margin: 0 0 8px;
}

.admin-review-block p {
  color: #5f6c7b;
  font-weight: 600;
  line-height: 1.65;
  margin: 12px 0 0;
}

.admin-review-image-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-review-image-grid figure {
  background: #eef3f5;
  margin: 0;
  min-height: 160px;
  overflow: hidden;
  position: relative;
}

.admin-review-image-grid img {
  display: block;
  height: 190px;
  object-fit: contain;
  padding: 6px;
  width: 100%;
}

.admin-review-image-grid figure.is-broken img {
  display: none;
}

.admin-review-broken-image {
  align-items: center;
  color: #667085;
  display: none;
  font-size: 13px;
  font-weight: 900;
  height: 190px;
  justify-content: center;
  padding: 18px;
  text-align: center;
}

.admin-review-image-grid figure.is-broken .admin-review-broken-image {
  display: flex;
}

.admin-review-image-grid figcaption {
  background: #0e7a0b;
  bottom: 10px;
  color: #ffffff;
  font-size: 12px;
  font-weight: 900;
  left: 10px;
  padding: 6px 8px;
  position: absolute;
}

.admin-review-empty {
  background: #f6f9fb;
  color: #667085;
  font-weight: 800;
  padding: 22px;
}

.admin-review-detail-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-review-detail-grid div {
  background: #f6f9fb;
  min-width: 0;
  padding: 14px;
}

.admin-review-detail-grid span {
  color: #667085;
  display: block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.02em;
  margin-bottom: 6px;
  text-transform: uppercase;
}

.admin-review-detail-grid strong {
  color: #101F46;
  display: block;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.admin-review-detail-grid small {
  color: #667085;
  display: block;
  font-weight: 700;
  margin-top: 4px;
}

.admin-review-pill-list,
.admin-review-link-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-review-pill-list span,
.admin-review-link-list a,
.admin-review-link-list span {
  background: #f6fbf6;
  color: #0e7a0b;
  font-size: 13px;
  font-weight: 900;
  padding: 8px 10px;
  text-decoration: none;
}

.admin-review-pill-list em {
  color: #667085;
  font-style: normal;
  font-weight: 800;
}

.admin-review-two-col {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 16px;
}

.admin-review-two-col > div {
  background: #f6f9fb;
  padding: 14px;
}

.admin-review-warning {
  background: #fff7e8;
  color: #a45100;
  font-weight: 800;
  line-height: 1.55;
  margin-top: 16px;
  padding: 14px;
}

.admin-review-warning ul {
  display: grid;
  gap: 6px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  list-style: none;
  margin: 10px 0 0;
  padding: 0;
}

.admin-review-warning li {
  background: rgba(255, 255, 255, 0.65);
  color: #7a3d00;
  font-size: 13px;
  line-height: 1.35;
  padding: 7px 9px;
}

.admin-review-detail-list {
  display: grid;
  gap: 8px;
}

.admin-review-detail-list span {
  background: #f6f9fb;
  color: #5f6c7b;
  font-weight: 800;
  padding: 10px 12px;
  overflow-wrap: anywhere;
}

.admin-review-detail-list strong {
  color: #101F46;
}

.admin-review-mini-stats {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-review-mini-stats div {
  background: #f6f9fb;
  padding: 12px;
  text-align: center;
}

.admin-review-mini-stats strong {
  color: #101F46;
  display: block;
  font-size: 24px;
  font-weight: 900;
}

.admin-review-mini-stats span {
  color: #667085;
  display: block;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-review-checklist {
  display: grid;
  gap: 8px;
}

.admin-review-checklist span {
  font-weight: 900;
  padding: 10px 12px;
}

.admin-review-checklist .is-ok {
  background: #eef8f0;
  color: #0e7a0b;
}

.admin-review-checklist .is-problem {
  background: #fff1f1;
  color: #b42318;
}

.admin-review-decision-actions {
  display: grid;
  gap: 10px;
}

.admin-review-decision-actions form {
  margin: 0;
}

.admin-review-decision-actions .admin-action {
  width: 100%;
}

.admin-review-reject-form {
  background: #fff7f7;
  border: 1px solid #ffe1e1;
  display: grid;
  gap: 10px;
  padding: 12px;
}

.admin-review-reject-grid {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-review-reject-grid label {
  color: #344054;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.35;
}

.admin-review-reject-form textarea {
  min-height: 104px;
}

.admin-empty-state {
  align-items: center;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 36px 16px;
  text-align: center;
}

.admin-empty-state strong {
  color: #101F46;
  font-size: 20px;
}

.admin-empty-state span {
  color: #667085;
}

@media screen and (max-width: 1199px) {
  .admin-kpi-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-dashboard-grid,
  .admin-insight-grid,
  .admin-operations-grid {
    grid-template-columns: 1fr;
  }

  .admin-filter-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-review-layout {
    grid-template-columns: 1fr;
  }

  .admin-review-side {
    position: static;
  }
}

@media screen and (max-width: 767px) {
  .admin-dashboard-hero,
  .admin-page-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-dashboard-hero {
    padding: 22px;
  }

  .admin-dashboard-hero h1 {
    font-size: 32px;
  }

  .admin-dashboard-actions,
  .admin-dashboard-actions .btn {
    width: 100%;
  }

  .admin-kpi-grid {
    grid-template-columns: 1fr;
  }

  .admin-panel {
    padding: 20px;
  }

  .admin-panel-heading,
  .admin-filter-grid,
  .admin-summary-grid {
    grid-template-columns: 1fr;
  }

  .admin-panel-heading {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-filter-actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }

  .admin-review-modal-panel {
    bottom: 0;
    top: 0;
    width: 100vw;
  }

  .admin-review-modal-header {
    padding: 22px;
  }

  .admin-review-status-row {
    padding: 0 22px 20px;
  }

  .admin-review-layout {
    padding: 16px;
  }

  .admin-review-image-grid,
  .admin-review-detail-grid,
  .admin-review-two-col,
  .admin-review-mini-stats,
  .admin-review-reject-grid,
  .admin-review-warning ul {
    grid-template-columns: 1fr;
  }
}

.admin-section-nav {
  background: #ffffff;
  border: 1px solid #e6edf0;
  display: grid;
  gap: 6px;
  margin: 0;
  max-height: calc(100vh - 32px);
  overflow: auto;
  padding: 12px;
  position: sticky;
  scrollbar-width: thin;
  top: 16px;
}

section[class*="admin-"][class*="-page"] {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: 280px minmax(0, 1fr);
  max-width: min(1760px, calc(100vw - 32px)) !important;
  width: 100%;
}

section[class*="admin-"][class*="-page"] > .admin-section-nav {
  grid-column: 1;
  grid-row: 1 / span 100;
}

section[class*="admin-"][class*="-page"] > .admin-module-hero,
section[class*="admin-"][class*="-page"] > :not(.admin-section-nav):not(.admin-module-hero) {
  grid-column: 2;
  min-width: 0;
}

section[class*="admin-"][class*="-page"] > .admin-module-hero {
  grid-row: 1;
}

.admin-section-nav .dashboard-sidebar-title {
  margin-bottom: 8px;
}

.admin-section-nav {
  scrollbar-width: thin;
}

.admin-section-nav a {
  align-items: center;
  background: #f6f9fb;
  color: #101F46;
  display: flex;
  font-size: 13px;
  font-weight: 900;
  min-height: 42px;
  padding: 10px 14px;
  text-decoration: none;
  white-space: normal;
}

.admin-section-nav a:hover,
.admin-section-nav a.is-active {
  background: #0e7a0b;
  color: #ffffff;
}

.admin-module-page {
  color: #101F46;
}

.admin-module-hero {
  align-items: flex-end;
  background: #ffffff;
  border: 1px solid #e6edf0;
  display: flex;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 18px;
  padding: 28px;
}

.admin-module-hero h1 {
  color: #101F46;
  font-size: clamp(30px, 4vw, 52px);
  font-weight: 900;
  line-height: 1;
  margin: 4px 0 10px;
}

.admin-module-hero p:last-child {
  color: #5f6c7b;
  font-size: 16px;
  line-height: 1.6;
  margin: 0;
  max-width: 760px;
}

.admin-module-actions {
  display: flex;
  flex: 0 0 auto;
  gap: 10px;
}

.admin-module-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 24px;
}

.admin-module-stat {
  background: #ffffff;
  border: 1px solid #e6edf0;
  padding: 22px;
}

.admin-module-stat span {
  color: #5f6c7b;
  display: block;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: 0.02em;
  text-transform: uppercase;
}

.admin-module-stat strong {
  color: #101F46;
  display: block;
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
  margin: 12px 0 8px;
}

.admin-module-stat small {
  color: #667085;
  display: block;
  line-height: 1.45;
}

.admin-module-action-row {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: -4px 0 24px;
}

.admin-module-table-panel {
  margin-top: 0;
}

.admin-module-note {
  background: #f6fbf6;
  border-left: 4px solid #0e7a0b;
  color: #344054;
  font-weight: 700;
  line-height: 1.55;
  margin: 0 0 18px;
  padding: 14px 16px;
}

.admin-module-table {
  border-collapse: collapse;
  min-width: 820px;
  width: 100%;
}

.admin-module-table th {
  background: #f1f4f7;
  color: #101F46;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.02em;
  padding: 14px 16px;
  text-align: left;
  text-transform: uppercase;
  white-space: nowrap;
}

.admin-module-table td {
  border-top: 1px solid #e6edf0;
  color: #5f6c7b;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.45;
  padding: 16px;
  vertical-align: top;
}

.admin-module-table td:first-child {
  color: #101F46;
  font-weight: 900;
}

.admin-approval-page {
  color: #101F46;
}

.admin-approval-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 22px;
}

.admin-approval-pipeline {
  background: #ffffff;
  border: 1px solid #e6edf0;
  display: grid;
  gap: 1px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 24px;
  overflow: hidden;
}

.admin-approval-pipeline article {
  background: #ffffff;
  padding: 22px;
}

.admin-approval-pipeline span {
  align-items: center;
  background: #0e7a0b;
  color: #ffffff;
  display: inline-flex;
  font-weight: 900;
  height: 32px;
  justify-content: center;
  margin-bottom: 12px;
  width: 32px;
}

.admin-approval-pipeline strong {
  color: #101F46;
  display: block;
  font-size: 18px;
  font-weight: 900;
  margin-bottom: 4px;
}

.admin-approval-pipeline small {
  color: #667085;
  display: block;
  font-weight: 700;
  line-height: 1.45;
}

.admin-approval-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 2fr repeat(5, minmax(0, 1fr));
}

.admin-approval-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 350px;
}

.admin-approval-main {
  display: grid;
  gap: 16px;
}

.admin-approval-heading {
  background: #ffffff;
  border: 1px solid #e6edf0;
  padding: 22px;
}

.admin-approval-card {
  background: #ffffff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.06);
  padding: 22px;
}

.admin-approval-card-top {
  align-items: flex-start;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.admin-approval-card h3 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  line-height: 1.1;
  margin: 12px 0 8px;
}

.admin-approval-card p {
  color: #667085;
  font-weight: 800;
  line-height: 1.45;
  margin: 0;
}

.admin-approval-score {
  background: #f6fbf6;
  color: #0e7a0b;
  flex: 0 0 92px;
  padding: 14px;
  text-align: center;
}

.admin-approval-score strong {
  display: block;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
}

.admin-approval-score span {
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin-top: 5px;
  text-transform: uppercase;
}

.admin-approval-meter {
  background: #eef3f5;
  height: 10px;
  margin: 18px 0;
  overflow: hidden;
}

.admin-approval-meter span {
  background: #0e7a0b;
  display: block;
  height: 100%;
}

.admin-approval-facts {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  margin-bottom: 16px;
}

.admin-approval-facts span {
  background: #f6f9fb;
  color: #5f6c7b;
  font-size: 12px;
  font-weight: 900;
  padding: 10px;
  text-align: center;
}

.admin-approval-issues,
.admin-approval-ready,
.admin-approval-rejection {
  margin-top: 14px;
}

.admin-approval-issues {
  background: #fff7e8;
  padding: 14px;
}

.admin-approval-issues strong {
  color: #a45100;
  display: block;
  font-weight: 900;
  margin-bottom: 10px;
}

.admin-approval-issues div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-approval-issues span {
  background: rgba(255, 255, 255, 0.72);
  color: #7a3d00;
  font-size: 12px;
  font-weight: 900;
  padding: 7px 9px;
}

.admin-approval-ready {
  background: #eef8f0;
  color: #0e7a0b;
  font-weight: 900;
  padding: 14px;
}

.admin-approval-rejection {
  background: #fff1f1;
  color: #b42318;
  font-weight: 800;
  line-height: 1.55;
  padding: 14px;
}

.admin-approval-actions {
  align-items: stretch;
  display: grid;
  gap: 10px;
  grid-template-columns: auto auto minmax(250px, 1fr);
  margin-top: 18px;
}

.admin-approval-actions form {
  margin: 0;
}

.admin-approval-reject-inline {
  display: grid;
  gap: 8px;
  grid-template-columns: minmax(180px, 1fr) auto;
}

.admin-approval-reject-inline .form-input {
  min-height: 42px;
}

.admin-approval-side {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 22px;
}

.admin-approval-rules,
.admin-approval-activity {
  display: grid;
  gap: 10px;
}

.admin-approval-rules span {
  background: #f6fbf6;
  color: #0e7a0b;
  font-weight: 900;
  padding: 12px;
}

.admin-approval-activity div {
  border-bottom: 1px solid #e6edf0;
  display: grid;
  gap: 3px;
  padding: 0 0 12px;
}

.admin-approval-activity div:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.admin-approval-activity strong {
  color: #101F46;
  font-weight: 900;
}

.admin-approval-activity span,
.admin-approval-activity small,
.admin-approval-activity p {
  color: #667085;
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
}

.admin-owner-page {
  color: #101F46;
}

.admin-owner-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 22px;
}

.admin-owner-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 2fr 1fr 1fr 1fr;
}

.admin-owner-list {
  display: grid;
  gap: 20px;
}

.admin-owner-card {
  background: #ffffff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.06);
  padding: 24px;
}

.admin-owner-card-main {
  align-items: flex-start;
  display: flex;
  gap: 22px;
  justify-content: space-between;
}

.admin-owner-identity h2 {
  color: #101F46;
  font-size: 34px;
  font-weight: 900;
  line-height: 1.05;
  margin: 12px 0 8px;
}

.admin-owner-identity p {
  color: #667085;
  font-weight: 800;
  line-height: 1.5;
  margin: 0;
}

.admin-owner-package {
  background: #f6fbf6;
  flex: 0 0 250px;
  padding: 18px;
}

.admin-owner-package strong {
  color: #0e7a0b;
  display: block;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.1;
}

.admin-owner-package span,
.admin-owner-package small {
  color: #5f6c7b;
  display: block;
  font-weight: 800;
  margin-top: 6px;
}

.admin-owner-package i {
  background: #ddebe0;
  display: block;
  height: 9px;
  margin-top: 14px;
  overflow: hidden;
}

.admin-owner-package em {
  background: #0e7a0b;
  display: block;
  height: 100%;
}

.admin-owner-metrics {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 20px 0;
}

.admin-owner-metrics div {
  background: #f6f9fb;
  padding: 14px;
  text-align: center;
}

.admin-owner-metrics strong {
  color: #101F46;
  display: block;
  font-size: 25px;
  font-weight: 900;
  line-height: 1.1;
}

.admin-owner-metrics span {
  color: #667085;
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin-top: 5px;
  text-transform: uppercase;
}

.admin-owner-content-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-owner-panel {
  border: 1px solid #e6edf0;
  padding: 18px;
}

.admin-owner-panel h3 {
  color: #101F46;
  font-size: 19px;
  font-weight: 900;
  margin: 0 0 14px;
}

.admin-owner-detail-grid {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-owner-detail-grid span {
  background: #f6f9fb;
  color: #5f6c7b;
  font-weight: 700;
  line-height: 1.4;
  min-width: 0;
  overflow-wrap: anywhere;
  padding: 12px;
}

.admin-owner-detail-grid strong {
  color: #101F46;
  display: block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.02em;
  margin-bottom: 4px;
  text-transform: uppercase;
}

.admin-owner-contact-flags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}

.admin-owner-contact-flags span {
  background: #f1f4f7;
  color: #667085;
  font-size: 12px;
  font-weight: 900;
  padding: 8px 10px;
}

.admin-owner-contact-flags .is-on {
  background: #eef8f0;
  color: #0e7a0b;
}

.admin-owner-edit-panel {
  grid-column: 1 / -1;
}

.admin-owner-property-list,
.admin-owner-activity,
.admin-owner-action-form,
.admin-owner-profile-form {
  display: grid;
  gap: 10px;
}

.admin-owner-edit-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-owner-contact-edit {
  background: #f6f9fb;
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  padding: 12px;
}

.admin-owner-contact-edit label {
  color: #101F46;
  font-size: 13px;
  font-weight: 900;
}

.admin-owner-property-list a,
.admin-owner-activity div {
  background: #f6f9fb;
  display: grid;
  gap: 4px;
  padding: 12px;
  text-decoration: none;
}

.admin-owner-property-list strong,
.admin-owner-activity strong {
  color: #101F46;
  font-weight: 900;
}

.admin-owner-property-list span,
.admin-owner-property-list small,
.admin-owner-activity span,
.admin-owner-activity small,
.admin-owner-property-list p,
.admin-owner-activity p {
  color: #667085;
  font-weight: 700;
  line-height: 1.4;
  margin: 0;
}

.admin-owner-action-form .admin-action,
.admin-owner-profile-form .admin-action {
  width: 100%;
}

.admin-agent-page .admin-owner-package {
  background: #f0f7ff;
}

.admin-agent-page .admin-owner-package strong {
  color: #101F46;
}

.admin-agent-page .admin-owner-package em {
  background: #101F46;
}

.admin-booking-page {
  color: #101F46;
}

.admin-booking-error {
  background: #fff1f1;
  border-left: 4px solid #b42318;
  color: #b42318;
  display: grid;
  gap: 4px;
  font-weight: 800;
  margin-bottom: 18px;
  padding: 14px 16px;
}

.admin-booking-error strong {
  color: #7a1610;
}

.admin-booking-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 22px;
}

.admin-booking-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
}

.admin-booking-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 350px;
}

.admin-booking-list {
  display: grid;
  gap: 18px;
}

.admin-booking-card {
  background: #ffffff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.06);
  padding: 22px;
}

.admin-booking-card-top {
  align-items: flex-start;
  display: flex;
  gap: 20px;
  justify-content: space-between;
}

.admin-booking-card h2 {
  color: #101F46;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.08;
  margin: 12px 0 8px;
}

.admin-booking-card p {
  color: #667085;
  font-weight: 800;
  line-height: 1.5;
  margin: 0;
}

.admin-booking-value {
  background: #f6fbf6;
  flex: 0 0 160px;
  padding: 16px;
  text-align: center;
}

.admin-booking-value strong {
  color: #0e7a0b;
  display: block;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}

.admin-booking-value span {
  color: #667085;
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin-top: 7px;
  text-transform: uppercase;
}

.admin-booking-facts {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px 0;
}

.admin-booking-facts span {
  background: #f6f9fb;
  color: #5f6c7b;
  font-weight: 700;
  line-height: 1.4;
  min-width: 0;
  overflow-wrap: anywhere;
  padding: 12px;
}

.admin-booking-facts strong {
  color: #101F46;
  display: block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.02em;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.admin-booking-warning {
  background: #fff7e8;
  color: #a45100;
  display: grid;
  gap: 4px;
  font-weight: 800;
  margin-bottom: 16px;
  padding: 14px;
}

.admin-booking-message {
  background: #f6f9fb;
  margin-bottom: 16px;
  padding: 14px;
}

.admin-booking-message strong {
  color: #101F46;
  display: block;
  font-weight: 900;
  margin-bottom: 7px;
}

.admin-booking-message p {
  color: #5f6c7b;
  font-weight: 700;
  line-height: 1.55;
}

.admin-booking-action-form {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.admin-booking-action-form .admin-booking-note {
  grid-column: span 4;
}

.admin-booking-action-form .admin-action {
  min-height: 52px;
  width: 100%;
}

.admin-booking-side {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 22px;
}

.admin-revenue-page {
  color: #101F46;
}

.admin-revenue-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.admin-revenue-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 22px;
}

.admin-revenue-layout,
.admin-revenue-breakdown-grid {
  display: grid;
  gap: 22px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-bottom: 22px;
}

.admin-revenue-chart-panel {
  min-height: 380px;
}

.admin-revenue-chart {
  align-items: end;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  height: 260px;
  padding-top: 16px;
}

.admin-revenue-chart div {
  align-items: center;
  display: grid;
  gap: 8px;
  grid-template-rows: 1fr auto auto;
  height: 100%;
  min-width: 0;
}

.admin-revenue-chart span {
  align-self: end;
  background: #0e7a0b;
  display: block;
  min-height: 7px;
  width: 100%;
}

.admin-revenue-chart small,
.admin-revenue-chart strong {
  color: #667085;
  display: block;
  font-size: 12px;
  font-weight: 900;
  line-height: 1.25;
  text-align: center;
}

.admin-revenue-chart strong {
  color: #101F46;
}

.admin-revenue-balance-grid {
  display: grid;
  gap: 12px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-revenue-balance-grid div {
  background: #f6f9fb;
  padding: 16px;
}

.admin-revenue-balance-grid span {
  color: #667085;
  display: block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.02em;
  margin-bottom: 8px;
  text-transform: uppercase;
}

.admin-revenue-balance-grid strong {
  color: #101F46;
  display: block;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}

.admin-revenue-note {
  background: #fff7e8;
  color: #a45100;
  font-weight: 800;
  line-height: 1.55;
  margin: 14px 0 0;
  padding: 14px;
}

.admin-revenue-list {
  display: grid;
  gap: 12px;
}

.admin-revenue-list > div {
  background: #f6f9fb;
  display: grid;
  gap: 10px;
  grid-template-columns: minmax(0, 1fr) auto;
  padding: 14px;
}

.admin-revenue-list span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.admin-revenue-list strong {
  color: #101F46;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.admin-revenue-list small {
  color: #667085;
  font-weight: 700;
  line-height: 1.35;
}

.admin-revenue-list b {
  color: #0e7a0b;
  font-weight: 900;
  white-space: nowrap;
}

.admin-revenue-list i {
  background: #dcebe0;
  display: block;
  grid-column: 1 / -1;
  height: 8px;
  overflow: hidden;
}

.admin-revenue-list em {
  background: #0e7a0b;
  display: block;
  height: 100%;
}

.admin-revenue-list p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

.admin-revenue-records small {
  color: #667085;
  font-weight: 700;
}

.admin-payout-page {
  color: #101F46;
}

.admin-payout-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 2fr 1fr 1fr 1fr;
}

.admin-payout-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 22px;
}

.admin-payout-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 350px;
}

.admin-payout-main,
.admin-payout-side,
.admin-payout-ready-list,
.admin-payout-batch-list {
  display: grid;
  gap: 18px;
}

.admin-payout-side {
  position: sticky;
  top: 22px;
}

.admin-payout-ready-card,
.admin-payout-batch-card {
  background: #ffffff;
  border: 1px solid #e6edf0;
  box-shadow: 0 14px 36px rgba(16, 31, 70, 0.05);
  padding: 18px;
}

.admin-payout-ready-card {
  align-items: start;
  display: grid;
  gap: 16px;
  grid-template-columns: minmax(0, 1fr) 180px;
}

.admin-payout-ready-card h3,
.admin-payout-batch-card h3 {
  color: #101F46;
  font-size: 24px;
  font-weight: 900;
  line-height: 1.1;
  margin: 10px 0 6px;
}

.admin-payout-ready-card p,
.admin-payout-batch-card p {
  color: #667085;
  font-weight: 800;
  line-height: 1.45;
  margin: 0;
}

.admin-payout-ready-amount {
  background: #f6fbf6;
  padding: 16px;
  text-align: center;
}

.admin-payout-ready-amount strong,
.admin-payout-batch-head > strong {
  color: #0e7a0b;
  display: block;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
  white-space: nowrap;
}

.admin-payout-ready-amount span {
  color: #667085;
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin-top: 8px;
  text-transform: uppercase;
}

.admin-payout-create-form {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-column: 1 / -1;
  grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
}

.admin-payout-create-form .admin-action,
.admin-payout-status-form .admin-action {
  min-height: 52px;
}

.admin-payout-batch-head {
  align-items: start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  margin-bottom: 14px;
}

.admin-payout-meta {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 12px;
}

.admin-payout-meta span {
  background: #f6f9fb;
  color: #5f6c7b;
  font-weight: 700;
  line-height: 1.4;
  padding: 12px;
}

.admin-payout-meta strong {
  color: #101F46;
  display: block;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.02em;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.admin-payout-note {
  background: #fff7e8;
  color: #a45100;
  font-weight: 800;
  line-height: 1.5;
  margin: 0 0 12px;
  padding: 12px;
}

.admin-payout-status-form {
  align-items: end;
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
}

.admin-payout-status-legend {
  display: grid;
  gap: 10px;
}

.admin-payout-status-legend span {
  background: #f6f9fb;
  color: #667085;
  font-weight: 700;
  line-height: 1.45;
  padding: 12px;
}

.admin-payout-status-legend strong {
  color: #101F46;
  display: block;
  font-weight: 900;
  margin-bottom: 3px;
}

.admin-guest-page {
  color: #101F46;
}

.admin-guest-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-bottom: 22px;
}

.admin-guest-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
}

.admin-guest-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 350px;
}

.admin-guest-list,
.admin-guest-side {
  display: grid;
  gap: 18px;
}

.admin-guest-side {
  position: sticky;
  top: 22px;
}

.admin-guest-card {
  background: #ffffff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.06);
  padding: 22px;
}

.admin-guest-card-top {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.admin-guest-card h2 {
  color: #101F46;
  font-size: 30px;
  font-weight: 900;
  line-height: 1.08;
  margin: 12px 0 8px;
}

.admin-guest-card p {
  color: #667085;
  font-weight: 800;
  line-height: 1.5;
  margin: 0;
}

.admin-guest-value {
  background: #f6fbf6;
  flex: 0 0 170px;
  padding: 16px;
  text-align: center;
}

.admin-guest-value strong {
  color: #0e7a0b;
  display: block;
  font-size: 28px;
  font-weight: 900;
  line-height: 1;
}

.admin-guest-value span {
  color: #667085;
  display: block;
  font-size: 12px;
  font-weight: 900;
  margin-top: 8px;
  text-transform: uppercase;
}

.admin-guest-metrics {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  margin: 18px 0;
}

.admin-guest-metrics div {
  background: #f6f9fb;
  padding: 14px;
  text-align: center;
}

.admin-guest-metrics strong {
  color: #101F46;
  display: block;
  font-size: 20px;
  font-weight: 900;
  line-height: 1.15;
}

.admin-guest-metrics span {
  color: #667085;
  display: block;
  font-size: 11px;
  font-weight: 900;
  margin-top: 5px;
  text-transform: uppercase;
}

.admin-guest-history {
  border: 1px solid #e6edf0;
  padding: 18px;
}

.admin-guest-history h3 {
  color: #101F46;
  font-size: 19px;
  font-weight: 900;
  margin: 0 0 14px;
}

.admin-guest-history > div {
  background: #f6f9fb;
  display: grid;
  gap: 7px;
  margin-bottom: 10px;
  padding: 12px;
}

.admin-guest-history > div:last-child {
  margin-bottom: 0;
}

.admin-guest-history strong {
  color: #101F46;
  font-weight: 900;
}

.admin-guest-history small,
.admin-guest-history p {
  color: #667085;
  font-weight: 700;
  line-height: 1.45;
  margin: 0;
}

.admin-guest-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.admin-guest-top-list {
  display: grid;
  gap: 10px;
}

.admin-guest-top-list a {
  background: #f6f9fb;
  display: grid;
  gap: 3px;
  padding: 12px;
  text-decoration: none;
}

.admin-guest-top-list strong {
  color: #101F46;
  font-weight: 900;
}

.admin-guest-top-list span,
.admin-guest-top-list p {
  color: #667085;
  font-weight: 700;
  margin: 0;
}

.admin-reviews-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 24px 0;
}

.admin-reviews-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.5fr repeat(6, minmax(0, 1fr));
}

.admin-reviews-layout {
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: start;
}

.admin-reviews-list {
  display: grid;
  gap: 18px;
}

.admin-reviews-card {
  background: #fff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.08);
  padding: 22px;
}

.admin-reviews-card-top {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.admin-reviews-card-top h2 {
  color: #101F46;
  font-size: 24px;
  font-weight: 900;
  margin: 10px 0 6px;
}

.admin-reviews-card-top p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

.admin-reviews-rating {
  background: #f6f9fb;
  border-left: 4px solid #008000;
  min-width: 130px;
  padding: 14px;
  text-align: right;
}

.admin-reviews-rating strong {
  color: #ff9f2d;
  display: block;
  font-size: 18px;
  font-weight: 900;
  letter-spacing: 0;
}

.admin-reviews-rating span {
  color: #101F46;
  font-weight: 900;
}

.admin-reviews-context {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px 0;
}

.admin-reviews-context div {
  background: #f6f9fb;
  border: 1px solid #edf2f4;
  padding: 12px;
}

.admin-reviews-context span {
  color: #667085;
  display: block;
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.admin-reviews-context strong {
  color: #101F46;
  display: block;
  font-weight: 900;
  margin-top: 5px;
}

.admin-reviews-body {
  border: 1px solid #e6edf0;
  padding: 18px;
}

.admin-reviews-body p {
  color: #344054;
  font-weight: 700;
  line-height: 1.65;
  margin: 0;
}

.admin-reviews-reply {
  background: #f3fbf5;
  border-left: 4px solid #008000;
  display: grid;
  gap: 6px;
  margin-top: 14px;
  padding: 16px;
}

.admin-reviews-reply strong {
  color: #101F46;
  font-weight: 900;
}

.admin-reviews-reply p,
.admin-reviews-reply small {
  color: #667085;
  font-weight: 700;
  line-height: 1.5;
  margin: 0;
}

.admin-reviews-links {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 16px 0;
}

.admin-reviews-action-form {
  border-top: 1px solid #e6edf0;
  display: grid;
  gap: 12px;
  grid-template-columns: 180px minmax(220px, 1fr) minmax(220px, 1fr) auto;
  padding-top: 16px;
}

.admin-reviews-action-form .admin-action {
  align-self: end;
  height: 52px;
}

.admin-reviews-side {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 18px;
}

.admin-reviews-rating-bars {
  display: grid;
  gap: 12px;
}

.admin-reviews-rating-bars div {
  align-items: center;
  display: grid;
  gap: 9px;
  grid-template-columns: 50px 1fr 28px;
}

.admin-reviews-rating-bars span,
.admin-reviews-rating-bars strong {
  color: #101F46;
  font-weight: 900;
}

.admin-reviews-rating-bars i {
  background: #edf2f4;
  display: block;
  height: 12px;
}

.admin-reviews-rating-bars em {
  background: #008000;
  display: block;
  height: 100%;
}

.admin-reviews-audit-list {
  display: grid;
  gap: 10px;
}

.admin-reviews-audit-list div {
  background: #f6f9fb;
  display: grid;
  gap: 4px;
  padding: 12px;
}

.admin-reviews-audit-list strong {
  color: #101F46;
  font-weight: 900;
}

.admin-reviews-audit-list span,
.admin-reviews-audit-list small,
.admin-reviews-audit-list p {
  color: #667085;
  font-weight: 700;
  margin: 0;
}

.dashboard-alert {
  background: #fff3f3;
  border-left: 4px solid #b42318;
  color: #b42318;
  display: grid;
  gap: 4px;
  margin: 0 0 20px;
  padding: 14px 16px;
}

.dashboard-alert strong {
  font-weight: 900;
}

.dashboard-alert span {
  color: #7a271a;
  font-weight: 700;
}

.admin-message-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 24px 0;
}

.admin-message-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr));
}

.admin-message-layout {
  display: grid;
  gap: 20px;
  grid-template-columns: minmax(280px, 330px) minmax(0, 1fr) minmax(270px, 320px);
  align-items: start;
}

.admin-message-inbox,
.admin-message-main,
.admin-message-side {
  min-width: 0;
}

.admin-message-inbox,
.admin-message-detail,
.admin-message-side .admin-panel {
  background: #fff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.08);
  padding: 18px;
}

.admin-message-inbox {
  display: grid;
  gap: 12px;
  max-height: 980px;
  overflow: auto;
}

.admin-message-thread {
  border: 1px solid #e6edf0;
  color: inherit;
  display: grid;
  gap: 8px;
  padding: 14px;
  text-decoration: none;
}

.admin-message-thread:hover,
.admin-message-thread.is-active {
  background: #f3fbf5;
  border-color: #008000;
}

.admin-message-thread-top {
  align-items: center;
  display: flex;
  gap: 10px;
  justify-content: space-between;
}

.admin-message-thread-top strong,
.admin-message-detail-head h2,
.admin-message-context strong,
.admin-message-bubble strong,
.admin-message-signal-list strong,
.admin-message-audit strong {
  color: #101F46;
  font-weight: 900;
}

.admin-message-thread-top small,
.admin-message-property,
.admin-message-snippet,
.admin-message-detail-head p,
.admin-message-context span,
.admin-message-audit span,
.admin-message-audit small,
.admin-message-audit p {
  color: #667085;
  font-weight: 700;
}

.admin-message-property {
  font-weight: 900;
}

.admin-message-snippet {
  line-height: 1.5;
}

.admin-message-main,
.admin-message-side {
  display: grid;
  gap: 18px;
}

.admin-message-side {
  position: sticky;
  top: 18px;
}

.admin-message-detail {
  display: grid;
  gap: 18px;
  min-width: 0;
  overflow: hidden;
}

.admin-message-detail-head {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.admin-message-detail-head h2 {
  font-size: 28px;
  margin: 10px 0 6px;
}

.admin-message-detail-head p {
  margin: 0;
}

.admin-message-value {
  background: #f6f9fb;
  border-left: 4px solid #008000;
  flex: 0 0 150px;
  min-width: 0;
  padding: 14px;
  text-align: right;
}

.admin-message-value strong {
  color: #101F46;
  display: block;
  font-size: 26px;
  font-weight: 900;
}

.admin-message-value span {
  color: #667085;
  font-weight: 800;
}

.admin-message-context {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-message-context div {
  background: #f6f9fb;
  border: 1px solid #edf2f4;
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 12px;
}

.admin-message-context span {
  font-size: 12px;
  text-transform: uppercase;
}

.admin-message-context strong {
  overflow-wrap: anywhere;
}

.admin-message-bubble {
  background: #f3fbf5;
  border-left: 4px solid #008000;
  display: grid;
  gap: 8px;
  padding: 18px;
}

.admin-message-bubble p {
  color: #344054;
  font-size: 17px;
  font-weight: 700;
  line-height: 1.65;
  margin: 0;
}

.admin-message-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.admin-message-actions .btn,
.admin-message-actions .host-action {
  flex: 1 1 150px;
  justify-content: center;
  text-align: center;
  white-space: normal;
}

.admin-message-update-form {
  border-top: 1px solid #e6edf0;
  display: grid;
  gap: 12px;
  grid-template-columns: 190px minmax(0, 1fr) 190px;
  padding-top: 16px;
}

.admin-message-update-form .admin-action {
  align-self: end;
  height: 52px;
  min-width: 0;
  white-space: normal;
}

.admin-message-signal-list {
  display: grid;
  gap: 10px;
}

.admin-message-signal-list span {
  background: #f6f9fb;
  color: #667085;
  display: grid;
  font-weight: 800;
  gap: 4px;
  padding: 12px;
}

.admin-message-side-links,
.admin-message-audit {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}

.admin-message-audit div {
  background: #f6f9fb;
  display: grid;
  gap: 4px;
  padding: 12px;
}

.admin-safety-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 24px 0;
}

.admin-safety-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.4fr repeat(4, minmax(0, 1fr));
}

.admin-safety-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 340px;
}

.admin-safety-list {
  display: grid;
  gap: 18px;
}

.admin-safety-card {
  background: #fff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.08);
  padding: 22px;
}

.admin-safety-card-top {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.admin-safety-card h2 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin: 10px 0 6px;
}

.admin-safety-card p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

.admin-safety-score {
  background: #f6f9fb;
  border-left: 4px solid #008000;
  flex: 0 0 130px;
  padding: 14px;
  text-align: right;
}

.admin-safety-score strong {
  color: #101F46;
  display: block;
  font-size: 30px;
  font-weight: 900;
}

.admin-safety-score span {
  color: #667085;
  font-weight: 900;
}

.admin-safety-facts {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px 0;
}

.admin-safety-facts span {
  background: #f6f9fb;
  border: 1px solid #edf2f4;
  color: #667085;
  display: grid;
  font-weight: 800;
  gap: 5px;
  min-width: 0;
  padding: 12px;
}

.admin-safety-facts strong {
  color: #101F46;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.admin-safety-checklist {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-safety-checklist span {
  border: 1px solid #e6edf0;
  color: #344054;
  font-size: 13px;
  font-weight: 900;
  padding: 10px;
}

.admin-safety-checklist .is-passed {
  background: #f3fbf5;
  border-color: #cfead5;
  color: #008000;
}

.admin-safety-checklist .is-missing {
  background: #fff8ed;
  border-color: #ffe3b8;
  color: #a75b00;
}

.admin-safety-notes {
  background: #f6f9fb;
  border-left: 4px solid #101F46;
  display: grid;
  gap: 8px;
  margin-top: 16px;
  padding: 14px;
}

.admin-safety-notes p {
  color: #344054;
  font-weight: 700;
  line-height: 1.5;
}

.admin-safety-form {
  border-top: 1px solid #e6edf0;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 18px;
  padding-top: 18px;
}

.admin-safety-check-fields {
  border: 1px solid #e6edf0;
  display: grid;
  gap: 10px;
  grid-column: span 2;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding: 14px;
}

.admin-safety-check-fields label {
  color: #101F46;
  font-weight: 800;
}

.admin-safety-form textarea,
.admin-safety-actions {
  grid-column: span 2;
}

.admin-safety-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-safety-side {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 18px;
}

.admin-safety-guide,
.admin-safety-audit {
  display: grid;
  gap: 10px;
}

.admin-safety-guide span,
.admin-safety-audit div {
  background: #f6f9fb;
  color: #667085;
  display: grid;
  font-weight: 800;
  gap: 4px;
  padding: 12px;
}

.admin-safety-guide strong,
.admin-safety-audit strong {
  color: #101F46;
  font-weight: 900;
}

.admin-safety-audit span,
.admin-safety-audit small,
.admin-safety-audit p {
  color: #667085;
  font-weight: 700;
  margin: 0;
}

.admin-inspection-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 24px 0;
}

.admin-inspection-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.4fr repeat(6, minmax(0, 1fr));
}

.admin-inspection-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 340px;
}

.admin-inspection-list {
  display: grid;
  gap: 18px;
}

.admin-inspection-card {
  background: #fff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.08);
  padding: 22px;
}

.admin-inspection-card-top {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.admin-inspection-card h2 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin: 10px 0 6px;
}

.admin-inspection-card p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

.admin-inspection-score {
  background: #f6f9fb;
  border-left: 4px solid #008000;
  flex: 0 0 130px;
  padding: 14px;
  text-align: right;
}

.admin-inspection-score strong {
  color: #101F46;
  display: block;
  font-size: 30px;
  font-weight: 900;
}

.admin-inspection-score span {
  color: #667085;
  font-weight: 900;
}

.admin-inspection-facts {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px 0;
}

.admin-inspection-facts span {
  background: #f6f9fb;
  border: 1px solid #edf2f4;
  color: #667085;
  display: grid;
  font-weight: 800;
  gap: 5px;
  min-width: 0;
  padding: 12px;
}

.admin-inspection-facts strong {
  color: #101F46;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.admin-inspection-checklist {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.admin-inspection-checklist span {
  border: 1px solid #e6edf0;
  color: #344054;
  font-size: 13px;
  font-weight: 900;
  padding: 10px;
}

.admin-inspection-checklist .is-passed {
  background: #f3fbf5;
  border-color: #cfead5;
  color: #008000;
}

.admin-inspection-checklist .is-missing {
  background: #fff8ed;
  border-color: #ffe3b8;
  color: #a75b00;
}

.admin-inspection-notes {
  background: #f6f9fb;
  border-left: 4px solid #101F46;
  display: grid;
  gap: 8px;
  margin-top: 16px;
  padding: 14px;
}

.admin-inspection-notes p {
  color: #344054;
  font-weight: 700;
  line-height: 1.5;
}

.admin-inspection-form {
  border-top: 1px solid #e6edf0;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
  padding-top: 18px;
}

.admin-inspection-check-fields {
  border: 1px solid #e6edf0;
  display: grid;
  gap: 10px;
  grid-column: span 3;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: 14px;
}

.admin-inspection-check-fields label {
  color: #101F46;
  font-weight: 800;
}

.admin-inspection-form textarea,
.admin-inspection-actions {
  grid-column: span 3;
}

.admin-inspection-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-inspection-side {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 18px;
}

.admin-inspection-guide,
.admin-inspection-audit {
  display: grid;
  gap: 10px;
}

.admin-inspection-guide span,
.admin-inspection-audit div {
  background: #f6f9fb;
  color: #667085;
  display: grid;
  font-weight: 800;
  gap: 4px;
  padding: 12px;
}

.admin-inspection-guide strong,
.admin-inspection-audit strong {
  color: #101F46;
  font-weight: 900;
}

.admin-inspection-audit span,
.admin-inspection-audit small,
.admin-inspection-audit p {
  color: #667085;
  font-weight: 700;
  margin: 0;
}

.admin-availability-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 24px 0;
}

.admin-availability-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.3fr 1fr 1fr 1.4fr 0.8fr;
}

.admin-availability-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 340px;
}

.admin-availability-main {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.admin-availability-selected,
.admin-availability-calendar-card,
.admin-availability-tools .calendar-tool-card {
  background: #fff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.08);
}

.admin-availability-selected {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
  padding: 22px;
}

.admin-availability-selected h2 {
  color: #101F46;
  font-size: 28px;
  font-weight: 900;
  margin: 10px 0 6px;
}

.admin-availability-selected p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

.admin-availability-selected-stats {
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(2, minmax(90px, 1fr));
}

.admin-availability-selected-stats span {
  background: #f6f9fb;
  color: #667085;
  display: grid;
  font-weight: 800;
  gap: 3px;
  padding: 12px;
  text-align: center;
}

.admin-availability-selected-stats strong {
  color: #101F46;
  font-size: 22px;
  font-weight: 900;
}

.admin-availability-calendar-card {
  padding: 22px;
}

.admin-availability-rules-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-availability-rule-list {
  padding: 18px;
}

.admin-availability-rule-list h3 {
  color: #101F46;
  font-size: 20px;
  font-weight: 900;
  margin: 0 0 12px;
}

.admin-availability-rule-list > div {
  align-items: center;
  background: #f6f9fb;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  margin-bottom: 8px;
  padding: 10px;
}

.admin-availability-rule-list span,
.admin-availability-rule-list p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

.admin-availability-tools {
  display: grid;
  gap: 16px;
  position: sticky;
  top: 18px;
}

.admin-availability-tools .calendar-tool-card {
  padding: 18px;
}

.admin-promo-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 24px 0;
}

.admin-promo-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.4fr repeat(5, minmax(0, 1fr));
}

.admin-promo-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 340px;
}

.admin-promo-list,
.admin-promo-side {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.admin-promo-side {
  position: sticky;
  top: 18px;
}

.admin-promo-create,
.admin-promo-card {
  background: #fff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.08);
  padding: 22px;
}

.admin-promo-card-top {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.admin-promo-card h2 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin: 10px 0 6px;
}

.admin-promo-card p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

.admin-promo-value {
  background: #f6f9fb;
  border-left: 4px solid #008000;
  flex: 0 0 150px;
  padding: 14px;
  text-align: right;
}

.admin-promo-value strong {
  color: #101F46;
  display: block;
  font-size: 26px;
  font-weight: 900;
}

.admin-promo-value span {
  color: #667085;
  font-weight: 900;
}

.admin-promo-facts {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px 0;
}

.admin-promo-facts span {
  background: #f6f9fb;
  border: 1px solid #edf2f4;
  color: #667085;
  display: grid;
  font-weight: 800;
  gap: 5px;
  min-width: 0;
  padding: 12px;
}

.admin-promo-facts strong {
  color: #101F46;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.admin-promo-copy {
  background: #f3fbf5;
  border-left: 4px solid #008000;
  color: #344054;
  font-weight: 700;
  line-height: 1.55;
  margin-bottom: 16px;
  padding: 14px;
}

.admin-promo-form {
  border-top: 1px solid #e6edf0;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-top: 16px;
}

.admin-promo-create .admin-promo-form {
  border-top: 0;
  padding-top: 0;
}

.admin-promo-notes,
.admin-promo-actions {
  grid-column: span 4;
}

.admin-promo-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-promo-delete-form {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.admin-promo-offer-list,
.admin-promo-audit {
  display: grid;
  gap: 10px;
}

.admin-promo-offer-list a,
.admin-promo-audit div {
  background: #f6f9fb;
  color: inherit;
  display: grid;
  gap: 4px;
  padding: 12px;
  text-decoration: none;
}

.admin-promo-offer-list strong,
.admin-promo-audit strong {
  color: #101F46;
  font-weight: 900;
}

.admin-promo-offer-list span,
.admin-promo-offer-list small,
.admin-promo-offer-list p,
.admin-promo-audit span,
.admin-promo-audit small,
.admin-promo-audit p {
  color: #667085;
  font-weight: 700;
  margin: 0;
}

.admin-support-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 24px 0;
}

.admin-support-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.5fr repeat(4, minmax(0, 1fr));
}

.admin-support-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 340px;
}

.admin-support-list,
.admin-support-side {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.admin-support-side {
  position: sticky;
  top: 18px;
}

.admin-support-create,
.admin-support-card {
  background: #fff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.08);
  padding: 22px;
}

.admin-support-card-top {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.admin-support-card h2 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin: 10px 0 6px;
}

.admin-support-card p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

.admin-support-value {
  background: #f6f9fb;
  border-left: 4px solid #008000;
  flex: 0 0 130px;
  padding: 14px;
  text-align: right;
}

.admin-support-value strong {
  color: #101F46;
  display: block;
  font-size: 26px;
  font-weight: 900;
}

.admin-support-value span {
  color: #667085;
  font-weight: 900;
}

.admin-support-facts {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px 0;
}

.admin-support-facts span {
  background: #f6f9fb;
  border: 1px solid #edf2f4;
  color: #667085;
  display: grid;
  font-weight: 800;
  gap: 5px;
  min-width: 0;
  padding: 12px;
}

.admin-support-facts strong {
  color: #101F46;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.admin-support-description,
.admin-support-resolution {
  background: #f6f9fb;
  color: #344054;
  font-weight: 700;
  line-height: 1.55;
  margin-bottom: 16px;
  padding: 14px;
}

.admin-support-resolution {
  background: #f3fbf5;
  border-left: 4px solid #008000;
}

.admin-support-resolution strong {
  color: #101F46;
  font-weight: 900;
}

.admin-support-form {
  border-top: 1px solid #e6edf0;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  padding-top: 16px;
}

.admin-support-create .admin-support-form {
  border-top: 0;
  padding-top: 0;
}

.admin-support-wide,
.admin-support-actions {
  grid-column: span 3;
}

.admin-support-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-support-audit {
  display: grid;
  gap: 10px;
}

.admin-support-audit div {
  background: #f6f9fb;
  display: grid;
  gap: 4px;
  padding: 12px;
}

.admin-support-audit strong {
  color: #101F46;
  font-weight: 900;
}

.admin-support-audit span,
.admin-support-audit small,
.admin-support-audit p {
  color: #667085;
  font-weight: 700;
  margin: 0;
}

.admin-blog-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 24px 0;
}

.admin-blog-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr));
}

.admin-blog-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 340px;
}

.admin-blog-list,
.admin-blog-side {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.admin-blog-side {
  position: sticky;
  top: 18px;
}

.admin-blog-create,
.admin-blog-card {
  background: #fff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.08);
  padding: 22px;
}

.admin-blog-card-top {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.admin-blog-card h2,
.admin-blog-create h2 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin: 10px 0 6px;
}

.admin-blog-card p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

.admin-blog-value {
  background: #f6f9fb;
  border-left: 4px solid #008000;
  flex: 0 0 140px;
  padding: 14px;
  text-align: right;
}

.admin-blog-value strong {
  color: #101F46;
  display: block;
  font-size: 26px;
  font-weight: 900;
}

.admin-blog-value span {
  color: #667085;
  font-weight: 900;
}

.admin-blog-facts {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px 0;
}

.admin-blog-facts span {
  background: #f6f9fb;
  border: 1px solid #edf2f4;
  color: #667085;
  display: grid;
  font-weight: 800;
  gap: 5px;
  min-width: 0;
  padding: 12px;
}

.admin-blog-facts strong {
  color: #101F46;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.admin-blog-excerpt {
  background: #f3fbf5;
  border-left: 4px solid #008000;
  color: #344054;
  font-weight: 700;
  line-height: 1.55;
  margin-bottom: 16px;
  padding: 14px;
}

.admin-blog-form {
  border-top: 1px solid #e6edf0;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-top: 16px;
}

.admin-blog-create .admin-blog-form {
  border-top: 0;
  padding-top: 0;
}

.admin-blog-wide,
.admin-blog-actions {
  grid-column: span 4;
}

.admin-blog-checkbox {
  align-items: center;
  background: #f6f9fb;
  color: #101F46;
  display: flex;
  font-weight: 800;
  gap: 8px;
  padding: 13px 14px;
}

.admin-blog-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-blog-delete-form {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.admin-blog-published-list,
.admin-blog-audit {
  display: grid;
  gap: 10px;
}

.admin-blog-published-list a,
.admin-blog-audit div {
  background: #f6f9fb;
  color: inherit;
  display: grid;
  gap: 4px;
  padding: 12px;
  text-decoration: none;
}

.admin-blog-published-list strong,
.admin-blog-audit strong {
  color: #101F46;
  font-weight: 900;
}

.admin-blog-published-list span,
.admin-blog-published-list small,
.admin-blog-published-list p,
.admin-blog-audit span,
.admin-blog-audit small,
.admin-blog-audit p {
  color: #667085;
  font-weight: 700;
  margin: 0;
}

.blog-public-page {
  min-height: 58vh;
}

.blog-public-article {
  background: #fff;
  border: 1px solid #e6edf0;
  box-shadow: 0 20px 60px rgba(16, 31, 70, 0.08);
  padding: 42px;
}

.blog-public-article h1 {
  color: #101F46;
  font-size: clamp(34px, 5vw, 58px);
  font-weight: 900;
  letter-spacing: 0;
  line-height: 1.05;
  margin: 6px 0 14px;
}

.blog-public-meta {
  color: #667085;
  display: flex;
  flex-wrap: wrap;
  font-weight: 800;
  gap: 10px 18px;
  margin-bottom: 24px;
}

.blog-public-cover {
  margin: 0 0 26px;
}

.blog-public-cover img {
  aspect-ratio: 16 / 8;
  display: block;
  height: auto;
  object-fit: cover;
  width: 100%;
}

.blog-public-excerpt {
  border-left: 4px solid #008000;
  color: #344054;
  font-size: 19px;
  font-weight: 800;
  line-height: 1.6;
  margin: 0 0 28px;
  padding-left: 18px;
}

.blog-public-body {
  color: #344054;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.8;
}

.admin-email-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 24px 0;
}

.admin-email-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr));
}

.admin-email-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 360px;
}

.admin-email-list,
.admin-email-side {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.admin-email-side {
  position: sticky;
  top: 18px;
}

.admin-email-create,
.admin-email-card {
  background: #fff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.08);
  padding: 22px;
}

.admin-email-card-top {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.admin-email-card h2,
.admin-email-create h2 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin: 10px 0 6px;
}

.admin-email-card p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

.admin-email-value {
  background: #f6f9fb;
  border-left: 4px solid #008000;
  flex: 0 0 140px;
  padding: 14px;
  text-align: right;
}

.admin-email-value strong {
  color: #101F46;
  display: block;
  font-size: 26px;
  font-weight: 900;
}

.admin-email-value span {
  color: #667085;
  font-weight: 900;
}

.admin-email-facts {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 18px 0;
}

.admin-email-facts span {
  background: #f6f9fb;
  border: 1px solid #edf2f4;
  color: #667085;
  display: grid;
  font-weight: 800;
  gap: 5px;
  min-width: 0;
  padding: 12px;
}

.admin-email-facts strong {
  color: #101F46;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.admin-email-copy,
.admin-email-failure {
  background: #f6f9fb;
  color: #344054;
  font-weight: 700;
  line-height: 1.55;
  margin-bottom: 16px;
  padding: 14px;
}

.admin-email-failure {
  background: #fff1f1;
  border-left: 4px solid #c90000;
}

.admin-email-failure strong,
.admin-email-failure span {
  display: block;
}

.admin-email-failure strong {
  color: #101F46;
  font-weight: 900;
}

.admin-email-form {
  border-top: 1px solid #e6edf0;
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding-top: 16px;
}

.admin-email-create .admin-email-form {
  border-top: 0;
  padding-top: 0;
}

.admin-email-wide,
.admin-email-actions {
  grid-column: span 4;
}

.admin-email-checkbox {
  align-items: center;
  background: #f6f9fb;
  color: #101F46;
  display: flex;
  font-weight: 800;
  gap: 8px;
  padding: 13px 14px;
}

.admin-email-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-email-recipient-list {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-email-recipient-list div {
  background: #f6f9fb;
  border-left: 4px solid #008000;
  padding: 12px;
}

.admin-email-recipient-list strong {
  color: #101F46;
  display: block;
  font-size: 24px;
  font-weight: 900;
}

.admin-email-recipient-list span {
  color: #667085;
  font-weight: 900;
}

.admin-email-template-list,
.admin-email-audit {
  display: grid;
  gap: 10px;
}

.admin-email-template-list details,
.admin-email-audit div {
  background: #f6f9fb;
  padding: 12px;
}

.admin-email-template-list summary {
  cursor: pointer;
  display: grid;
  gap: 4px;
}

.admin-email-template-list strong,
.admin-email-audit strong {
  color: #101F46;
  font-weight: 900;
}

.admin-email-template-list span,
.admin-email-template-list p,
.admin-email-audit span,
.admin-email-audit small,
.admin-email-audit p {
  color: #667085;
  font-weight: 700;
  margin: 0;
}

.admin-email-mini-form {
  display: grid;
  gap: 10px;
  margin-top: 12px;
}

.admin-email-delete-form {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.admin-notification-stat-grid {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin: 24px 0;
}

.admin-notification-filter-grid {
  display: grid;
  gap: 14px;
  grid-template-columns: 1.5fr repeat(3, minmax(0, 1fr));
}

.admin-notification-layout {
  align-items: start;
  display: grid;
  gap: 24px;
  grid-template-columns: minmax(0, 1fr) 340px;
}

.admin-notification-main,
.admin-notification-side {
  display: grid;
  gap: 18px;
  min-width: 0;
}

.admin-notification-side {
  position: sticky;
  top: 18px;
}

.admin-notification-create,
.admin-notification-card {
  background: #fff;
  border: 1px solid #e6edf0;
  box-shadow: 0 18px 45px rgba(16, 31, 70, 0.08);
  padding: 22px;
}

.admin-notification-card-top {
  align-items: flex-start;
  display: flex;
  gap: 18px;
  justify-content: space-between;
}

.admin-notification-card h2,
.admin-notification-create h2 {
  color: #101F46;
  font-size: 26px;
  font-weight: 900;
  margin: 10px 0 6px;
}

.admin-notification-card p {
  color: #667085;
  font-weight: 800;
  margin: 0;
}

.admin-notification-value {
  background: #f6f9fb;
  border-left: 4px solid #008000;
  flex: 0 0 140px;
  padding: 14px;
  text-align: right;
}

.admin-notification-value strong {
  color: #101F46;
  display: block;
  font-size: 26px;
  font-weight: 900;
}

.admin-notification-value span {
  color: #667085;
  font-weight: 900;
}

.admin-notification-copy {
  background: #f3fbf5;
  border-left: 4px solid #008000;
  color: #344054;
  font-weight: 700;
  line-height: 1.55;
  margin: 18px 0;
  padding: 14px;
}

.admin-notification-facts {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  margin-bottom: 16px;
}

.admin-notification-facts span {
  background: #f6f9fb;
  border: 1px solid #edf2f4;
  color: #667085;
  display: grid;
  font-weight: 800;
  gap: 5px;
  min-width: 0;
  padding: 12px;
}

.admin-notification-facts strong {
  color: #101F46;
  font-weight: 900;
  overflow-wrap: anywhere;
}

.admin-notification-form,
.admin-notification-update-form {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-notification-wide,
.admin-notification-actions {
  grid-column: span 3;
}

.admin-notification-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.admin-notification-delete-form {
  display: flex;
  justify-content: flex-end;
  margin-top: 10px;
}

.admin-notification-audit {
  display: grid;
  gap: 10px;
}

.admin-notification-audit div {
  background: #f6f9fb;
  display: grid;
  gap: 4px;
  padding: 12px;
}

.admin-notification-audit strong {
  color: #101F46;
  font-weight: 900;
}

.admin-notification-audit span,
.admin-notification-audit small,
.admin-notification-audit p {
  color: #667085;
  font-weight: 700;
  margin: 0;
}

@media screen and (max-width: 1500px) {
  .host-dashboard-page {
    grid-template-columns: 230px minmax(0, 1fr);
  }

  section[class*="admin-"][class*="-page"] {
    grid-template-columns: 240px minmax(0, 1fr);
  }

  .admin-approval-stat-grid,
  .admin-owner-stat-grid,
  .admin-booking-stat-grid,
  .admin-revenue-stat-grid,
  .admin-guest-stat-grid,
  .admin-reviews-stat-grid,
  .admin-message-stat-grid,
  .admin-safety-stat-grid,
  .admin-inspection-stat-grid,
  .admin-availability-stat-grid,
  .admin-promo-stat-grid,
  .admin-support-stat-grid,
  .admin-blog-stat-grid,
  .admin-email-stat-grid,
  .admin-notification-stat-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-approval-filter-grid,
  .admin-owner-filter-grid,
  .admin-booking-filter-grid,
  .admin-revenue-filter-grid,
  .admin-payout-filter-grid,
  .admin-guest-filter-grid,
  .admin-reviews-filter-grid,
  .admin-message-filter-grid,
  .admin-safety-filter-grid,
  .admin-inspection-filter-grid,
  .admin-availability-filter-grid,
  .admin-promo-filter-grid,
  .admin-support-filter-grid,
  .admin-blog-filter-grid,
  .admin-email-filter-grid,
  .admin-notification-filter-grid,
  .admin-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-module-stat-grid,
  .admin-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 980px) {
  .host-dashboard-page,
  section[class*="admin-"][class*="-page"] {
    display: block;
    max-width: none !important;
    width: auto;
  }

  .host-dashboard-page > .dashboard-confirmation,
  .host-dashboard-page > .dashboard-alert,
  .host-dashboard-page > .host-dashboard-hero,
  .host-dashboard-page > :not(.dashboard-confirmation):not(.dashboard-alert):not(.host-dashboard-hero):not(.host-dashboard-tabs),
  section[class*="admin-"][class*="-page"] > .admin-section-nav,
  section[class*="admin-"][class*="-page"] > .admin-module-hero,
  section[class*="admin-"][class*="-page"] > :not(.admin-section-nav):not(.admin-module-hero) {
    grid-column: auto;
    grid-row: auto;
  }

  .host-dashboard-page > .host-dashboard-tabs,
  .admin-section-nav {
    display: flex;
    gap: 8px;
    margin-bottom: 20px;
    max-height: none;
    overflow-x: auto;
    padding: 10px;
    position: static;
  }

  .host-dashboard-tabs .dashboard-sidebar-title,
  .admin-section-nav .dashboard-sidebar-title {
    display: none;
  }

  .host-dashboard-tabs a,
  .admin-section-nav a {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

@media screen and (max-width: 1199px) {
  .admin-module-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-approval-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-owner-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-booking-stat-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-revenue-stat-grid,
  .admin-revenue-filter-grid,
  .admin-payout-stat-grid,
  .admin-payout-filter-grid,
  .admin-guest-stat-grid,
  .admin-guest-filter-grid,
  .admin-reviews-stat-grid,
  .admin-reviews-filter-grid,
  .admin-message-stat-grid,
  .admin-message-filter-grid,
  .admin-safety-stat-grid,
  .admin-safety-filter-grid,
  .admin-inspection-stat-grid,
  .admin-inspection-filter-grid,
  .admin-availability-stat-grid,
  .admin-availability-filter-grid,
  .admin-promo-stat-grid,
  .admin-promo-filter-grid,
  .admin-support-stat-grid,
  .admin-support-filter-grid,
  .admin-blog-stat-grid,
  .admin-blog-filter-grid,
  .admin-email-stat-grid,
  .admin-email-filter-grid,
  .admin-notification-stat-grid,
  .admin-notification-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-owner-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-booking-filter-grid,
  .admin-booking-layout {
    grid-template-columns: 1fr;
  }

  .admin-approval-layout {
    grid-template-columns: 1fr;
  }

  .admin-approval-side {
    position: static;
  }

  .admin-approval-facts {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-approval-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-owner-card-main,
  .admin-owner-content-grid,
  .admin-owner-edit-grid {
    grid-template-columns: 1fr;
  }

  .admin-owner-card-main {
    flex-direction: column;
  }

  .admin-owner-package {
    flex-basis: auto;
    width: 100%;
  }

  .admin-owner-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .admin-booking-side {
    position: static;
  }

  .admin-revenue-layout,
  .admin-revenue-breakdown-grid,
  .admin-payout-layout,
  .admin-guest-layout,
  .admin-reviews-layout,
  .admin-message-layout,
  .admin-safety-layout,
  .admin-inspection-layout,
  .admin-availability-layout,
  .admin-promo-layout,
  .admin-support-layout,
  .admin-blog-layout,
  .admin-email-layout,
  .admin-notification-layout {
    grid-template-columns: 1fr;
  }

  .admin-payout-side {
    position: static;
  }

  .admin-guest-side {
    position: static;
  }

  .admin-reviews-side {
    position: static;
  }

  .admin-message-side {
    position: static;
  }

  .admin-safety-side {
    position: static;
  }

  .admin-inspection-side {
    position: static;
  }

  .admin-availability-tools {
    position: static;
  }

  .admin-promo-side {
    position: static;
  }

  .admin-support-side {
    position: static;
  }

  .admin-blog-side {
    position: static;
  }

  .admin-email-side {
    position: static;
  }

  .admin-notification-side {
    position: static;
  }

  .admin-payout-ready-card,
  .admin-payout-create-form,
  .admin-payout-status-form {
    grid-template-columns: 1fr;
  }

  .admin-booking-action-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-reviews-action-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-message-update-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-safety-checklist,
  .admin-safety-check-fields,
  .admin-inspection-checklist,
  .admin-inspection-check-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-inspection-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-inspection-check-fields,
  .admin-inspection-form textarea,
  .admin-inspection-actions {
    grid-column: span 2;
  }

  .admin-booking-action-form .admin-booking-note,
  .admin-reviews-action-form .admin-reviews-reply-field,
  .admin-reviews-action-form .admin-reviews-note-field,
  .admin-message-update-form .admin-message-note {
    grid-column: span 2;
  }

  .admin-support-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-support-wide,
  .admin-support-actions {
    grid-column: span 2;
  }

  .admin-blog-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-blog-wide,
  .admin-blog-actions {
    grid-column: span 2;
  }

  .admin-email-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-email-wide,
  .admin-email-actions {
    grid-column: span 2;
  }

  .admin-notification-form,
  .admin-notification-update-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .admin-notification-wide,
  .admin-notification-actions {
    grid-column: span 2;
  }
}

@media screen and (max-width: 767px) {
  .admin-module-hero {
    align-items: stretch;
    flex-direction: column;
    padding: 22px;
  }

  .admin-module-actions {
    flex-direction: column;
  }

  .admin-module-actions .btn {
    width: 100%;
  }

  .admin-module-stat-grid {
    grid-template-columns: 1fr;
  }

  .admin-section-nav {
    margin-bottom: 20px;
  }

  .admin-approval-stat-grid,
  .admin-approval-filter-grid,
  .admin-approval-pipeline,
  .admin-approval-facts,
  .admin-approval-actions,
  .admin-approval-reject-inline,
  .admin-owner-stat-grid,
  .admin-owner-filter-grid,
  .admin-owner-metrics,
  .admin-owner-content-grid,
  .admin-owner-detail-grid,
  .admin-owner-edit-grid,
  .admin-booking-stat-grid,
  .admin-booking-filter-grid,
  .admin-booking-facts,
  .admin-booking-action-form,
  .admin-revenue-stat-grid,
  .admin-revenue-filter-grid,
  .admin-revenue-balance-grid,
  .admin-payout-stat-grid,
  .admin-payout-filter-grid,
  .admin-payout-meta,
  .admin-guest-stat-grid,
  .admin-guest-filter-grid,
  .admin-guest-metrics,
  .admin-reviews-stat-grid,
  .admin-reviews-filter-grid,
  .admin-reviews-context,
  .admin-reviews-action-form,
  .admin-message-stat-grid,
  .admin-message-filter-grid,
  .admin-message-context,
  .admin-message-update-form,
  .admin-safety-stat-grid,
  .admin-safety-filter-grid,
  .admin-safety-facts,
  .admin-safety-checklist,
  .admin-safety-form,
  .admin-safety-check-fields,
  .admin-inspection-stat-grid,
  .admin-inspection-filter-grid,
  .admin-inspection-facts,
  .admin-inspection-checklist,
  .admin-inspection-form,
  .admin-inspection-check-fields,
  .admin-availability-stat-grid,
  .admin-availability-filter-grid,
  .admin-availability-rules-grid,
  .admin-promo-stat-grid,
  .admin-promo-filter-grid,
  .admin-promo-facts,
  .admin-support-stat-grid,
  .admin-support-filter-grid,
  .admin-support-facts,
  .admin-support-form,
  .admin-blog-stat-grid,
  .admin-blog-filter-grid,
  .admin-blog-facts,
  .admin-blog-form,
  .admin-email-stat-grid,
  .admin-email-filter-grid,
  .admin-email-facts,
  .admin-email-form,
  .admin-email-recipient-list,
  .admin-notification-stat-grid,
  .admin-notification-filter-grid,
  .admin-notification-facts,
  .admin-notification-form,
  .admin-notification-update-form {
    grid-template-columns: 1fr;
  }

  .admin-promo-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .payment-gate-shell {
    grid-template-columns: 1fr;
  }

  .payment-payfast-card {
    position: static;
  }

  .admin-promo-notes,
  .admin-promo-actions {
    grid-column: span 2;
  }

  .admin-reviews-card-top {
    flex-direction: column;
  }

  .admin-reviews-rating {
    min-width: 0;
    text-align: left;
    width: 100%;
  }

  .admin-message-detail-head {
    flex-direction: column;
  }

  .admin-message-value {
    min-width: 0;
    text-align: left;
    width: 100%;
  }

  .admin-safety-card-top {
    flex-direction: column;
  }

  .admin-safety-score {
    flex-basis: auto;
    text-align: left;
    width: 100%;
  }

  .admin-safety-check-fields,
  .admin-safety-form textarea,
  .admin-safety-actions {
    grid-column: auto;
  }

  .admin-inspection-card-top {
    flex-direction: column;
  }

  .admin-inspection-score {
    flex-basis: auto;
    text-align: left;
    width: 100%;
  }

  .admin-inspection-check-fields,
  .admin-inspection-form textarea,
  .admin-inspection-actions {
    grid-column: auto;
  }

  .admin-availability-selected {
    flex-direction: column;
  }

  .admin-availability-selected-stats {
    grid-template-columns: 1fr;
    width: 100%;
  }

  .admin-promo-card-top {
    flex-direction: column;
  }

  .admin-promo-value {
    flex-basis: auto;
    text-align: left;
    width: 100%;
  }

  .admin-promo-form {
    grid-template-columns: 1fr;
  }

  .admin-promo-notes,
  .admin-promo-actions {
    grid-column: auto;
  }

  .admin-support-card-top {
    flex-direction: column;
  }

  .admin-support-value {
    flex-basis: auto;
    text-align: left;
    width: 100%;
  }

  .admin-support-wide,
  .admin-support-actions {
    grid-column: auto;
  }

  .admin-blog-card-top {
    flex-direction: column;
  }

  .admin-blog-value {
    flex-basis: auto;
    text-align: left;
    width: 100%;
  }

  .admin-blog-wide,
  .admin-blog-actions {
    grid-column: auto;
  }

  .blog-public-article {
    padding: 24px;
  }

  .admin-email-card-top {
    flex-direction: column;
  }

  .admin-email-value {
    flex-basis: auto;
    text-align: left;
    width: 100%;
  }

  .admin-email-wide,
  .admin-email-actions {
    grid-column: auto;
  }

  .admin-notification-card-top {
    flex-direction: column;
  }

  .admin-notification-value {
    flex-basis: auto;
    text-align: left;
    width: 100%;
  }

  .admin-notification-wide,
  .admin-notification-actions {
    grid-column: auto;
  }

  .admin-payout-batch-head {
    flex-direction: column;
  }

  .admin-guest-card-top {
    flex-direction: column;
  }

  .admin-guest-value {
    flex-basis: auto;
    width: 100%;
  }

  .admin-booking-card-top {
    flex-direction: column;
  }

  .admin-booking-value {
    flex-basis: auto;
    width: 100%;
  }

  .admin-booking-action-form .admin-booking-note,
  .admin-reviews-action-form .admin-reviews-reply-field,
  .admin-reviews-action-form .admin-reviews-note-field,
  .admin-message-update-form .admin-message-note {
    grid-column: auto;
  }

  .admin-approval-card-top {
    flex-direction: column;
  }

  .admin-approval-score {
    width: 100%;
  }
}
