:root {
  color-scheme: light;
  font-family: "Segoe UI", Tahoma, Arial, sans-serif;
  --ink: #12323a;
  --muted: #667980;
  --line: #d8e3e2;
  --sea: #0b4f61;
  --sea-soft: #d8f1ef;
  --sand: #efe5cf;
  --foam: #f7fbfa;
  --gold: #c9a24b;
  --white: #ffffff;
  --danger: #a24335;
  --shadow: 0 22px 60px rgba(18, 50, 58, 0.12);
}

* {
  box-sizing: border-box;
}

body {
  margin: 0;
  min-height: 100vh;
  background: linear-gradient(135deg, #f7fbfa 0%, #e8f4f2 45%, #efe5cf 100%);
  color: var(--ink);
}

button,
input,
select,
textarea {
  font: inherit;
}

button,
select,
input[type="checkbox"],
input[type="radio"] {
  touch-action: manipulation;
}

button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
a:focus-visible {
  outline: 3px solid rgba(201, 162, 75, 0.72);
  outline-offset: 3px;
}

button:disabled,
input:disabled,
select:disabled {
  cursor: not-allowed;
  opacity: 0.58;
  box-shadow: none;
}

.shell {
  display: grid;
  grid-template-columns: 310px minmax(0, 1fr);
  min-height: 100vh;
}

.shell.public-experience {
  grid-template-columns: minmax(0, 1fr);
}

.managed-stay-line {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.managed-stay-line em,
.contracted-stay-badge {
  width: fit-content;
  border-radius: 999px;
  background: #dff3eb;
  color: #08735f;
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 800;
  padding: 6px 10px;
}

.contracted-stay-badge {
  margin-block: 10px 4px;
}

.renty-club {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(190px, 0.7fr) minmax(280px, 1.1fr) minmax(420px, 1.7fr);
  align-items: center;
  gap: 24px;
  padding: 28px;
  border: 1px solid rgba(201, 162, 75, 0.42);
  border-radius: 14px;
  background: linear-gradient(120deg, #073e4d 0%, #0b5968 48%, #efe5cf 48%, #fbf7ed 100%);
  box-shadow: var(--shadow);
}

.renty-club-brand { color: #fff; display: grid; justify-items: start; }
.renty-club-brand span { font-size: 0.86rem; letter-spacing: 0.12em; text-transform: uppercase; }
.renty-club-brand strong { font-size: clamp(1.7rem, 3vw, 2.8rem); line-height: 1; }
.renty-club-brand i { color: #e6c36f; font-size: 1.5rem; font-style: normal; margin-top: 12px; }
.renty-club-copy h2 { margin: 5px 0 8px; font-size: clamp(1.35rem, 2.2vw, 2rem); }
.renty-club-copy p { margin: 0; color: var(--muted); line-height: 1.75; }
.renty-club-steps { display: grid; gap: 10px; }
.renty-club-steps article { display: grid; grid-template-columns: 36px 1fr; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 10px; background: rgba(255,255,255,.72); }
.renty-club-steps b { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--sea); color: #fff; }
.renty-club-steps div { display: grid; gap: 2px; }
.renty-club-steps span { color: var(--muted); font-size: .84rem; }
.renty-club-scope { grid-column: 2 / -1; color: #715d30; border-inline-start: 3px solid var(--gold); padding-inline-start: 10px; }
.renty-club.compact { grid-template-columns: minmax(170px,.6fr) minmax(260px,1fr) minmax(380px,1.5fr); padding: 22px; }

.security-evidence-summary { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.security-evidence-summary strong,
.security-evidence-summary span { padding: 7px 10px; border-radius: 999px; background: #edf7f4; color: #126959; font-size: .78rem; }
.security-evidence-form { margin-top: 14px; padding: 16px; border: 1px solid #b9d9d4; border-radius: 10px; background: #f7fbfa; display: grid; gap: 12px; }
.security-evidence-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.security-evidence-head button { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--line); background: #fff; cursor: pointer; }
.security-evidence-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
.security-evidence-form label { display: grid; gap: 6px; color: var(--muted); font-size: .82rem; }
.security-evidence-form input,
.security-evidence-form select,
.security-evidence-form textarea { width: 100%; border: 1px solid #cbdedb; border-radius: 7px; background: #fff; padding: 10px; color: var(--ink); }
.security-evidence-form textarea { min-height: 76px; resize: vertical; }
.security-evidence-form > small { color: #876b2d; line-height: 1.65; }
.security-evidence-form > button { justify-self: start; padding: 10px 16px; }
.security-manifest-page { display:grid; gap:18px; padding:24px; border:1px solid #cfe0de; border-radius:14px; background:#fff; }
.security-manifest-page > header { display:flex; justify-content:space-between; gap:18px; align-items:start; }
.security-manifest-page > header h2 { margin:6px 0; }
.security-manifest-page form { display:grid; gap:16px; }
.security-manifest-person-list { display:grid; gap:12px; }
.security-manifest-person-list fieldset { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)) auto; gap:12px; align-items:end; padding:16px; border:1px solid #d6e4e2; border-radius:10px; background:#f7fbfa; }
.security-manifest-person-list legend { padding:0 8px; color:#075c6d; font-weight:800; }
.security-manifest-person-list label { display:grid; gap:6px; color:var(--muted); font-size:.82rem; }
.security-manifest-person-list input { width:100%; padding:10px; border:1px solid #cbdedb; border-radius:7px; background:#fff; }
.manifest-person-status { align-self:center; padding:7px 10px; border-radius:999px; background:#fff0c8; color:#8b5c00; font-style:normal; white-space:nowrap; }
.manifest-person-status.approved { background:#dff4ec; color:#086b5b; }.manifest-person-status.rejected,.manifest-person-status.mismatch { background:#fde8e3; color:#ad3f31; }
.security-reconciliation { display:grid; gap:8px; padding-top:16px; border-top:1px solid #d6e4e2; }
.security-reconciliation > div { display:grid; grid-template-columns:1fr 1fr auto; gap:12px; padding:10px; border-radius:8px; background:#eef7f5; }
.security-reconciliation > div.unmatched { background:#fff1ed; color:#a33a2e; }
@media (max-width:900px){.security-manifest-person-list fieldset{grid-template-columns:1fr 1fr}.security-manifest-page>header{display:grid}}

@media (max-width: 1050px) {
  .renty-club,
  .renty-club.compact { grid-template-columns: 1fr; background: linear-gradient(180deg, #073e4d 0 150px, #fbf7ed 150px); }
  .renty-club-scope { grid-column: 1; }
}

@media (max-width: 680px) {
  .security-evidence-grid { grid-template-columns: 1fr; }
}

.sidebar {
  position: sticky;
  top: 0;
  align-self: start;
  height: 100vh;
  height: 100dvh;
  overflow-y: auto;
  overscroll-behavior: contain;
  scrollbar-width: thin;
  scrollbar-color: rgba(11, 79, 97, 0.35) transparent;
  background: linear-gradient(180deg, rgba(255,255,255,0.94), rgba(247,251,250,0.86));
  border-inline-end: 1px solid var(--line);
  padding: 26px 18px;
  display: flex;
  flex-direction: column;
  gap: 22px;
  backdrop-filter: blur(16px);
  min-width: 0;
}

.brand-lockup img {
  width: 190px;
  height: auto;
  display: block;
}

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

.nav-item {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  width: 100%;
  border: 1px solid transparent;
  background: rgba(255,255,255,0.62);
  color: var(--muted);
  text-align: start;
  padding: 10px;
  border-radius: 8px;
  cursor: pointer;
}

.nav-item.active,
.nav-item:hover {
  background: var(--sea);
  color: var(--white);
  box-shadow: 0 14px 30px rgba(11, 79, 97, 0.2);
}

.session-card,
.panel,
.metric,
.hero-panel {
  background: rgba(255, 255, 255, 0.88);
  border: 1px solid rgba(216, 227, 226, 0.9);
  border-radius: 8px;
  box-shadow: var(--shadow);
}

.session-card {
  margin-top: auto;
  padding: 16px;
  display: grid;
  gap: 5px;
}

.session-card small,
.session-card span,
.eyebrow,
.metric small,
.milestone p,
.topbar p,
.hero-copy p {
  color: var(--muted);
}

.workspace {
  padding: 30px;
  display: grid;
  gap: 22px;
  min-width: 0;
}

.session-sign-out {
  margin-top: 9px;
  width: 100%;
  padding: 10px 12px;
  border: 1px solid rgba(162, 67, 53, 0.32);
  border-radius: 8px;
  background: #fff4f1;
  color: var(--danger);
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}

.session-sign-out:hover {
  background: var(--danger);
  color: var(--white);
}

.sidebar::-webkit-scrollbar { width: 7px; }
.sidebar::-webkit-scrollbar-track { background: transparent; }
.sidebar::-webkit-scrollbar-thumb { border-radius: 999px; background: rgba(11, 79, 97, 0.28); }
.sidebar::-webkit-scrollbar-thumb:hover { background: rgba(11, 79, 97, 0.46); }

.page-slice,
.panel,
.content-grid {
  min-width: 0;
}

.topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.topbar-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}

.topbar h1,
.hero-copy h2 {
  margin: 6px 0;
  font-size: clamp(30px, 4vw, 52px);
  line-height: 1.04;
  letter-spacing: 0;
}

.topbar p,
.hero-copy p {
  margin: 0;
  max-width: 720px;
}

.eyebrow {
  text-transform: uppercase;
  font-size: 12px;
  font-weight: 700;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  white-space: nowrap;
  color: var(--sea);
  background: var(--sea-soft);
  border: 1px solid #b9ddda;
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 700;
}

.status-pill span {
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #2f9c7f;
}

.language-toggle {
  border: 1px solid var(--line);
  background: var(--white);
  color: var(--sea);
  border-radius: 999px;
  padding: 10px 14px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 10px 24px rgba(18, 50, 58, 0.08);
}

.language-toggle:hover {
  background: var(--sea-soft);
}

.hero-panel {
  min-height: 220px;
  padding: 26px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 180px;
  gap: 24px;
  align-items: center;
  overflow: hidden;
}

.hero-mark {
  width: 180px;
  height: 180px;
  border-radius: 50%;
  background: radial-gradient(circle, #ffffff 0%, #d8f1ef 58%, #cfe0d9 100%);
  display: grid;
  place-items: center;
}

.hero-mark img {
  width: 132px;
}

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

.metric {
  padding: 18px;
  display: grid;
  gap: 6px;
}

.metric span {
  color: var(--muted);
  font-size: 13px;
}

.satisfaction-metric {
  border-color: #c7e7df;
  background: linear-gradient(135deg, rgba(255, 255, 255, 0.98), rgba(241, 252, 249, 0.96));
}

.featured-unit {
  display: grid;
  grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr);
  min-height: 410px;
  margin-bottom: 18px;
  overflow: hidden;
  border: 1px solid rgba(209, 224, 221, .92);
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 22px 50px rgba(13, 66, 72, .14);
}

.featured-unit-visual {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 410px;
  overflow: hidden;
  background:
    linear-gradient(145deg, rgba(6, 73, 83, .1), rgba(6, 73, 83, .58)),
    radial-gradient(circle at 30% 25%, #e8faf6 0 16%, transparent 42%),
    linear-gradient(145deg, #70d3cb, #0c6872 64%, #073f4b);
}

.featured-unit-visual::before,
.featured-unit-visual::after {
  content: "";
  position: absolute;
  border-radius: 48% 52% 0 0;
  background: rgba(255,255,255,.13);
  transform: rotate(-12deg);
}

.featured-unit-visual::before { width: 125%; height: 42%; bottom: -12%; inset-inline-start: -20%; }
.featured-unit-visual::after { width: 90%; height: 24%; bottom: 8%; inset-inline-end: -25%; background: rgba(225,177,75,.32); }
.featured-unit-visual img { position: relative; z-index: 2; width: min(46%, 190px); filter: drop-shadow(0 18px 22px rgba(0,0,0,.2)); }
.featured-unit-orbit { position: absolute; width: 68%; aspect-ratio: 1; border: 1px solid rgba(255,255,255,.25); border-radius: 50%; box-shadow: 0 0 0 34px rgba(255,255,255,.06), 0 0 0 70px rgba(255,255,255,.035); }
.featured-unit-place { position: absolute; z-index: 2; inset-inline-start: 24px; bottom: 22px; color: #fff; font-weight: 700; letter-spacing: .02em; }
.featured-unit-copy { display: flex; flex-direction: column; padding: clamp(24px, 4vw, 46px); min-width: 0; }
.featured-unit-topline { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.featured-unit-topline h2 { margin: 6px 0 0; font-size: clamp(2.1rem, 4vw, 3.8rem); letter-spacing: -.04em; }
.featured-ready-badge { display: inline-flex; align-items: center; gap: 8px; padding: 9px 13px; white-space: nowrap; border-radius: 999px; color: #08705d; background: #dff5ed; font-weight: 800; }
.featured-ready-badge i { width: 8px; height: 8px; border-radius: 50%; background: #16a17d; box-shadow: 0 0 0 5px rgba(22,161,125,.12); }
.featured-unit-lead { max-width: 650px; margin: 14px 0 22px; color: #647b80; font-size: 1.06rem; line-height: 1.75; }
.featured-unit-facts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); margin-bottom: 20px; border-block: 1px solid #e2ecea; }
.featured-unit-facts div { display: grid; gap: 3px; padding: 16px 10px; }
.featured-unit-facts div + div { border-inline-start: 1px solid #e2ecea; }
.featured-unit-facts strong { font-size: 1.45rem; color: #0b5360; }
.featured-unit-facts span { color: #71858a; font-size: .84rem; }
.featured-unit-amenities { display: flex; flex-wrap: wrap; gap: 9px; }
.featured-unit-amenities span { padding: 7px 10px; border-radius: 999px; color: #43646a; background: #f0f7f5; font-size: .84rem; }
.featured-unit-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-top: auto; padding-top: 24px; }
.featured-unit-price { display: grid; grid-template-columns: auto auto; align-items: baseline; column-gap: 7px; }
.featured-unit-price small { grid-column: 1 / -1; color: #74888c; }
.featured-unit-price strong { font-size: clamp(1.65rem, 3vw, 2.3rem); color: #0a4f5b; }
.featured-unit-price span { color: #74888c; }
.featured-unit-action { display: inline-flex; align-items: center; justify-content: center; gap: 12px; padding: 13px 18px; border-radius: 12px; white-space: nowrap; background: #075967; }
.featured-unit-action:hover { background: #064854; }
.featured-unit-source { display: block; margin-top: 14px; color: #8a7161; }
.ready-units-shelf,.units-catalog { margin-bottom: 18px; padding: clamp(20px,3vw,30px); border: 1px solid #d8e5e2; border-radius: 18px; background: rgba(255,255,255,.92); }
.ready-units-head,.units-catalog-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.ready-units-head h2,.units-catalog-head h2 { margin: 5px 0; font-size: clamp(1.4rem,2.5vw,2.2rem); }
.ready-units-head p,.units-catalog-head p { margin: 0; color: #698086; }
.ready-units-head button { padding: 10px 14px; white-space: nowrap; }
.compact-units-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 13px; }
.catalog-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,330px),420px)); justify-content: center; }
.compact-unit-card { display: flex; flex-direction: column; min-width: 0; overflow: hidden; border: 1px solid #dce7e5; border-radius: 14px; background: #fff; transition: transform .2s ease,box-shadow .2s ease; }
.compact-unit-card:hover { transform: translateY(-3px); box-shadow: 0 15px 30px rgba(10,72,78,.12); }
.compact-unit-image { position: relative; aspect-ratio: 16/10; overflow: hidden; }
.compact-unit-image img { width: 100%; height: 100%; object-fit: cover; }
.compact-unit-image > span { position: absolute; top: 11px; inset-inline-start: 11px; padding: 6px 9px; border-radius: 999px; color: #08705d; background: rgba(232,250,244,.94); font-size: .72rem; font-weight: 800; }
.compact-unit-body { display: flex; flex: 1; flex-direction: column; gap: 13px; padding: 15px; }
.compact-unit-body h3 { margin: 4px 0 0; font-size: 1.25rem; }.compact-unit-body small { color: #74888c; }
.compact-unit-meta { display: flex; gap: 14px; color: #60777c; font-size: .8rem; }
.compact-unit-footer { display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; margin-top: auto; padding-top: 12px; border-top: 1px solid #e4ecea; }
.compact-unit-footer > div { display: grid; }.compact-unit-footer button { padding: 8px 10px; font-size: .78rem; }
.units-catalog-head > strong { color: #0a6570; }
.units-catalog-filters { display: grid; grid-template-columns: 1.5fr 1fr 1fr; gap: 11px; margin-bottom: 16px; padding: 15px; border-radius: 12px; background: #f0f6f5; }
.units-catalog-filters label { display: grid; gap: 6px; color: #647b80; font-size: .78rem; }
.units-catalog-filters input,.units-catalog-filters select { width: 100%; padding: 10px; border: 1px solid #ccdcda; border-radius: 9px; background: #fff; }
.unit-pagination { display: flex; align-items: center; justify-content: center; gap: 14px; margin-top: 20px; }.unit-pagination button { padding: 9px 13px; }.unit-pagination button:disabled { opacity: .4; cursor: not-allowed; }
.public-unit-page { display: grid; gap: 18px; }
.public-unit-back { justify-self: start; padding: 9px 14px; color: var(--sea); border: 1px solid #cbdedb; background: rgba(255,255,255,.8); }
.public-booking-review-banner { display: grid; grid-template-columns: 1fr auto auto; align-items: center; gap: 20px; padding: 16px 18px; border: 1px solid #d6c488; border-radius: 13px; background: linear-gradient(90deg,#fff9e8,#f2faf7); box-shadow: 0 10px 24px rgba(79,67,24,.08); }.public-booking-review-banner h3 { margin: 4px 0; }.public-booking-review-banner > div > small { color: #697e82; }.public-review-dates { display: flex; align-items: center; gap: 12px; }.public-review-dates span { display: grid; gap: 3px; }.public-review-dates small { color: #718589; }.public-review-dates i { color: #b58d32; font-style: normal; }
.turnover-public-notice { display: grid; gap: 5px; padding: 14px 17px; border-inline-start: 4px solid var(--gold); border-radius: 10px; color: #536d73; background: #fff9e9; }.turnover-public-notice strong { color: var(--ink); }
.public-unit-hero { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(340px,.9fr); overflow: hidden; border: 1px solid #d5e3e1; border-radius: 20px; background: #fff; box-shadow: var(--shadow); }
.public-unit-photo { min-height: 430px; }.public-unit-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.public-unit-summary { display: flex; flex-direction: column; justify-content: center; padding: clamp(26px,4vw,54px); }
.public-unit-summary h2 { margin: 8px 0 14px; font-size: clamp(2rem,4vw,3.8rem); line-height: 1; }.public-unit-summary > p { color: #637b80; line-height: 1.8; }
.listing-feature-board { display:grid; gap:18px; padding:24px; border:1px solid #d5e3e1; border-radius:18px; background:linear-gradient(135deg,#fff,#f3faf8); box-shadow:var(--shadow); }
.listing-feature-board header h3 { margin:6px 0; font-size:clamp(1.4rem,2.4vw,2rem); }.listing-feature-board header p,.listing-feature-board>small { color:#657d82; }
.listing-feature-groups { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }.listing-feature-groups article { padding:16px; border:1px solid #d9e7e4; border-radius:12px; background:#fff; }
.listing-feature-groups h4 { margin:0 0 12px; color:var(--sea); }.listing-feature-groups article>div { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.listing-feature-groups span { display:grid; grid-template-columns:auto 1fr; gap:8px; align-items:center; padding:9px; border-radius:9px; background:#f3f8f7; }.listing-feature-groups i { display:grid; place-items:center; width:30px; height:30px; border-radius:50%; background:#dff3ef; font-style:normal; }.listing-feature-groups b { font-size:.88rem; }.listing-feature-groups small { grid-column:2; color:#6e8185; }
@media(max-width:800px){.listing-feature-groups,.listing-feature-groups article>div{grid-template-columns:1fr}}
.public-unit-facts { display: grid; grid-template-columns: repeat(3,1fr); margin: 22px 0; border-block: 1px solid #e0e9e7; }
.public-unit-facts span { display: grid; gap: 5px; padding: 17px 8px; color: #6b8084; }.public-unit-facts strong { color: var(--ink); font-size: 1.25rem; }
.public-booking-layout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(340px,.75fr); gap: 18px; align-items: start; }
.availability-panel,.booking-request-card { padding: clamp(22px,3vw,34px); border: 1px solid #d5e3e1; border-radius: 18px; background: rgba(255,255,255,.94); }
.availability-panel h3,.booking-request-card h3 { margin: 7px 0; font-size: clamp(1.4rem,2.4vw,2.1rem); }.availability-panel > p,.booking-request-card > p { color: #6a7e83; }
.availability-legend { display: flex; gap: 18px; margin: 20px 0 12px; }.availability-legend span { display: flex; align-items: center; gap: 7px; font-size: .8rem; }.availability-legend i { width: 11px; height: 11px; border-radius: 50%; }.availability-legend i.available { background: #bfeadf; }.availability-legend i.blocked { background: #e6b9ae; }
.availability-calendar { display: grid; grid-template-columns: repeat(7,1fr); gap: 7px; }
.availability-day { display: grid; place-items: center; min-height: 64px; padding: 6px; border-radius: 11px; border: 1px solid #dce8e6; box-shadow: none; cursor: pointer; }.availability-day small { font-size: .64rem; }.availability-day.available { color: #096b5c; background: #edf9f5; }.availability-day.available:hover { border-color: #55b9a8; background: #def3ec; transform: translateY(-1px); }.availability-day.blocked { color: #9d463a; background: #fff0ec; text-decoration: line-through; }.availability-day.check-in,.availability-day.check-out { color: #fff; border-color: var(--sea); background: var(--sea); box-shadow: 0 8px 18px rgba(11,79,97,.22); }.availability-day.in-range { border-color: #99d6ca; background: #d7f1ea; }
.availability-day.reviewed-booking-range { opacity: 1; border: 2px solid #c89c36; background: #fff1c8; color: #745612; text-decoration: none; box-shadow: inset 0 0 0 2px rgba(255,255,255,.75); }
.booking-request-card { position: sticky; top: 18px; }.booking-request-card form { display: grid; gap: 12px; margin-top: 20px; }.booking-request-card label { display: grid; gap: 6px; color: #60777c; font-size: .78rem; }.booking-request-card input,.booking-request-card textarea { width: 100%; padding: 11px; border: 1px solid #cadbd9; border-radius: 9px; background: #fff; }.booking-request-card textarea { min-height: 78px; resize: vertical; }
.booking-date-grid, .booking-guest-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }.booking-request-card button[type="submit"] { padding: 13px; color: var(--white); background: var(--sea); }
.booking-guest-total { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; padding: 10px 12px; border-radius: 10px; background: #edf7f5; color: var(--ink); }
.booking-guest-total > span { display: grid; gap: 3px; }
.booking-guest-total > span + span { padding-inline-start: 12px; border-inline-start: 1px solid var(--line); }
.booking-guest-total small { color: var(--muted); }
.booking-guest-total em { grid-column: 1 / -1; font-style: normal; font-weight: 700; }
.booking-guest-total.invalid { color: var(--danger); background: #fff0ed; }
.booking-price-preview { display: grid; gap: 8px; padding: 14px; border-radius: 11px; background: #f0f7f5; }.booking-price-preview span { display: flex; justify-content: space-between; gap: 12px; }.booking-price-preview small { color: #718388; line-height: 1.55; }
.booking-feedback { padding: 13px 16px; border-radius: 11px; color: #126b59; background: #e7f7f1; }.booking-feedback.warning { color: #984536; background: #fff0ec; }.booking-feedback.success { color: #126b59; background: #e7f7f1; }

.owner-programs { margin-bottom: 18px; padding: clamp(20px,3vw,32px); border: 1px solid #d8e5e2; border-radius: 18px; background: rgba(255,255,255,.9); }
.owner-programs-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 20px; }
.owner-programs-head h2 { margin: 5px 0 7px; font-size: clamp(1.45rem,2.5vw,2.25rem); }
.owner-programs-head p { margin: 0; max-width: 720px; color: #647b80; }
.owner-programs-head > span { padding: 8px 12px; border-radius: 999px; white-space: nowrap; color: #08705d; background: #e2f5ef; font-weight: 700; }
.owner-program-grid { display: grid; gap: 10px; }
.owner-program-card { overflow: hidden; border: 1px solid #dbe7e5; border-radius: 13px; background: #fbfdfc; }
.owner-program-card summary { display: grid; grid-template-columns: 42px 1fr 28px; align-items: center; gap: 12px; padding: 17px 18px; cursor: pointer; list-style: none; }
.owner-program-card summary::-webkit-details-marker { display: none; }
.owner-program-card summary div { display: grid; gap: 3px; }
.owner-program-card summary strong { font-size: 1.03rem; color: #133e47; }
.owner-program-card summary small { color: #71858a; }
.owner-program-card summary > i { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #075967; background: #e2f2ef; font-style: normal; transition: transform .2s ease; }
.owner-program-card[open] summary > i { transform: rotate(45deg); }
.owner-program-card[open] { border-color: #9dd6cf; box-shadow: 0 12px 28px rgba(14,91,97,.08); }
.owner-program-number { color: #c29032; font-weight: 900; letter-spacing: .05em; }
.owner-program-content { padding: 0 72px 20px 18px; }
[dir="ltr"] .owner-program-content { padding: 0 18px 20px 72px; }
.owner-program-income { display: grid; gap: 5px; padding: 13px 15px; border-radius: 10px; background: #eef7f5; }
.owner-program-income span { color: #648086; font-size: .78rem; }
.owner-program-income strong { color: #0b5965; }
.owner-program-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding-top: 16px; }
.owner-program-columns h3 { margin: 0 0 8px; font-size: .9rem; color: #916f2b; }
.owner-program-columns ul, .owner-program-columns ol { margin: 0; padding-inline-start: 20px; color: #526b71; line-height: 1.8; }
.owner-program-custody { margin: 15px 0 0; padding-top: 13px; border-top: 1px solid #e1eae8; color: #60787d; }
.owner-program-custody strong { color: #a04b3d; }
.owner-program-legal { margin: 16px 0 0; color: #7d6d63; font-size: .82rem; }
.owner-route-advisor { margin-bottom: 18px; padding: clamp(22px,4vw,42px); border-radius: 20px; background: linear-gradient(145deg,#f8fbfa,#edf7f5); border: 1px solid #d5e6e2; }
.owner-advisor-head { max-width: 760px; }
.owner-advisor-head h2 { margin: 6px 0; font-size: clamp(1.6rem,3vw,2.7rem); }
.owner-advisor-head p { margin: 0; color: #637b80; }
.owner-goal-options { display: grid; grid-template-columns: repeat(4,1fr); gap: 10px; margin: 24px 0 14px; }
.owner-goal-options button { display: grid; grid-template-columns: 18px 1fr; align-items: center; gap: 9px; min-height: 70px; padding: 13px; text-align: start; color: #31575e; border: 1px solid #d6e5e2; border-radius: 12px; background: #fff; }
.owner-goal-options button i { width: 13px; height: 13px; border: 2px solid #8dafae; border-radius: 50%; }
.owner-goal-options button.active { color: #fff; border-color: #075967; background: #075967; box-shadow: 0 12px 25px rgba(7,89,103,.18); }
.owner-goal-options button.active i { border: 4px solid #75d6cf; background: #fff; }
.owner-advisor-result { display: grid; grid-template-columns: 1fr 1fr; overflow: hidden; border-radius: 16px; background: #fff; box-shadow: 0 16px 34px rgba(22,84,89,.09); }
.owner-result-main { display: flex; flex-direction: column; align-items: flex-start; padding: clamp(20px,3vw,34px); background: #073f4b; color: #fff; }
.owner-result-main > span { color: #7edbd5; font-size: .78rem; font-weight: 800; }
.owner-result-main h3 { margin: 8px 0 5px; font-size: clamp(1.5rem,2.5vw,2.35rem); }
.owner-result-main p { margin: 0 0 16px; color: rgba(255,255,255,.68); }
.owner-result-main strong { line-height: 1.65; }
.owner-result-main button { margin-top: 22px; color: #073f4b; background: #80ddd6; }
.owner-result-visual { display: grid; align-content: center; gap: 17px; padding: clamp(20px,3vw,34px); }
.owner-result-source { display: flex; justify-content: space-between; gap: 15px; padding-bottom: 14px; border-bottom: 1px solid #e2ebe9; }
.owner-result-source span,.owner-result-visual small { color: #71858a; }
.owner-fit-meter > div { display: flex; justify-content: space-between; margin-bottom: 6px; color: #49676d; }
.owner-fit-meter > i { display: block; height: 9px; overflow: hidden; border-radius: 999px; background: #e6efed; }
.owner-fit-meter em { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg,#0b6f78,#73d6ce); transition: width .35s ease; }
.owner-result-visual small { line-height: 1.5; }
.owner-concierge-launcher { position: fixed; z-index: 30; inset-inline-end: 28px; bottom: 25px; display: flex; align-items: center; gap: 10px; padding: 12px 17px; border-radius: 999px; box-shadow: 0 16px 34px rgba(4,54,64,.28); }
.owner-concierge-launcher > span { display: grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; color: #075967; background: #82ddd6; }
.owner-concierge { position: fixed; z-index: 31; inset-inline-end: 28px; bottom: 88px; display: none; grid-template-rows: auto minmax(160px,1fr) auto auto auto; width: min(390px,calc(100vw - 36px)); max-height: min(650px,calc(100vh - 120px)); overflow: hidden; border: 1px solid #d5e4e1; border-radius: 18px; background: #fff; box-shadow: 0 24px 70px rgba(3,44,53,.3); }
.owner-concierge.open { display: grid; }
.owner-concierge header { display: flex; align-items: center; justify-content: space-between; padding: 15px; color: #fff; background: #073f4b; }
.owner-concierge header > div { display: flex; align-items: center; gap: 10px; }
.owner-concierge header > div > span { color: #75d6cf; font-size: 1.3rem; }
.owner-concierge header div div { display: grid; }
.owner-concierge header small { color: rgba(255,255,255,.62); }
.owner-concierge header button { padding: 0; width: 31px; height: 31px; color: #fff; border-radius: 50%; background: rgba(255,255,255,.1); }
.concierge-messages { display: flex; flex-direction: column; gap: 10px; overflow-y: auto; padding: 16px; background: #f4f8f7; }
.concierge-message { max-width: 88%; padding: 11px 13px; border-radius: 13px; white-space: pre-line; line-height: 1.6; font-size: .88rem; }
.concierge-message.assistant { align-self: flex-start; color: #35575e; border-start-start-radius: 3px; background: #fff; }
.concierge-message.user { align-self: flex-end; color: #fff; border-start-end-radius: 3px; background: #0a6570; }
.concierge-message button { display: block; margin-top: 10px; padding: 8px 10px; color: #075967; background: #dff4f0; }
.concierge-prompts { display: flex; gap: 7px; padding: 0 14px 10px; overflow-x: auto; background: #f4f8f7; }
.concierge-prompts button { flex: 0 0 auto; max-width: 230px; padding: 8px 10px; color: #46656b; border: 1px solid #cee0dc; background: #fff; font-size: .76rem; }
.concierge-form { display: grid; grid-template-columns: 1fr 42px; gap: 8px; padding: 11px; border-top: 1px solid #e0e9e7; }
.concierge-form input { min-width: 0; padding: 11px; border: 1px solid #ccdcda; border-radius: 10px; }
.concierge-form button { border-radius: 10px; }
.concierge-disclaimer { padding: 0 13px 12px; color: #8a7b72; line-height: 1.45; }
.owner-assessment-form { margin-top: 18px; padding: clamp(22px,4vw,40px); border: 1px solid #d6e5e2; border-radius: 18px; background: #fff; }
.owner-assessment-head { max-width: 760px; margin-bottom: 22px; }
.owner-assessment-head h2 { margin: 6px 0; font-size: clamp(1.5rem,3vw,2.5rem); }
.owner-assessment-head p { margin: 0; color: #647b80; }
.owner-assessment-form form { display: grid; gap: 16px; }
.owner-assessment-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 13px; }
.owner-assessment-form label { display: grid; gap: 7px; color: #49676d; font-size: .83rem; font-weight: 700; }
.owner-assessment-form input,.owner-assessment-form select,.owner-assessment-form textarea { width: 100%; padding: 11px 12px; border: 1px solid #ccdcda; border-radius: 10px; background: #fafdFC; }
.owner-assessment-form textarea { min-height: 110px; resize: vertical; }
.owner-assessment-form form > button { justify-self: start; padding: 13px 20px; border-radius: 11px; }
.owner-request-message { margin: 0; color: #16725f; }
.owner-requests-dashboard { display: grid; gap: 16px; }
.owner-requests-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; padding: 25px; border-radius: 17px; color: #fff; background: #073f4b; }
.owner-requests-heading .eyebrow { color: #79d9d2; }
.owner-requests-heading h2 { margin: 6px 0; font-size: clamp(1.6rem,3vw,2.7rem); }
.owner-requests-heading p { margin: 0; color: rgba(255,255,255,.67); }
.owner-requests-heading button { color: #073f4b; background: #7bd8d1; }
.owner-request-kpis { display: grid; grid-template-columns: repeat(4,1fr); gap: 12px; }
.owner-request-kpis article { display: grid; gap: 5px; padding: 18px; border: 1px solid #d8e5e2; border-radius: 13px; background: #fff; }
.owner-request-kpis span { color: #71858a; }
.owner-request-kpis strong { font-size: 1.8rem; color: #0a5965; }
.owner-request-filters { display: grid; grid-template-columns: 1fr 1fr 1.4fr; gap: 12px; padding: 17px; border: 1px solid #d8e5e2; border-radius: 13px; background: #fff; }
.owner-request-filters label { display: grid; gap: 6px; color: #60777c; font-size: .8rem; }
.owner-request-filters select,.owner-request-filters input { width: 100%; padding: 10px; border: 1px solid #ccdcda; border-radius: 9px; }
.owner-request-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.owner-request-card { display: flex; flex-direction: column; padding: 19px; min-width: 0; border: 1px solid #d8e5e2; border-radius: 14px; background: #fff; }
.owner-request-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; }
.owner-request-card-head h3 { margin: 4px 0; }
.owner-request-card-head span,.owner-request-card-head small { color: #71858a; }
.request-status { padding: 6px 9px; border-radius: 999px; color: #765b22; background: #f7ebca; font-size: .75rem; font-style: normal; white-space: nowrap; }
.request-status.accepted { color: #08705d; background: #dff5ed; }.request-status.declined { color: #a24336; background: #fbe8e3; }
.owner-request-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 14px 0; }
.owner-request-tags span { padding: 6px 8px; border-radius: 999px; color: #46676d; background: #edf5f3; font-size: .75rem; }
.owner-request-card > p { color: #60777c; line-height: 1.65; }
.owner-request-history { display: flex; justify-content: space-between; margin-top: auto; padding-top: 13px; border-top: 1px solid #e1eae8; color: #71858a; }
.owner-request-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.owner-request-actions button { padding: 9px 11px; }.owner-request-actions .danger-action { color: #9e4135; border: 1px solid #efc5bc; background: #fff4f1; }
.owner-requests-empty { padding: 36px; text-align: center; border: 1px dashed #cbdedb; border-radius: 14px; color: #71858a; background: rgba(255,255,255,.7); }

.owner-landing-hero { position: relative; min-height: 620px; margin-bottom: 18px; overflow: hidden; border-radius: 22px; color: #fff; }
.owner-landing-hero > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.owner-landing-overlay { position: absolute; inset: 0; background: linear-gradient(90deg,rgba(4,42,50,.1),rgba(4,42,50,.9) 76%); }
[dir="ltr"] .owner-landing-overlay { background: linear-gradient(270deg,rgba(4,42,50,.1),rgba(4,42,50,.9) 76%); }
.owner-landing-copy { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; width: min(720px,72%); min-height: 620px; padding: clamp(30px,6vw,76px); }
.owner-landing-copy .eyebrow,.owner-journey .eyebrow { color: #83ded8; }
.owner-landing-copy h2 { margin: 10px 0 15px; font-size: clamp(2.35rem,5vw,5.1rem); line-height: 1.04; letter-spacing: -.055em; }
.owner-landing-copy > p { margin: 0; color: rgba(255,255,255,.8); font-size: 1.1rem; line-height: 1.75; }
.owner-landing-actions,.owner-trust-row { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 26px; }
.owner-landing-actions button { padding: 13px 18px; border-radius: 11px; }
.owner-landing-actions .secondary-action { color: #fff; border-color: rgba(255,255,255,.35); background: rgba(255,255,255,.1); }
.owner-trust-row { gap: 18px; margin-top: 34px; color: rgba(255,255,255,.8); font-size: .82rem; }
.owner-value-strip { display: grid; grid-template-columns: repeat(3,1fr); margin-bottom: 18px; border: 1px solid #d8e4e2; border-radius: 16px; background: #fff; }
.owner-value-strip div { display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 12px; padding: 19px; }
.owner-value-strip div + div { border-inline-start: 1px solid #dfe9e7; }
.owner-value-strip strong { color: #c18f30; font-size: 1.2rem; }
.owner-value-strip span { color: #365b62; font-weight: 700; }
.owner-journey { margin-bottom: 18px; padding: clamp(24px,4vw,42px); border-radius: 18px; color: #fff; background: #073f4b; }
.owner-journey-head h2 { margin: 7px 0; font-size: clamp(1.6rem,3vw,2.65rem); }
.owner-journey-head p { margin: 0; color: rgba(255,255,255,.68); }
.owner-journey-track { display: grid; grid-template-columns: repeat(5,1fr); margin-top: 32px; }
.owner-journey-track article { padding-inline-end: 18px; }
.owner-journey-track article > span { color: #d7aa4c; font-weight: 900; }
.owner-journey-track i { display: block; width: 12px; height: 12px; margin: 13px 0 19px; border-radius: 50%; background: #6ad4cd; box-shadow: 0 0 0 6px rgba(106,212,205,.12); }
.owner-journey-track strong { display: block; margin-bottom: 7px; }
.owner-journey-track p { margin: 0; color: rgba(255,255,255,.62); font-size: .82rem; line-height: 1.65; }
.owner-closing-cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: clamp(24px,4vw,40px); border-radius: 18px; background: linear-gradient(135deg,#f4ead5,#e8f6f3); }
.owner-closing-cta h2 { margin: 6px 0; font-size: clamp(1.5rem,3vw,2.5rem); }
.owner-closing-cta p { margin: 0; color: #60767b; }
.owner-closing-cta button { padding: 14px 20px; border-radius: 12px; white-space: nowrap; }

@media (max-width: 900px) {
  .featured-unit { grid-template-columns: 1fr; }
  .featured-unit-visual { min-height: 270px; }
  .featured-unit-visual img { width: 140px; }
  .owner-landing-copy { width: 88%; }
  .owner-journey-track { grid-template-columns: 1fr 1fr; gap: 24px; }
  .owner-goal-options { grid-template-columns: 1fr 1fr; }
  .compact-units-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .catalog-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),420px)); justify-content: center; }
  .public-unit-hero,.public-booking-layout { grid-template-columns: 1fr; }
  .public-booking-review-banner { grid-template-columns: 1fr; align-items: start; }.public-review-dates { justify-content: space-between; }
  .public-unit-photo { min-height: 330px; }.booking-request-card { position: static; }
}

@media (max-width: 560px) {
  .featured-unit { border-radius: 14px; }
  .featured-unit-visual { min-height: 220px; }
  .featured-unit-copy { padding: 22px 18px; }
  .featured-unit-topline, .featured-unit-footer { display: grid; }
  .featured-ready-badge { width: fit-content; }
  .featured-unit-facts { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .featured-unit-action { width: 100%; }
  .owner-programs-head { display: grid; align-items: start; }
  .owner-programs-head > span { width: fit-content; white-space: normal; }
  .owner-program-card summary { grid-template-columns: 34px 1fr 28px; padding: 15px 13px; }
  .owner-program-content, [dir="ltr"] .owner-program-content { padding: 0 14px 16px; }
  .owner-program-columns { grid-template-columns: 1fr; gap: 14px; }
  .owner-landing-hero,.owner-landing-copy { min-height: 610px; }
  .owner-landing-copy { width: 100%; justify-content: flex-end; padding: 26px 20px; }
  .owner-landing-overlay,[dir="ltr"] .owner-landing-overlay { background: linear-gradient(0deg,rgba(4,42,50,.96),rgba(4,42,50,.06) 75%); }
  .owner-landing-copy h2 { font-size: 2.4rem; }
  .owner-trust-row { display: grid; gap: 7px; margin-top: 22px; }
  .owner-value-strip,.owner-journey-track { grid-template-columns: 1fr; }
  .owner-value-strip div + div { border-inline-start: 0; border-top: 1px solid #dfe9e7; }
  .owner-closing-cta { display: grid; }
  .owner-closing-cta button { width: 100%; }
  .owner-goal-options,.owner-advisor-result { grid-template-columns: 1fr; }
  .owner-concierge-launcher { inset-inline-end: 18px; bottom: 18px; }
  .owner-concierge { inset-inline-end: 18px; bottom: 78px; max-height: calc(100vh - 98px); }
  .owner-assessment-grid { grid-template-columns: 1fr; }
  .owner-assessment-form form > button { width: 100%; }
  .compact-units-grid,.catalog-grid,.units-catalog-filters { grid-template-columns: 1fr; }
  .ready-units-head,.units-catalog-head { display: grid; align-items: start; }
  .public-unit-photo { min-height: 240px; }.public-unit-facts { grid-template-columns: 1fr; }.booking-date-grid, .booking-guest-grid { grid-template-columns: 1fr; }
  .availability-calendar { gap: 4px; }.availability-day { min-height: 48px; }.availability-day small { display: none; }
  .owner-request-kpis,.owner-request-filters,.owner-request-list { grid-template-columns: 1fr; }
  .owner-requests-heading { display: grid; }
}

.command-snapshot {
  margin-bottom: 16px;
  padding: 24px;
  overflow: hidden;
  background:
    radial-gradient(circle at 12% 0%, rgba(100, 210, 207, 0.22), transparent 30%),
    linear-gradient(135deg, #073f4b 0%, #0b5966 100%);
  border-radius: 18px;
  color: #fff;
  box-shadow: 0 18px 40px rgba(7, 63, 75, 0.18);
}

.command-snapshot-head,
.command-chart-card,
.command-kpi-card {
  display: flex;
  align-items: center;
}

.command-snapshot-head {
  justify-content: space-between;
  gap: 24px;
  margin-bottom: 20px;
}

.command-snapshot h2 { margin: 4px 0 5px; font-size: clamp(1.35rem, 2vw, 2rem); }
.command-snapshot p { margin: 0; color: rgba(255,255,255,.72); }
.command-snapshot .eyebrow { color: #8ce0dd; }

.command-live-badge {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 999px;
  background: rgba(255,255,255,.09);
  white-space: nowrap;
}

.command-live-badge i { width: 8px; height: 8px; border-radius: 50%; background: #66d3bc; box-shadow: 0 0 0 5px rgba(102,211,188,.14); }
.command-kpi-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.command-kpi-card { gap: 12px; padding: 15px; min-width: 0; border: 1px solid rgba(255,255,255,.13); border-radius: 13px; background: rgba(255,255,255,.08); }
.command-kpi-card > div { display: grid; gap: 2px; min-width: 0; }
.command-kpi-card small, .command-kpi-card span { color: rgba(255,255,255,.67); }
.command-kpi-card strong { font-size: 1.55rem; line-height: 1.15; }
.command-kpi-icon { display: grid; place-items: center; flex: 0 0 40px; width: 40px; height: 40px; border-radius: 12px; font-size: 1.1rem; color: #073f4b !important; background: #8ce0dd; }
.accent-gold .command-kpi-icon { background: #e0b252; }
.accent-coral .command-kpi-icon { background: #ef9d86; }
.accent-aqua .command-kpi-icon { background: #b9eeea; }
.command-visual-grid { display: grid; grid-template-columns: 1.35fr .65fr; gap: 12px; margin-top: 12px; }
.command-chart-card { justify-content: space-between; gap: 18px; padding: 16px; border-radius: 13px; background: #fff; color: #12323a; }
.command-chart-copy { display: grid; gap: 4px; }
.command-chart-copy > span, .command-chart-copy small { color: #71858a; }
.command-chart-copy strong { font-size: 1.25rem; }
.command-bars { display: flex; align-items: flex-end; gap: 7px; width: min(46%, 260px); height: 72px; padding-top: 8px; border-bottom: 1px solid #d9e6e5; }
.command-bars i { flex: 1; height: var(--bar-height); min-width: 8px; border-radius: 8px 8px 2px 2px; background: linear-gradient(#65cfca, #0e7780); }
.command-signal { display: grid; justify-items: center; gap: 6px; color: #71858a; }
.signal-ring { display: grid; place-items: center; width: 66px; height: 66px; border-radius: 50%; background: conic-gradient(#dfac42 0 72%, #e8efee 72%); position: relative; }
.signal-ring::after { content: ""; position: absolute; inset: 7px; border-radius: 50%; background: #fff; }
.signal-ring b { position: relative; z-index: 1; color: #12323a; }
.command-technical-details { margin-bottom: 16px; }
.command-technical-details summary { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 15px 18px; cursor: pointer; border: 1px solid #d8e3e2; border-radius: 10px; background: rgba(255,255,255,.82); color: #12323a; }
.command-technical-details summary::marker { color: #0d7880; }
.command-technical-details summary span { font-weight: 800; }
.command-technical-details summary small { color: #73868a; }
.command-technical-details[open] summary { margin-bottom: 14px; }

@media (max-width: 1050px) {
  .command-kpi-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}

@media (max-width: 650px) {
  .command-snapshot { padding: 18px; border-radius: 14px; }
  .command-snapshot-head, .command-chart-card { align-items: flex-start; }
  .command-snapshot-head { display: grid; }
  .command-kpi-grid, .command-visual-grid { grid-template-columns: 1fr; }
  .command-chart-card { min-width: 0; }
  .command-bars { width: 44%; }
  .command-priority-card { align-items: center; }
  .command-technical-details summary { align-items: flex-start; }
}

.technical-text {
  direction: ltr;
  unicode-bidi: isolate;
  display: inline-block;
  font-family: "Segoe UI", Arial, sans-serif;
  letter-spacing: 0.01em;
}

.mixed-identifier {
  unicode-bidi: plaintext;
  overflow-wrap: anywhere;
}

.project-url {
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: 0.92em;
}

.satisfaction-bar {
  height: 7px;
  overflow: hidden;
  border-radius: 999px;
  background: #e4efed;
}

.satisfaction-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--sea), #62d5cf);
}
.metric strong {
  font-size: 28px;
}

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

.panel {
  padding: 20px;
}

.page-slice.hidden {
  display: none;
}
.hero-panel.hidden,
.topbar.hidden {
  display: none;
}

.bookings-panel {
  grid-column: 1 / -1;
}

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

.booking-dashboard-grid > div {
  display: grid;
  gap: 6px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.booking-dashboard-grid small {
  color: var(--muted);
}

.booking-review-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.booking-review-head h2 { margin: 6px 0; font-size: clamp(1.5rem,3vw,2.4rem); }.booking-review-head p { margin: 0; color: var(--muted); }
.booking-review-head > button { display: inline-flex; align-items: center; justify-content: center; gap: 7px; min-width: 112px; padding: 10px 14px; color: #fff; border: 1px solid var(--sea); border-radius: 9px; background: var(--sea); box-shadow: 0 8px 18px rgba(11,79,97,.18); cursor: pointer; transition: transform .18s ease,background .18s ease,box-shadow .18s ease; }
.booking-review-head > button:hover { background: #073f4d; box-shadow: 0 11px 22px rgba(11,79,97,.24); transform: translateY(-1px); }.booking-review-head > button:active { transform: translateY(1px); box-shadow: 0 4px 10px rgba(11,79,97,.18); }.booking-review-head > button.is-loading span { animation: booking-refresh-spin .8s linear infinite; }
@keyframes booking-refresh-spin { to { transform: rotate(360deg); } }
.booking-review-kpis { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 10px; margin-bottom: 14px; }
.booking-review-kpis article { display: grid; gap: 6px; padding: 15px; border: 1px solid #d9e6e3; border-radius: 12px; background: #f5faf8; }.booking-review-kpis span { color: #667d81; font-size: .78rem; }.booking-review-kpis strong { font-size: 1.65rem; }
.booking-review-filters { display: grid; grid-template-columns: minmax(180px,.6fr) minmax(260px,1.4fr); gap: 11px; margin-bottom: 16px; padding: 14px; border-radius: 12px; background: #eef6f4; }.booking-review-filters label { display: grid; gap: 6px; color: #60777c; font-size: .78rem; }.booking-review-filters input,.booking-review-filters select { width: 100%; padding: 10px; border: 1px solid #cbdcda; border-radius: 9px; background: #fff; }
.booking-request-review-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 13px; }
.booking-review-card { min-width: 0; padding: 17px; border: 1px solid #d8e5e2; border-radius: 14px; background: #fff; box-shadow: 0 10px 24px rgba(18,50,58,.06); }
.booking-review-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.booking-review-card-head h3 { margin: 4px 0; }.booking-review-card-head span,.booking-review-card-head small { color: #6d8185; }
.booking-review-status { flex: 0 0 auto; padding: 6px 9px; border-radius: 999px; color: #166a5b; background: #def3ec; font-size: .72rem; font-style: normal; font-weight: 800; }.booking-review-status.declined,.booking-review-status.cancelled,.booking-review-status.expired { color: #9a4538; background: #fde9e4; }.booking-review-status.held { color: #8a6415; background: #fff3cf; }.booking-review-status.confirmed { color: #fff; background: #0b6b5d; }
.booking-review-stay { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; margin: 15px 0; padding: 12px; border-radius: 11px; background: #eff7f5; }.booking-review-stay div { display: grid; gap: 4px; }.booking-review-stay > span { padding: 5px 8px; border-radius: 999px; color: #0b6258; background: #d5eee7; font-size: .72rem; }.booking-review-stay small { color: #708488; }
.booking-review-guest { display: grid; grid-template-columns: 1.4fr .55fr 1fr; gap: 10px; }.booking-review-guest > div { display: grid; gap: 3px; }.booking-review-guest small { color: #718589; }.booking-review-guest a { color: #0b6570; direction: ltr; unicode-bidi: isolate; }
.booking-review-notes { padding: 10px; border-inline-start: 3px solid var(--gold); color: #657b80; background: #fffaf0; }
.booking-review-history { display: flex; justify-content: space-between; margin-top: 14px; padding-top: 12px; border-top: 1px solid #e2ebe9; color: #6e8286; font-size: .78rem; }
.booking-review-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }.booking-review-actions button { padding: 8px 10px; }.booking-review-actions .confirm-action { color: #fff; background: #08705d; }.booking-review-actions .danger-action { color: #9e4335; border-color: #e8bcb4; background: #fff2ee; }
.booking-review-actions .review-unit-action { color: #075967; border-color: #a9d7d0; background: #e5f5f1; }
.booking-review-empty { padding: 32px; text-align: center; color: #6d8185; border: 1px dashed #ccdeda; border-radius: 12px; }.booking-review-empty.error { color: #a24638; }
.security-readiness { margin-bottom: 18px; padding: clamp(20px,3vw,30px); border: 1px solid #d6e4e1; border-radius: 16px; background: rgba(255,255,255,.92); }
.security-readiness-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }.security-readiness-head h2 { margin: 5px 0; font-size: clamp(1.5rem,3vw,2.35rem); }.security-readiness-head p { margin: 0; color: var(--muted); }.security-readiness-head button { padding: 10px 14px; color: #fff; background: var(--sea); cursor: pointer; }
.security-kpis { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 14px; }.security-kpis article { display: grid; gap: 5px; padding: 14px; border-radius: 11px; background: #eff7f5; }.security-kpis span { color: #6b8084; }.security-kpis strong { font-size: 1.5rem; }
.security-packet-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.security-packet-card { padding: 17px; border: 1px solid #d8e5e2; border-radius: 13px; background: #fff; }
.security-packet-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }.security-packet-card-head h3 { margin: 4px 0; }.security-packet-card-head span,.security-packet-card-head small { color: #6b8084; }
.security-arrival-row { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin: 14px 0; padding: 11px; border-radius: 10px; background: #f2f7f6; }.security-arrival-row div { display: grid; gap: 4px; }.security-arrival-row small { color: #6c8185; }
.security-gates { display: grid; grid-template-columns: repeat(2,1fr); gap: 8px; }.security-gates button { display: flex; align-items: center; gap: 7px; padding: 10px; text-align: start; color: #4f6970; border: 1px solid #d6e3e1; background: #fff; cursor: pointer; }.security-gates button.complete { color: #086b5b; border-color: #b7dfd6; background: #e9f7f2; }.security-gates button:disabled { cursor: default; opacity: 1; }
.security-packet-meta { display: grid; gap: 5px; margin-top: 12px; color: #687d82; font-size: .78rem; }.security-packet-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; padding-top: 12px; border-top: 1px solid #e2ebe9; }.security-packet-actions button { padding: 9px 11px; }.security-packet-actions .confirm-action { color: #fff; background: #08705d; }.security-packet-actions .danger-action { color: #984435; background: #fff0ec; }
.security-empty { padding: 28px; text-align: center; color: #687d82; border: 1px dashed #cbdcd9; border-radius: 11px; }.security-empty.error { color: #9e4638; }
.turnover-board { margin-bottom: 18px; padding: clamp(20px,3vw,28px); border: 1px solid #d5e4e1; border-radius: 16px; background: rgba(255,255,255,.94); }.turnover-board-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 18px; margin-bottom: 16px; }.turnover-board-head h2 { margin: 5px 0; font-size: clamp(1.5rem,3vw,2.3rem); }.turnover-board-head p { margin: 0; color: var(--muted); }.turnover-board-head button { padding: 10px 14px; color: #fff; background: var(--sea); }
.turnover-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }.turnover-card { padding: 17px; border: 1px solid #d7e5e2; border-radius: 13px; background: #fff; }.turnover-card-head { display: flex; justify-content: space-between; gap: 12px; }.turnover-card-head h3 { margin: 4px 0; }.turnover-card-head span,.turnover-card-head small { color: #6a8084; }.turnover-times { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px; margin: 14px 0; padding: 12px; border-radius: 11px; background: #eef7f5; }.turnover-times span { display: grid; gap: 4px; }.turnover-times small { color: #6b8084; }.turnover-times i { color: #9a7629; font-size: .75rem; font-style: normal; }.turnover-actions { display: flex; flex-wrap: wrap; gap: 8px; }.turnover-actions button { padding: 9px 11px; }.turnover-actions .confirm-action { color: #fff; background: #08705d; }.turnover-actions .danger-action { color: #994638; background: #fff0ec; }.turnover-issue { padding: 10px; border-radius: 8px; background: #fff8e7; }.turnover-issue.material { color: #994638; background: #fff0ec; }.turnover-empty { padding: 28px; text-align: center; color: #6c8185; border: 1px dashed #ccddda; border-radius: 11px; }

.panel-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 16px;
}

.milestones {
  display: grid;
  gap: 12px;
}

.milestone {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--foam);
}

.milestone span,
.unit-status {
  color: var(--gold);
  font-weight: 800;
  font-size: 12px;
  text-transform: uppercase;
}

.milestone strong {
  display: block;
  margin: 4px 0;
}

.milestone p {
  margin: 0;
}

.milestone em {
  font-style: normal;
  align-self: flex-start;
  color: var(--sea);
  background: var(--sea-soft);
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
}

.milestone em.next {
  color: var(--danger);
  background: #f8e7e2;
}

.unit-card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.unit-card img {
  width: 92px;
  height: 92px;
  border-radius: 8px;
  object-fit: cover;
  background: var(--sea-soft);
}

.unit-card h3 {
  margin: 4px 0;
  font-size: 24px;
}

.unit-card p {
  margin: 0 0 10px;
  color: var(--muted);
}

.amenities {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.amenities span {
  border: 1px solid var(--line);
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  background: #fff;
}

.ledger-preview {
  margin: 18px 0 0;
  display: grid;
  gap: 8px;
}

.ledger-preview div {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}

.ledger-preview dt,
.ledger-preview dd {
  margin: 0;
}

.ledger-preview dt {
  color: var(--muted);
}

.ledger-preview dd {
  font-weight: 800;
  unicode-bidi: isolate;
}

@media (max-width: 900px) {
  .shell,
  .content-grid,
  .hero-panel {
    grid-template-columns: 1fr;
  }

  .sidebar {
    position: static;
    height: auto;
    overflow-y: visible;
    overscroll-behavior: auto;
    gap: 14px;
    padding-bottom: 14px;
  }

  .brand-lockup img {
    width: 160px;
  }

  .nav-list {
    display: flex;
    gap: 8px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
    padding: 2px 2px 8px;
    scrollbar-width: thin;
  }

  .nav-item {
    flex: 0 0 190px;
    scroll-snap-align: start;
  }

  .session-card {
    margin-top: 0;
  }

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

@media (max-width: 560px) {
  .workspace,
  .sidebar {
    padding: 18px;
  }

  .topbar {
    display: grid;
  }

  .topbar-actions {
    justify-content: flex-start;
  }

  .status-pill,
  .language-toggle {
    min-height: 44px;
  }

  .metrics-grid {
    grid-template-columns: 1fr;
  }

  .hero-mark {
    width: 140px;
    height: 140px;
  }
}
.matrix-list,
.test-list {
  display: grid;
  gap: 8px;
}

.matrix-row,
.test-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 56px 88px;
  align-items: center;
  gap: 10px;
  padding: 11px 0;
  border-top: 1px solid var(--line);
}

.matrix-row strong {
  text-align: center;
  color: var(--sea);
}

.matrix-row small {
  color: var(--muted);
  text-align: end;
}

.test-row {
  grid-template-columns: 70px minmax(0, 1fr);
}

.test-row span {
  border-radius: 999px;
  padding: 5px 8px;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
}

.test-row.pass span {
  color: #1f6b54;
  background: #dff3ec;
}

.test-row.fail span,
.blocked-text {
  color: var(--danger);
}

.test-row.fail span {
  background: #f8e7e2;
}

.guard-card {
  display: grid;
  gap: 10px;
  padding: 18px;
  border-radius: 8px;
  background: var(--foam);
  border: 1px solid var(--line);
}

.guard-card > span {
  font-size: 28px;
  font-weight: 900;
}

.guard-card p {
  margin: 0;
  color: var(--muted);
}

.guard-card small {
  color: var(--muted);
}

.pass-text {
  color: #1f6b54;
}
.auth-panel {
  grid-column: span 2;
}

.auth-status,
.auth-profile {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--foam);
}

.auth-status span {
  font-size: 24px;
  font-weight: 900;
}

.auth-status.signed-in span {
  color: #1f6b54;
}

.auth-status.signed-out span {
  color: var(--danger);
}

.auth-status p,
.auth-message,
.auth-profile small {
  margin: 0;
  color: var(--muted);
}

.auth-form {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 14px 0;
}

.auth-form label {
  display: grid;
  gap: 6px;
  color: var(--muted);
  font-size: 13px;
}

.auth-form input {
  width: 100%;
  min-height: 42px;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 10px 12px;
  color: var(--ink);
  background: #fff;
  font: inherit;
}

.auth-form input:disabled {
  background: #f6faf8;
}

.auth-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 14px;
}

.auth-actions button {
  min-height: 40px;
  border: 0;
  border-radius: 8px;
  padding: 0 16px;
  color: #fff;
  background: var(--sea);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}

.auth-actions .secondary-action {
  color: var(--sea);
  background: var(--sea-soft);
  border: 1px solid var(--line);
}

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

.auth-profile span {
  color: var(--gold);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.auth-profile strong {
  display: block;
  margin: 5px 0;
}

.auth-message {
  margin-top: 12px;
  font-weight: 800;
}

.auth-message.muted {
  font-weight: 500;
}

@media (max-width: 900px) {
  .auth-panel {
    grid-column: auto;
  }

  .auth-form,
  .auth-profile {
    grid-template-columns: 1fr;
  }
}

#auth-login-section {
  margin-bottom: 16px;
}

.auth-jump {
  background: var(--sea);
  color: #fff;
}

.password-field {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  overflow: hidden;
}

.password-field input {
  border: 0;
  min-width: 0;
}

.password-field button {
  width: 42px;
  height: 42px;
  border: 0;
  border-inline-start: 1px solid var(--line);
  color: var(--sea);
  background: var(--foam);
  cursor: pointer;
  font-size: 17px;
}

.password-field button:disabled {
  cursor: default;
  opacity: 0.5;
}

.auth-form input[dir="ltr"] {
  text-align: left;
  direction: ltr;
  unicode-bidi: isolate;
}

.nav-item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.nav-item.locked {
  opacity: 0.55;
  cursor: not-allowed;
}

.auth-gate-strip {
  margin-bottom: 16px;
}

.gate-summary {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(260px, 0.9fr);
  gap: 16px;
  align-items: center;
}

.gate-summary strong {
  display: block;
  margin: 4px 0;
  font-size: 24px;
}

.gate-summary p {
  margin: 0;
  color: var(--muted);
}

.gate-chips {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 8px 10px;
  align-items: center;
}

.gate-badge {
  display: inline-grid;
  place-items: center;
  min-width: 54px;
  border-radius: 999px;
  padding: 5px 9px;
  font-size: 12px;
  font-weight: 900;
}

.gate-badge.allowed {
  color: #1f6b54;
  background: #dff3ec;
}

.gate-badge.locked {
  color: var(--danger);
  background: #f8e7e2;
}

.locked-panel {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: #fffaf8;
}

.locked-panel span {
  color: var(--danger);
  font-weight: 900;
}

.locked-panel p {
  margin: 0;
  color: var(--muted);
}

@media (max-width: 900px) {
  .gate-summary {
    grid-template-columns: 1fr;
  }
}

.role-preview-section {
  margin-bottom: 16px;
}

.role-preview-panel {
  display: grid;
  gap: 14px;
}

.role-preview-intro {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

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

.role-preview-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(135deg, #ffffff, #f8fbfa);
}

.role-preview-card-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.role-preview-card-head > div {
  display: grid;
  gap: 4px;
}

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

.role-preview-lists span {
  color: var(--gold);
  font-weight: 900;
}

.role-preview-lists ul {
  margin: 8px 0 0;
  padding-inline-start: 18px;
  color: var(--muted);
  line-height: 1.55;
}

.role-preview-lists li + li {
  margin-top: 5px;
}

@media (max-width: 900px) {
  .role-preview-grid,
  .role-preview-lists {
    grid-template-columns: 1fr;
  }
}
.rls-mode-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.rls-mode-card {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.rls-mode-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

@media (max-width: 900px) {
  .rls-mode-grid {
    grid-template-columns: 1fr;
  }
}

.unit-source-note {
  display: block;
  margin: -6px 0 12px;
  color: var(--danger);
}

.unit-detail-section {
  grid-template-columns: 1fr;
}

.unit-detail-panel {
  grid-column: 1 / -1;
}

.unit-detail-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.95fr) minmax(320px, 1.05fr);
  gap: 16px;
  align-items: start;
}

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

.unit-gallery figure {
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 8px;
  overflow: hidden;
  background: var(--foam);
}

.unit-gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: var(--sea-soft);
}

.unit-gallery figcaption {
  padding: 9px 10px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.unit-control-stack {
  display: grid;
  gap: 10px;
}

.unit-control-card {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--foam);
}

.unit-control-card span:first-child {
  color: var(--gold);
  font-size: 12px;
  font-weight: 900;
  text-transform: uppercase;
}

.unit-control-card strong {
  font-size: 22px;
}

.unit-control-card p {
  margin: 0;
  color: var(--muted);
}

.control-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
}

.control-chips small {
  color: var(--muted);
  margin-inline-end: 8px;
}

.readiness-list {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.readiness-row {
  display: grid;
  grid-template-columns: 90px minmax(180px, 0.5fr) minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 11px 0;
  border-top: 1px solid var(--line);
}

.readiness-row small {
  color: var(--muted);
}

@media (max-width: 900px) {
  .unit-detail-layout,
  .readiness-row {
    grid-template-columns: 1fr;
  }

  .unit-gallery {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 560px) {
  .unit-gallery {
    grid-template-columns: 1fr;
  }
}

.publish-decision {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px;
  margin-bottom: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fffaf8;
}

.publish-decision.ready {
  background: #f4fbf8;
}

.publish-decision strong {
  display: block;
  margin: 4px 0;
  font-size: 22px;
}

.publish-decision.blocked strong {
  color: var(--danger);
}

.publish-decision.ready strong {
  color: #1f6b54;
}

.publish-decision p {
  margin: 0;
  color: var(--muted);
}

.decision-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.decision-actions button {
  min-height: 38px;
  border: 0;
  border-radius: 8px;
  padding: 0 14px;
  color: #fff;
  background: var(--sea);
  font: inherit;
  font-weight: 900;
  cursor: pointer;
}

.decision-actions button:hover {
  filter: brightness(0.94);
}

@media (max-width: 760px) {
  .publish-decision {
    display: grid;
  }

  .decision-actions {
    justify-content: flex-start;
  }
}

.hotel-checklist {
  display: grid;
  gap: 14px;
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid #f0d3cb;
  border-radius: 8px;
  background: #fffaf8;
}

.hotel-checklist-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
}

.hotel-checklist-head strong {
  display: block;
  margin: 4px 0;
  font-size: 20px;
  color: var(--danger);
}

.hotel-checklist-head p {
  margin: 0;
  color: var(--muted);
}

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

.hotel-check-item {
  display: grid;
  gap: 7px;
  align-content: start;
  min-height: 138px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.hotel-check-item .gate-badge {
  justify-self: start;
}

.hotel-check-item strong {
  font-size: 14px;
}

.hotel-check-item small {
  color: var(--muted);
  line-height: 1.5;
}

@media (max-width: 1100px) {
  .hotel-checklist-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 560px) {
  .hotel-checklist-head {
    display: grid;
  }

  .hotel-checklist-grid {
    grid-template-columns: 1fr;
  }
}
.operations-dispatch-panel {
  grid-column: 1 / -1;
}

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

.dispatch-summary > div {
  display: grid;
  gap: 6px;
  min-height: 116px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--foam);
}

.dispatch-summary span,
.dispatch-summary small,
.dispatch-row small {
  color: var(--muted);
}

.dispatch-summary strong {
  font-size: 22px;
}

.dispatch-filters {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
  padding: 14px;
  border: 1px solid rgba(11, 79, 97, 0.18);
  border-radius: 8px;
  background: #f8fcfb;
}

.dispatch-filter-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 14px;
}

.dispatch-filter-head > div,
.dispatch-filter-field {
  display: grid;
  gap: 5px;
}

.dispatch-filter-head small,
.dispatch-filter-field span,
.dispatch-empty small {
  color: var(--muted);
}

.dispatch-filter-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.dispatch-filter-field span {
  font-size: 12px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
}

.dispatch-filter-field select {
  min-width: 0;
  background: #fff;
}

.dispatch-filter-reset {
  width: auto;
  padding: 9px 13px;
  color: var(--navy);
  border: 1px solid var(--line);
  background: #fff;
}

.dispatch-empty {
  display: grid;
  gap: 6px;
  place-content: center;
  min-height: 180px;
  padding: 24px;
  text-align: center;
  border: 1px dashed var(--line);
  border-radius: 8px;
  background: var(--foam);
}

.electronic-work-order {
  display: grid;
  gap: 14px;
  margin: 0 0 16px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.electronic-work-order-head,
.electronic-work-order-footer,
.subsection-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.electronic-work-order-head p,
.electronic-work-order-footer span,
.unit-pick-row small,
.hotel-item-pick small,
.electronic-work-order-meta span {
  color: var(--muted);
}

.electronic-work-order-meta,
.electronic-work-order-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.electronic-work-order-grid {
  grid-template-columns: minmax(260px, 0.85fr) minmax(0, 1.15fr);
}

.electronic-work-order-meta > div,
.electronic-work-order-footer {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--foam);
}

.unit-picker-list,
.hotel-item-picker {
  display: grid;
  gap: 8px;
  margin-top: 10px;
}

.unit-pick-row,
.hotel-item-pick {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-height: 58px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.hotel-item-pick.selected,
.unit-pick-row.selected,
.unit-pick-row:has(input:checked) {
  border-color: rgba(100, 211, 205, 0.55);
  background: #f4fbf8;
}

.unit-pick-row input,
.hotel-item-pick input {
  width: 16px;
  height: 16px;
  margin-top: 3px;
  accent-color: var(--sea);
}

.unit-pick-row span,
.hotel-item-pick span {
  display: grid;
  gap: 4px;
}
.qr-travel-panel {
  display: grid;
  gap: 14px;
  margin: 0 0 16px;
  padding: 16px;
  border: 1px solid rgba(202, 161, 74, 0.28);
  border-radius: 8px;
  background: linear-gradient(135deg, #fffaf0, #ffffff);
}

.qr-travel-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.qr-travel-head p,
.qr-travel-route span,
.qr-travel-row small,
.qr-travel-rule span {
  color: var(--muted);
}

.qr-travel-route {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.qr-travel-route > div,
.qr-travel-rule {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.qr-travel-table {
  display: grid;
  border-top: 1px solid var(--line);
}

.qr-travel-row {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 70px minmax(120px, 0.7fr) 130px;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.qr-travel-row > div {
  display: grid;
  gap: 4px;
}

.qr-travel-row > span {
  width: fit-content;
  padding: 5px 10px;
  border-radius: 999px;
  color: #7c5314;
  background: #fff0cf;
  font-size: 12px;
  font-weight: 800;
}
.end-day-panel {
  display: grid;
  gap: 14px;
  margin: 0 0 16px;
  padding: 16px;
  border: 1px solid rgba(11, 79, 97, 0.16);
  border-radius: 8px;
  background: linear-gradient(135deg, #f3fbff, #ffffff);
}

.end-day-head,
.end-day-overtime {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.end-day-head p,
.end-day-grid span,
.end-day-grid small,
.end-day-overtime span,
.offline-scan-row span {
  color: var(--muted);
}

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

.end-day-grid > div,
.end-day-overtime,
.offline-scan-list {
  display: grid;
  gap: 6px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.offline-scan-list {
  gap: 0;
}

.offline-scan-row {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 90px 150px;
  gap: 10px;
  align-items: center;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}

.offline-scan-row em {
  width: fit-content;
  padding: 5px 10px;
  border-radius: 999px;
  color: var(--sea);
  background: var(--foam-strong);
  font-style: normal;
  font-size: 12px;
  font-weight: 800;
}
.cost-allocation-panel {
  display: grid;
  gap: 14px;
  margin: 0 0 16px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: linear-gradient(135deg, #f4fbf8, #ffffff);
}

.cost-allocation-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.cost-allocation-head p,
.allocation-rule span,
.allocation-rule small,
.cost-allocation-row small,
.cost-allocation-summary span {
  color: var(--muted);
}

.cost-allocation-summary {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.cost-allocation-summary > div,
.allocation-rule {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.cost-allocation-table {
  display: grid;
  border-top: 1px solid var(--line);
}

.cost-allocation-row {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 120px 160px 140px;
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.cost-allocation-row > div {
  display: grid;
  gap: 4px;
}

.cost-allocation-row > span {
  width: fit-content;
  padding: 5px 10px;
  border-radius: 999px;
  color: var(--sea);
  background: var(--foam-strong);
  font-size: 12px;
  font-weight: 800;
}

.allocation-bar {
  display: block;
  width: 100%;
  height: 8px;
  margin-top: 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #e7f1ef;
}

.allocation-bar i {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--sea), var(--aqua));
}

.pricing-layer {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(201, 162, 75, 0.28);
  border-radius: 8px;
  background: linear-gradient(135deg, #fffaf0, #ffffff);
}

.pricing-layer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.pricing-layer-head p,
.pricing-layer small,
.pricing-grid span {
  color: var(--muted);
}

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

.pricing-grid > div {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}
.dispatch-layout {
  display: grid;
  grid-template-columns: minmax(280px, 0.42fr) minmax(0, 1fr);
  gap: 16px;
  align-items: stretch;
}

.dispatch-map {
  position: relative;
  min-height: 320px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 8px;
  padding: 18px;
  background:
    linear-gradient(90deg, rgba(11, 79, 97, 0.08) 1px, transparent 1px),
    linear-gradient(0deg, rgba(11, 79, 97, 0.08) 1px, transparent 1px),
    radial-gradient(circle at 28% 30%, rgba(100, 211, 205, 0.35), transparent 24%),
    radial-gradient(circle at 70% 70%, rgba(201, 162, 75, 0.24), transparent 26%),
    #f8fcfb;
  background-size: 42px 42px, 42px 42px, auto, auto, auto;
}

.dispatch-map span,
.dispatch-map strong {
  position: relative;
  z-index: 1;
  display: block;
}

.dispatch-map span {
  color: var(--muted);
}

.dispatch-map strong {
  margin-top: 6px;
  font-size: 24px;
}

.map-pin {
  position: absolute;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  color: var(--white);
  background: var(--sea);
  box-shadow: 0 10px 22px rgba(11, 79, 97, 0.24);
  font-style: normal;
  font-weight: 900;
}

.pin-a { inset-block-start: 32%; inset-inline-start: 28%; }
.pin-b { inset-block-start: 58%; inset-inline-start: 64%; background: var(--gold); }
.pin-c { inset-block-start: 42%; inset-inline-start: 76%; background: #1f6b54; }

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

.dispatch-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.1fr) minmax(150px, 0.7fr) minmax(190px, 0.8fr) minmax(190px, 0.9fr);
  gap: 12px;
  align-items: center;
  padding: 13px 0;
  border-top: 1px solid var(--line);
}

.dispatch-row > div {
  display: grid;
  gap: 4px;
}

.dispatch-row strong {
  font-size: 16px;
}

@media (max-width: 1050px) {
  .dispatch-summary,
  .electronic-work-order-meta,
  .electronic-work-order-grid,
  .qr-travel-route,
  .qr-travel-row,
  .end-day-grid,
  .offline-scan-row,
  .cost-allocation-summary,
  .cost-allocation-row,
  .pricing-grid,
  .dispatch-layout,
  .dispatch-row {
    grid-template-columns: 1fr;
  }

  .dispatch-map {
    min-height: 240px;
  }
}
.dispatch-cost {
  display: grid;
  gap: 4px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.dispatch-cost strong,
.cost-summary strong {
  color: var(--sea);
}

.dispatch-cost.loss,
.cost-summary.loss {
  background: #fff8f6;
  border-color: #f0d3cb;
}

.dispatch-cost.loss strong,
.cost-summary.loss strong {
  color: var(--danger);
}

.dispatch-cost.profit,
.cost-summary.profit {
  background: #f4fbf8;
}
.occupancy-snapshot {
  display: grid;
  gap: 14px;
  margin: 0 0 16px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #ffffff;
}

.occupancy-snapshot.occupied {
  border-color: #f0d3cb;
  background: #fffaf8;
}

.occupancy-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}

.occupancy-heading strong {
  display: block;
  margin: 4px 0;
  font-size: 22px;
}

.occupancy-heading small,
.occupancy-grid span,
.occupancy-grid small {
  color: var(--muted);
}

.stay-progress {
  overflow: hidden;
  height: 10px;
  border-radius: 999px;
  background: #e7eeee;
}

.stay-progress span {
  display: block;
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, var(--sea), var(--gold));
}

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

.occupancy-grid > div {
  display: grid;
  gap: 5px;
  min-height: 96px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--foam);
}

.occupancy-grid strong {
  font-size: 16px;
}

@media (max-width: 850px) {
  .occupancy-heading,
  .occupancy-grid {
    grid-template-columns: 1fr;
    display: grid;
  }
}
.nav-icon {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  color: var(--sea);
  background: var(--sea-soft);
  font-weight: 900;
}

.nav-item.active .nav-icon,
.nav-item:hover .nav-icon {
  color: var(--sea);
  background: var(--white);
}

.nav-copy {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.nav-copy strong {
  font-size: 15px;
}

.nav-copy small {
  color: inherit;
  opacity: 0.78;
  font-size: 12px;
}

.nav-item .gate-badge {
  white-space: nowrap;
}

.finance-panel {
  grid-column: 1 / -1;
}

.finance-view.hidden {
  display: none;
}

.finance-view-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 16px;
  padding: 6px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--foam);
}

.finance-view-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  min-height: 44px;
  padding: 9px 12px;
  color: var(--muted);
  background: transparent;
}

.finance-view-tab strong {
  display: grid;
  place-items: center;
  min-width: 23px;
  min-height: 23px;
  padding: 2px 6px;
  border-radius: 999px;
  color: var(--navy);
  background: #fff;
  font-size: 12px;
}

.finance-view-tab.active {
  color: #fff;
  background: var(--navy);
  box-shadow: 0 8px 18px rgba(11, 79, 97, 0.16);
}

.finance-overview-note {
  display: grid;
  gap: 6px;
  padding: 16px;
  border-inline-start: 4px solid var(--sea);
  border-radius: 8px;
  background: #f7fffc;
}

.finance-overview-note small {
  color: var(--muted);
}

.finance-ledger-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-bottom: 16px;
}

.finance-ledger-summary > div,
.finance-account-card {
  display: grid;
  gap: 7px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--foam);
}

.finance-ledger-summary span,
.finance-ledger-summary small,
.finance-account-card p,
.finance-account-card dt,
.finance-account-card small {
  color: var(--muted);
}

.finance-ledger-summary strong {
  font-size: 24px;
}

.finance-accounts-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.finance-account-card {
  align-content: start;
  min-height: 230px;
  background: #fff;
}

.finance-account-card.receivable {
  border-color: #cfe8df;
}

.finance-billing-panel {
  display: grid;
  gap: 12px;
  margin: 0 0 16px;
  padding: 16px;
  border: 1px solid #d8ece8;
  border-radius: 8px;
  background: linear-gradient(135deg, #f7fffc, #ffffff);
}

@media (max-width: 760px) {
  .dispatch-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

@media (max-width: 520px) {
  .dispatch-filter-head,
  .dispatch-filter-grid {
    display: grid;
    grid-template-columns: 1fr;
  }

  .dispatch-filter-reset {
    width: 100%;
  }
}

.finance-billing-panel.fallback {
  border-color: #ead1c8;
  background: #fffaf8;
}

.billing-filters {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--foam);
}

.billing-filter-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.billing-filter-head span,
.billing-filter-field span,
.billing-line-row span,
.billing-line-row small,
.billing-lines-empty small {
  color: var(--muted);
  font-size: 12px;
}

.billing-filter-head button {
  width: auto;
  padding: 8px 12px;
  color: var(--navy);
  border: 1px solid var(--line);
  background: #fff;
}

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

.billing-filter-field {
  display: grid;
  gap: 5px;
}

.billing-filter-field select {
  min-width: 0;
  background: #fff;
}

.billing-lines-table {
  display: grid;
  border-top: 1px solid var(--line);
}

.billing-line-row {
  display: grid;
  grid-template-columns: minmax(210px, 1.3fr) repeat(4, minmax(110px, 0.7fr));
  gap: 12px;
  align-items: center;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.billing-line-row > div,
.billing-lines-empty {
  display: grid;
  gap: 4px;
}

.billing-lines-empty {
  place-content: center;
  min-height: 130px;
  text-align: center;
}

.finance-billing-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
}

.finance-billing-head > div {
  display: grid;
  gap: 5px;
}

.finance-billing-head small,
.finance-billing-summary span,
.finance-billing-latest span,
.finance-billing-latest small {
  color: var(--muted);
}

.finance-billing-summary {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.finance-billing-summary > div,
.finance-billing-latest {
  display: grid;
  gap: 5px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.finance-account-card.payable {
  border-color: #f0d3cb;
  background: #fffaf8;
}

.finance-account-card strong {
  font-size: 16px;
}

.finance-account-card dl {
  display: grid;
  gap: 7px;
  margin: 6px 0 0;
}

.finance-account-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  padding-top: 7px;
  border-top: 1px solid var(--line);
}

.finance-account-card dd {
  margin: 0;
  font-weight: 900;
}

.deposit-settlement {
  display: grid;
  gap: 14px;
  margin: 0 0 16px;
  padding: 16px;
  border: 1px solid #cfe8df;
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(240, 252, 249, 0.95), rgba(255, 255, 255, 0.98));
}

.deposit-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.deposit-head > div {
  display: grid;
  gap: 6px;
}

.deposit-head strong {
  font-size: 20px;
}

.deposit-head small,
.deposit-summary span,
.deposit-row small {
  color: var(--muted);
}

.deposit-payout-action {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 14px;
  border: 1px solid #d8ece8;
  border-radius: 8px;
  background: #fff;
}

.deposit-payout-action > div {
  display: grid;
  gap: 5px;
}

.deposit-payout-action strong {
  font-size: 18px;
}

.deposit-payout-action small,
.deposit-approval-flow span {
  color: var(--muted);
}

.payout-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 210px;
  min-height: 46px;
  border: 0;
  border-radius: 8px;
  padding: 12px 18px;
  background: var(--sea);
  color: #fff;
  font-weight: 900;
  cursor: pointer;
  box-shadow: 0 10px 22px rgba(5, 82, 94, 0.16);
  white-space: nowrap;
}

.payout-button:hover {
  filter: brightness(0.94);
}

.deposit-approval-flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.deposit-approval-flow span {
  display: grid;
  gap: 4px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.72);
}

.deposit-approval-flow strong {
  color: var(--ink);
}
.payout-workflow {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.78);
}

.payout-workflow-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.payout-workflow-head > div {
  display: grid;
  gap: 5px;
}

.payout-workflow-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.payout-workflow-grid span,
.payout-controls span {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  color: var(--muted);
}

.payout-workflow-grid strong,
.payout-controls strong {
  color: var(--ink);
}

.payout-controls {
  display: grid;
  grid-template-columns: 160px repeat(3, minmax(0, 1fr));
  align-items: stretch;
  gap: 10px;
}

.payout-controls > strong {
  display: grid;
  place-items: center;
  padding: 10px 12px;
  border-radius: 8px;
  background: var(--sea-soft);
}
.deposit-summary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.deposit-summary > div {
  display: grid;
  gap: 6px;
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
}

.deposit-summary strong {
  font-size: 22px;
}

.post-payout-review {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid #d8ece8;
  border-radius: 8px;
  background: #ffffff;
}

.post-payout-review-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 14px;
}

.post-payout-review-head > div {
  display: grid;
  gap: 5px;
}

.post-payout-review-head small {
  color: var(--muted);
}

.review-reward {
  display: grid;
  gap: 5px;
  padding: 13px 14px;
  border: 1px solid #e6d9ad;
  border-radius: 8px;
  background: linear-gradient(135deg, #fffaf0, #ffffff);
}

.review-reward strong {
  color: var(--gold);
  font-size: 20px;
}

.review-reward span {
  color: var(--ink);
  font-weight: 800;
}

.review-reward small {
  color: var(--muted);
}

.review-rating-block {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--foam);
}

.payout-stage-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}

.payout-stage-track > div {
  position: relative;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  background: #fff;
  text-align: center;
  font-size: 12px;
  font-weight: 800;
}

.payout-stage-track > div.reached {
  color: #1f6b54;
  border-color: #b9dfd1;
  background: #effaf6;
}

.payout-receipt-check {
  display: flex;
  align-items: center;
  gap: 9px;
  padding: 12px;
  border: 1px solid #d8ece8;
  border-radius: 8px;
  background: #f7fffc;
  font-weight: 800;
}

.payout-receipt-check input {
  width: 18px;
  height: 18px;
  accent-color: var(--sea);
}

.payout-workflow-message {
  margin: 0;
  padding: 10px 12px;
  border-radius: 8px;
  color: #7c5314;
  background: #fff0cf;
}

.payout-history {
  display: grid;
  gap: 7px;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}

.payout-history > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid var(--line);
}

.payout-history small {
  color: var(--muted);
}

.review-rating-block > div:first-child {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.review-rating-block span {
  color: var(--ink);
  font-weight: 800;
}

.rating-scale {
  display: grid;
  grid-template-columns: repeat(5, minmax(46px, 1fr));
  gap: 8px;
}

.rating-option {
  display: grid;
  place-items: center;
  min-height: 44px;
  border: 1px solid #b8dcda;
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  min-height: 62px;
}

.rating-option input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.rating-option span {
  display: grid;
  place-items: center;
  width: 100%;
  height: 100%;
  border-radius: 8px;
  color: var(--sea);
  font-size: 18px;
  font-weight: 900;
}

.rating-option input:checked + span {
  background: var(--sea);
  color: #fff;
}
.review-question-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.review-check {
  display: grid;
  grid-template-columns: 20px minmax(0, 1fr);
  align-items: start;
  gap: 10px;
  min-height: 58px;
  padding: 11px 12px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: var(--foam);
  color: var(--ink);
  font-weight: 800;
  cursor: pointer;
}

.review-check input {
  width: 18px;
  height: 18px;
  margin: 2px 0 0;
  accent-color: var(--sea);
}

.review-check span {
  line-height: 1.45;
}

.review-consent-note {
  padding: 11px 12px;
  border: 1px solid #d8ece8;
  border-radius: 8px;
  background: var(--foam);
  color: var(--muted);
  font-weight: 800;
  line-height: 1.6;
}
.deposit-deductions {
  display: grid;
  border-top: 1px solid var(--line);
}

.deposit-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}

.deposit-row:last-child {
  border-bottom: 0;
}

.deposit-row > div {
  display: grid;
  gap: 4px;
}

.deposit-row > span {
  font-weight: 900;
  color: var(--ink);
  white-space: nowrap;
}

@media (max-width: 1200px) {
  .finance-accounts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .booking-request-review-list { grid-template-columns: 1fr; }
  .security-packet-list { grid-template-columns: 1fr; }
  .turnover-list { grid-template-columns: 1fr; }
}

.cleaning-package-picker {
  margin: 8px 0;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  background: #f4faf8;
}
.cleaning-package-picker legend { padding: 0 8px; color: var(--ink); font-size: 17px; font-weight: 900; }
.cleaning-package-picker > p { margin: 0 0 12px; color: var(--muted); line-height: 1.55; }
.cleaning-package-options { display: grid; gap: 9px; }
.cleaning-package-option { position: relative; display: grid; gap: 7px; padding: 12px; border: 1px solid var(--line); border-radius: 10px; background: #fff; cursor: pointer; transition: .18s ease; }
.cleaning-package-option:hover { border-color: #72bdb5; transform: translateY(-1px); }
.cleaning-package-option.selected { border: 2px solid var(--sea); background: #ecf8f5; box-shadow: 0 8px 18px rgba(4,79,91,.08); }
.cleaning-package-option:has(input[value="deep_clean"]) { border-inline-start: 7px solid #d6a943; }
.cleaning-package-option:has(input[value="deep_clean"]).selected { border-color: #d6a943; background: #fff9e9; box-shadow: 0 8px 18px rgba(171,121,22,.10); }
.cleaning-package-option:has(input[value="ultra_clean"]) { border-inline-start: 7px solid #142f38; }
.cleaning-package-option:has(input[value="ultra_clean"]).selected { border-color: #142f38; background: #edf2f3; box-shadow: 0 8px 18px rgba(20,47,56,.14); }
.cleaning-package-option > input { position: absolute; opacity: 0; pointer-events: none; }
.cleaning-package-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.cleaning-package-heading strong { color: var(--ink); font-size: 15px; }
.cleaning-package-heading em { padding: 4px 8px; border-radius: 999px; background: #dff3ec; color: #086b5e; font-style: normal; font-weight: 900; white-space: nowrap; }
.cleaning-package-option > small { color: var(--muted); line-height: 1.55; }
.cleaning-duration { color: #9b6b12; font-size: 12px; font-weight: 900; }
.cleaning-package-option details { border-top: 1px solid var(--line); padding-top: 7px; }
.cleaning-package-option summary { color: var(--sea); font-weight: 900; cursor: pointer; }
.cleaning-package-option ul { margin: 8px 0 0; padding-inline-start: 20px; color: var(--muted); line-height: 1.65; }
.cleaning-package-option li b { color: #9b6b12; font-size: 11px; }
.cleaning-standard-note { display: block; margin-top: 10px; color: var(--muted); line-height: 1.55; }
.cleaning-seal-page { min-height: 80vh; display: grid; place-items: center; padding: 28px; background: radial-gradient(circle at top, #d8f2ee, #f7f3e7 58%, #edf7f5); }
.cleaning-seal-card { width: min(720px, 100%); overflow: hidden; border: 1px solid var(--line); border-top: 10px solid var(--sea); border-radius: 22px; background: #fff; box-shadow: 0 24px 60px rgba(7,53,62,.16); }
.cleaning-seal-card.deep_clean { border-top-color: #d6a943; }.cleaning-seal-card.ultra_clean { border-top-color: #142f38; }
.cleaning-seal-card > header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 20px 24px; border-bottom: 1px solid var(--line); }
.cleaning-seal-card > header > img { width: 165px; max-height: 48px; }.cleaning-seal-card > header span { color: #087465; font-weight: 900; }
.cleaning-seal-unit,.cleaning-seal-meta,.cleaning-seal-checklist,.cleaning-seal-rights,.cleaning-seal-card form,.cleaning-seal-success { margin: 20px 24px; }
.cleaning-seal-unit { text-align: center; }.cleaning-seal-unit h1 { margin: 6px 0 12px; font-size: clamp(30px,6vw,52px); color: var(--ink); }.cleaning-seal-unit > strong { display: inline-block; padding: 7px 13px; border-radius: 999px; background: #dff3ec; color: #086b5e; }.cleaning-seal-unit p { color: var(--muted); line-height: 1.65; }
.cleaning-seal-meta { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px; border-radius: 12px; background: var(--foam); }.cleaning-seal-meta span { display: grid; gap: 4px; }
.cleaning-seal-checklist { display: grid; border: 1px solid var(--line); border-radius: 12px; }.cleaning-seal-checklist h3 { margin: 0; padding: 14px; border-bottom: 1px solid var(--line); }.cleaning-seal-checklist > div { display: grid; grid-template-columns: 24px 1fr auto; gap: 9px; padding: 11px 14px; border-bottom: 1px solid var(--line); }.cleaning-seal-checklist > div:last-child { border-bottom: 0; }.cleaning-seal-checklist i { color: #07806d; font-style: normal; font-weight: 900; }.cleaning-seal-checklist b { color: #9b6b12; font-size: 11px; }
.cleaning-seal-rights { padding: 13px; border-inline-start: 4px solid #d6a943; background: #fff9ea; color: var(--muted); line-height: 1.65; }
.cleaning-seal-card form { display: grid; gap: 12px; }.cleaning-seal-card form label { display: grid; gap: 6px; font-weight: 800; }.cleaning-seal-card form input,.cleaning-seal-card form textarea { padding: 11px; border: 1px solid var(--line); border-radius: 8px; }.cleaning-seal-card form button { padding: 14px; border: 0; border-radius: 9px; background: var(--sea); color: #fff; font-weight: 900; cursor: pointer; }
.cleaning-seal-consent { grid-template-columns: 22px 1fr !important; align-items: start; }.cleaning-seal-consent input { width: 18px; height: 18px; accent-color: var(--sea); }.cleaning-seal-success { padding: 17px; border-radius: 12px; background: #dff3ec; color: #086b5e; text-align: center; }.cleaning-seal-success span { display: block; margin-top: 5px; }
.cleaning-seal-ops { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-top: 12px; padding: 10px; border: 1px dashed #72bdb5; border-radius: 9px; background: #eef9f6; }.cleaning-seal-ops span { flex: 1 1 220px; color: #086b5e; font-weight: 900; }.cleaning-seal-ops a,.cleaning-seal-ops button { padding: 8px 10px; border: 1px solid var(--sea); border-radius: 7px; background: #fff; color: var(--sea); font-weight: 900; text-decoration: none; cursor: pointer; }
.cleaning-seal-qr { flex: 0 0 auto; padding: 7px; border: 1px solid var(--line); border-radius: 9px; background: #fff; }.cleaning-seal-qr img,.cleaning-seal-qr canvas { display:block; }.cleaning-seal-qr.receipt { margin-inline-start:auto; }
.booking-payments { display:grid; gap:14px; }.booking-payments-head { display:flex; align-items:end; justify-content:space-between; gap:16px; }.booking-payments-head h2 { margin:5px 0; color:var(--ink); }.booking-payments-head p { margin:0; color:var(--muted); }.booking-payments-head button { padding:9px 13px; border:0; border-radius:8px; background:var(--sea); color:#fff; font-weight:900; cursor:pointer; }
.booking-payment-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }.booking-payment-card { display:grid; gap:12px; padding:15px; border:1px solid var(--line); border-radius:12px; background:#fff; }.booking-payment-card > header { display:flex; align-items:start; justify-content:space-between; gap:12px; }.booking-payment-card h3 { margin:4px 0; color:var(--ink); }.booking-payment-card small { color:var(--muted); }.booking-payment-guest { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; padding:10px; border-radius:9px; background:var(--foam); }.booking-payment-guest span { display:grid; gap:3px; }.booking-payment-breakdown { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border:1px solid var(--line); border-radius:9px; overflow:hidden; }.booking-payment-breakdown span { display:grid; gap:4px; padding:10px; border-inline-end:1px solid var(--line); border-bottom:1px solid var(--line); }.booking-payment-breakdown .total { background:#fff7e7; }.booking-payment-proof { margin:0; padding:9px; border-inline-start:4px solid #d6a943; background:#fff9ea; color:var(--muted); }.booking-payment-actions { display:flex; flex-wrap:wrap; justify-content:end; gap:7px; }.booking-payment-actions button { padding:8px 10px; cursor:pointer; }
@media(max-width:1100px){.booking-payment-list{grid-template-columns:1fr;}}@media(max-width:650px){.booking-payments-head{display:grid}.booking-payment-breakdown,.booking-payment-guest{grid-template-columns:1fr;}}
body:has(.page-slice:not(.hidden) .cleaning-seal-page) .shell { grid-template-columns: 1fr; }
body:has(.page-slice:not(.hidden) .cleaning-seal-page) .sidebar { display: none; }
body:has(.page-slice:not(.hidden) .cleaning-seal-page) .workspace { padding: 0; }
@media print { .sidebar,.topbar,.cleaning-seal-card form { display:none !important; }.shell,.workspace { display:block !important; overflow:visible !important; }.cleaning-seal-page { min-height:auto; padding:0; background:#fff; }.cleaning-seal-card { width:100%; box-shadow:none; } }

@media (max-width: 760px) {
  .finance-ledger-summary,
  .booking-dashboard-grid,
  .booking-review-kpis,
  .security-kpis,
  .booking-review-filters,
  .booking-review-guest,
  .finance-billing-summary,
  .finance-accounts-grid,
  .deposit-summary,
  .deposit-approval-flow,
  .payout-workflow-grid,
  .payout-controls,
  .review-question-grid,
  .rating-scale {
    grid-template-columns: 1fr;
  }

  .booking-review-head { display: grid; align-items: start; }.booking-review-stay { grid-template-columns: 1fr; }.booking-review-stay > span { justify-self: start; }
  .security-readiness-head { display: grid; align-items: start; }.security-arrival-row,.security-gates { grid-template-columns: 1fr; }
  .turnover-board-head { display: grid; align-items: start; }.turnover-times { grid-template-columns: 1fr; }

  .deposit-head,
  .finance-billing-head,
  .deposit-payout-action,
  .deposit-row,
  .payout-workflow-head,
  .post-payout-review-head {
    display: grid;
    grid-template-columns: 1fr;
  }

  .payout-button {
    width: 100%;
  }

  .finance-view-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .payout-stage-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .payout-history > div {
    display: grid;
  }

  .billing-filter-head,
  .billing-filter-grid,
  .billing-line-row {
    display: grid;
    grid-template-columns: 1fr;
  }

  .billing-filter-head button {
    width: 100%;
  }
}

.unit-intake-panel{margin:1rem 0;padding:1.1rem;border:1px solid var(--line);border-radius:18px;background:linear-gradient(135deg,#f8fcfb,#fffaf0)}
.unit-intake-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1rem}.unit-intake-head h3{margin:.2rem 0;font-size:1.4rem}.unit-intake-head p{margin:0;color:var(--muted)}
.intake-feature-group{border:1px solid var(--line);border-radius:14px;margin:.8rem 0;padding:.8rem}.intake-feature-group legend{padding:0 .5rem;font-weight:800;color:var(--sea)}
.intake-feature-list{display:grid;gap:.55rem}.intake-feature-row{display:grid;grid-template-columns:minmax(210px,1.3fr) 90px minmax(160px,1fr) auto;gap:.6rem;align-items:center;padding:.65rem;background:#fff;border:1px solid #e2eeeb;border-radius:11px}
.intake-owner-choice{display:flex;align-items:center;gap:.55rem}.intake-owner-choice input{width:18px;height:18px}.intake-quantity,.intake-note,.owner-acknowledgement input,.owner-acknowledgement select{min-height:38px;border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem}
.inspection-chip{font-size:.78rem;padding:.32rem .55rem;border-radius:999px;background:#f3f3f3;white-space:nowrap}.inspection-chip.verified_working{background:#daf2e9;color:#006c59}.inspection-chip.needs_maintenance{background:#fff0cb;color:#8a5a00}.inspection-chip.not_present{background:#fde3de;color:#a3392c}
.inspection-actions{grid-column:1/-1;display:flex;gap:.45rem;justify-content:flex-end}.inspection-actions button,.intake-footer-actions button{min-height:38px}.intake-general-note{display:grid;gap:.35rem;font-weight:700}.intake-general-note textarea{min-height:70px}.intake-footer-actions{display:flex;gap:.6rem;justify-content:flex-end;margin-top:.8rem}.owner-acknowledgement{display:grid;grid-template-columns:1fr 1fr;gap:.65rem;margin-top:1rem;padding:1rem;border:1px solid #d7b45b;border-radius:14px;background:#fffaf0}.owner-acknowledgement strong,.owner-acknowledgement p,.owner-acknowledgement .intake-footer-actions{grid-column:1/-1}
@media(max-width:900px){.intake-feature-row{grid-template-columns:1fr}.inspection-actions{grid-column:auto}.unit-intake-head{flex-direction:column}.owner-acknowledgement{grid-template-columns:1fr}}
.user-admin-page{background:#fff;border:1px solid var(--line);border-radius:24px;padding:28px}.user-admin-head,.user-admin-toolbar,.user-admin-card>header,.user-role-list>div{display:flex;align-items:center;justify-content:space-between;gap:18px}.user-admin-head h2{margin:6px 0;font-size:clamp(1.8rem,3vw,3rem)}.user-admin-head p{margin:0;color:var(--muted);max-width:760px}.user-admin-head button{background:var(--sea);color:#fff;border:0;border-radius:10px;padding:12px 18px}.user-admin-toolbar{background:var(--foam);padding:14px;border-radius:16px;margin:22px 0}.user-admin-toolbar input{flex:1;min-width:180px;padding:12px;border:1px solid var(--line);border-radius:10px}.user-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.user-admin-card{border:1px solid var(--line);border-radius:18px;padding:18px;min-width:0}.user-admin-card header h3{margin:5px 0}.user-admin-card header span,.user-admin-card header small{color:var(--muted)}.user-role-list{display:grid;gap:8px;margin:16px 0}.user-role-list>div{background:var(--foam);border-radius:12px;padding:10px}.user-role-list span{display:grid;gap:3px}.user-role-list small{color:var(--muted)}.user-role-form{display:grid;grid-template-columns:1.2fr 1fr 1.2fr auto;gap:8px;border-top:1px solid var(--line);padding-top:14px}.user-role-form select,.user-role-form input,.user-role-form button{min-width:0;padding:10px;border:1px solid var(--line);border-radius:9px;background:#fff}.user-role-form button{background:var(--sea);color:#fff}.status-banner.success{background:#e6f7f1;color:#086b5b}.status-banner.error{background:#fff0ed;color:#a33d2c}@media(max-width:980px){.user-admin-grid{grid-template-columns:1fr}.user-role-form{grid-template-columns:1fr 1fr}.user-admin-head{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.user-admin-page{padding:16px}.user-admin-toolbar,.user-admin-card>header,.user-role-list>div{align-items:stretch;flex-direction:column}.user-role-form{grid-template-columns:1fr}}
.user-role-form label{display:grid;gap:5px;color:var(--muted);font-size:.78rem}.user-role-form label span{padding-inline:3px}.user-role-form>button{align-self:end;min-height:39px}
