/* input(288,162): run-time error CSS1035: Expected colon, found ';' */
/* =============================================================================
   Stay platform enterprise layer
   Additive styles for stay-platform-enterprise.js. No left-border accents.
   ============================================================================= */

.shp-head-act .stay-property-scope {
    display: grid;
    gap: 3px;
    min-width: min(320px, 28vw);
    margin-right: 6px;
    color: #1d252d;
}

.stay-property-scope__eyebrow {
    display: flex;
    align-items: center;
    gap: 6px;
    padding-inline: 3px;
    font-size: 9.5px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
    color: #7b8798;
}

.stay-property-scope__select {
    position: relative;
    display: block;
}

.stay-property-scope select {
    width: 100%;
    min-height: 42px;
    padding: 0 38px 0 13px;
    border: 1px solid rgba(17, 31, 44, .12);
    border-radius: 14px;
    background: rgba(255, 255, 255, .92);
    color: #18212a;
    font: 700 12px/1.2 var(--st-font, "Outfit", "Segoe UI", sans-serif);
    box-shadow: 0 10px 28px rgba(15, 25, 35, .07);
    appearance: none;
    cursor: pointer;
}

.stay-property-scope__select > i {
    position: absolute;
    right: 13px;
    top: 50%;
    translate: 0 -50%;
    pointer-events: none;
    color: #f58220;
}

.stay-ent-hero,
.stay-ent-workspace,
.stay-ent-panel,
.stay-ent-help {
    font-family: var(--st-font, "Outfit", "Segoe UI", sans-serif);
}

.stay-ent-hero {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 2px 2px 20px;
}

.stay-ent-hero__copy {
    max-width: 780px;
}

.stay-ent-eyebrow,
.stay-ent-kicker {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 8px;
    color: #f58220;
    font-size: 10.5px;
    line-height: 1.2;
    font-weight: 850;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.stay-ent-hero h2 {
    margin: 0;
    color: #171c21;
    font-size: clamp(25px, 2.4vw, 42px);
    line-height: 1.03;
    letter-spacing: -.04em;
}

.stay-ent-hero p {
    max-width: 720px;
    margin: 10px 0 0;
    color: #68778b;
    font-size: 14px;
    line-height: 1.55;
}

.stay-ent-scope-pill,
.stay-ent-ready {
    flex: 0 0 auto;
    display: grid;
    gap: 4px;
    min-width: 190px;
    padding: 14px 16px;
    border: 1px solid rgba(245, 130, 32, .24);
    border-radius: 18px;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,246,236,.92));
    box-shadow: 0 14px 35px rgba(31, 24, 18, .07);
}

.stay-ent-scope-pill span,
.stay-ent-ready span {
    color: #8c98a8;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.stay-ent-scope-pill b { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 13px; }
.stay-ent-ready { display: flex; align-items: center; min-width: auto; color: #b45d11; font-weight: 800; }
.stay-ent-ready.is-ready { border-color: rgba(17, 158, 106, .25); color: #087b55; background: rgba(234, 251, 245, .92); }
.stay-ent-ready i { font-size: 20px; }

.stay-ent-workspace {
    display: grid;
    min-height: 0;
    border: 1px solid rgba(18, 31, 43, .09);
    border-radius: 24px;
    background: rgba(255, 255, 255, .9);
    box-shadow: 0 20px 55px rgba(26, 35, 45, .07);
    overflow: hidden;
}

.stay-ent-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px;
    border-bottom: 1px solid rgba(18, 31, 43, .08);
    background: linear-gradient(180deg, #fff, #fbfcfd);
}

.stay-ent-search {
    min-width: 260px;
    flex: 1 1 360px;
    display: flex;
    align-items: center;
    gap: 10px;
    height: 44px;
    padding: 0 14px;
    border: 1px solid rgba(20, 35, 49, .12);
    border-radius: 14px;
    background: #fff;
    color: #8290a1;
}

.stay-ent-search:focus-within { border-color: rgba(245, 130, 32, .55); box-shadow: 0 0 0 3px rgba(245, 130, 32, .1); }
.stay-ent-search input { width: 100%; border: 0; outline: 0; background: transparent; color: #18212a; font: 600 13px/1.2 inherit; }

.stay-ent-segment {
    display: flex;
    align-items: center;
    gap: 4px;
    max-width: 100%;
    padding: 4px;
    border-radius: 14px;
    background: #f0f3f6;
    overflow-x: auto;
    scrollbar-width: none;
}
.stay-ent-segment::-webkit-scrollbar { display: none; }
.stay-ent-segment button {
    flex: 0 0 auto;
    min-height: 34px;
    padding: 0 12px;
    border: 0;
    border-radius: 10px;
    background: transparent;
    color: #657387;
    font: 750 11px/1 inherit;
    cursor: pointer;
}
.stay-ent-segment button.is-active { background: #fff; color: #17202a; box-shadow: 0 5px 16px rgba(20,30,40,.08); }

.stay-ent-select { flex: 0 0 auto; display: flex; align-items: center; gap: 8px; color: #8290a1; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.stay-ent-select select { height: 40px; padding: 0 32px 0 11px; border: 1px solid rgba(20,35,49,.12); border-radius: 12px; background: #fff; color: #25303b; font: 700 11px/1 inherit; }
.stay-ent-results { min-height: 180px; }

.stay-ent-loading {
    min-height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    color: #6f7d8e;
    font-size: 13px;
}
.stay-ent-spinner { width: 24px; height: 24px; border: 3px solid rgba(245,130,32,.18); border-top-color: #f58220; border-radius: 50%; animation: stay-ent-spin .75s linear infinite; }
.stay-ent-spinner--small { display: inline-block; width: 15px; height: 15px; border-width: 2px; }
@keyframes stay-ent-spin { to { rotate: 360deg; } }

.stay-ent-state {
    min-height: 170px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18px;
    padding: 28px;
    text-align: left;
    color: #758397;
}
.stay-ent-state > i { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 18px; background: #f2f5f8; color: #f58220; font-size: 24px; }
.stay-ent-state b { display: block; color: #1b242d; font-size: 16px; }
.stay-ent-state p { margin: 5px 0 0; font-size: 13px; line-height: 1.45; }
.stay-ent-state--error > i { color: #bd3b3b; background: #fff0f0; }

.stay-ent-ledger-rail { width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; scrollbar-color: rgba(245,130,32,.45) transparent; }
.stay-ent-ledger { min-width: 1120px; }
.stay-ent-ledger__head,
.stay-ent-ledger__row { display: grid; grid-template-columns: minmax(250px, 1.7fr) minmax(150px, 1fr) minmax(185px, 1.2fr) minmax(125px,.8fr) minmax(130px,.8fr) minmax(260px,1.5fr); align-items: center; gap: 14px; }
.stay-ent-ledger__head { min-height: 42px; padding: 0 18px; background: #f6f8fa; color: #8290a1; font-size: 9.5px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.stay-ent-ledger__row { min-height: 86px; padding: 12px 18px; border-top: 1px solid rgba(20,35,49,.075); background: #fff; transition: background .18s ease; }
.stay-ent-ledger__row:hover { background: #fffaf5; }
.stay-ent-reservation { display: flex; align-items: center; gap: 12px; min-width: 0; border: 0; padding: 0; background: transparent; text-align: left; cursor: pointer; }
.stay-ent-reservation img,
.stay-ent-cover-ph { flex: 0 0 64px; width: 64px; height: 58px; border-radius: 13px; object-fit: cover; background: #e9eef3; display: grid; place-items: center; color: #f58220; }
.stay-ent-reservation span:last-child { min-width: 0; }
.stay-ent-reservation b,
.stay-ent-cell b { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #19222b; font-size: 12.5px; }
.stay-ent-reservation small,
.stay-ent-cell small { display: block; margin-top: 4px; color: #8592a3; font-size: 10.5px; }
.stay-ent-money b { color: #087b55; font-size: 14px; }
.stay-ent-status { display: inline-flex; align-items: center; width: max-content; max-width: 100%; min-height: 26px; padding: 0 9px; border-radius: 999px; font-size: 9.5px; font-weight: 850; white-space: nowrap; }
.stay-ent-status--ok { color: #087b55; background: #e9f8f2; }
.stay-ent-status--warn { color: #a85b12; background: #fff1df; }
.stay-ent-status--bad { color: #a93535; background: #fdeaea; }
.stay-ent-status--muted { color: #637184; background: #edf1f5; }
.stay-ent-actions { display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.stay-ent-icon-btn { min-height: 32px; display: inline-flex; align-items: center; gap: 6px; padding: 0 9px; border: 1px solid rgba(18,31,43,.1); border-radius: 10px; background: #fff; color: #2c3742; font: 750 10px/1 inherit; cursor: pointer; }
.stay-ent-icon-btn:hover { translate: 0 -1px; box-shadow: 0 7px 18px rgba(20,30,40,.08); }
.stay-ent-icon-btn--primary { border-color: transparent; background: #17202a; color: #fff; }
.stay-ent-icon-btn--danger { color: #a93535; }

.stay-ent-pager { min-height: 58px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 10px 16px; border-top: 1px solid rgba(20,35,49,.08); background: #fbfcfd; color: #738195; font-size: 11px; }
.stay-ent-pager p { margin: 0; }
.stay-ent-pager__buttons { display: flex; align-items: center; gap: 6px; }
.stay-ent-pager__buttons button { width: 32px; height: 32px; border: 1px solid rgba(20,35,49,.1); border-radius: 10px; background: #fff; color: #34404c; cursor: pointer; }
.stay-ent-pager__buttons button:disabled { opacity: .35; cursor: default; }
.stay-ent-pager__buttons span { padding: 0 8px; white-space: nowrap; }

.stay-ent-trip-rail,
.stay-ent-guest-review-rail { display: flex; gap: 14px; padding: 16px; overflow-x: auto; scroll-snap-type: x proximity; overscroll-behavior-inline: contain; }
.stay-ent-trip-card { flex: 0 0 min(360px, 82vw); display: grid; grid-template-rows: 165px 1fr; border: 1px solid rgba(20,35,49,.09); border-radius: 20px; background: #fff; overflow: hidden; scroll-snap-align: start; box-shadow: 0 12px 30px rgba(24,34,44,.06); }
.stay-ent-trip-card__media { position: relative; background: #e8edf2; overflow: hidden; }
.stay-ent-trip-card__media img { width: 100%; height: 100%; object-fit: cover; }
.stay-ent-trip-card__media > span:not(.stay-ent-status) { display: grid; place-items: center; height: 100%; color: #f58220; font-size: 34px; }
.stay-ent-trip-card__media .stay-ent-status { position: absolute; top: 12px; right: 12px; box-shadow: 0 7px 22px rgba(20,30,40,.14); }
.stay-ent-trip-card__body { display: flex; flex-direction: column; min-height: 0; padding: 16px; }
.stay-ent-trip-card h3 { margin: 0 0 9px; color: #18212a; font-size: 18px; line-height: 1.15; }
.stay-ent-trip-card__body > p:not(.stay-ent-kicker) { display: flex; align-items: flex-start; gap: 8px; margin: 4px 0; color: #6d7b8e; font-size: 11.5px; line-height: 1.4; }
.stay-ent-trip-card__summary { display: grid; grid-template-columns: .7fr 1.3fr; gap: 8px; margin: 13px 0; }
.stay-ent-trip-card__summary span { padding: 10px 11px; border-radius: 13px; background: #f5f7f9; }
.stay-ent-trip-card__summary small { display: block; color: #8a97a7; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.stay-ent-trip-card__summary b { display: block; margin-top: 3px; color: #1a232c; font-size: 14px; }
.stay-ent-trip-card__actions { display: flex; gap: 6px; flex-wrap: wrap; margin-top: auto; }

.stay-ent-btn { min-height: 36px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; padding: 0 12px; border: 1px solid rgba(20,35,49,.11); border-radius: 11px; background: #fff; color: #2b3742; font: 750 10.5px/1 inherit; cursor: pointer; transition: translate .16s ease, box-shadow .16s ease; }
.stay-ent-btn:hover { translate: 0 -1px; box-shadow: 0 8px 20px rgba(20,30,40,.08); }
.stay-ent-btn--primary,
.stay-ent-btn--dark { border-color: transparent; background: #17202a; color: #fff; }
.stay-ent-btn--orange { border-color: transparent; background: linear-gradient(135deg, #ff8b20, #f36f0b); color: #fff; box-shadow: 0 12px 28px rgba(245,130,32,.22); }

.stay-ent-two-col { display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,.9fr); gap: 18px; }
.stay-ent-panel { min-height: 310px; padding: 28px; border: 1px solid rgba(20,35,49,.09); border-radius: 24px; background: #fff; box-shadow: 0 18px 45px rgba(20,30,40,.06); }
.stay-ent-panel--dark { color: #fff; border: 0; background: radial-gradient(circle at 85% 0, rgba(56,156,203,.22), transparent 40%), linear-gradient(145deg,#111b25,#263a4b); }
.stay-ent-panel h3 { margin: 7px 0 8px; color: #17202a; font-size: clamp(25px,3vw,42px); line-height: 1.05; letter-spacing: -.035em; }
.stay-ent-panel--dark h3 { color: black; font-size: 28px; }
.stay-ent-panel > p { color: #718094; line-height: 1.55; }
.stay-ent-panel--dark > p { color:darkolivegreen; }
.stay-ent-trust-row { display: flex; gap: 8px; flex-wrap: wrap; margin-top: 22px; }
.stay-ent-trust-row span { display: inline-flex; align-items: center; gap: 6px; padding: 8px 10px; border-radius: 999px; background: rgba(255,255,255,.09); black; font-size: 10px; font-weight: 700; }
.stay-ent-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 24px; }
.stay-ent-metrics span { padding: 14px; border-radius: 16px; background: #f3f6f8; }
.stay-ent-metrics small { display: block; color: #8b97a6; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.stay-ent-metrics b { display: block; margin-top: 5px; color: #19222b; font-size: 20px; }

.stay-ent-review-summary { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 10px; padding: 14px; }
.stay-ent-review-summary span { padding: 14px 16px; border-radius: 15px; background: #f5f7f9; }
.stay-ent-review-summary small { display: block; color: #8592a2; font-size: 9.5px; font-weight: 800; text-transform: uppercase; }
.stay-ent-review-summary b { display: block; margin-top: 5px; color: #19222b; font-size: 22px; }
.stay-ent-review-list { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; padding: 0 14px 14px; }
.stay-ent-review { padding: 17px; border: 1px solid rgba(20,35,49,.09); border-radius: 19px; background: #fff; }
.stay-ent-review > header { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 11px; align-items: center; }
.stay-ent-review > header img,
.stay-ent-review__initials { width: 44px; height: 44px; border-radius: 14px; object-fit: cover; display: grid; place-items: center; background: linear-gradient(145deg,#f6a04e,#e76f08); color: #fff; font-weight: 850; }
.stay-ent-review header b { display: block; color: #1a232c; font-size: 13px; }
.stay-ent-review header small { display: block; margin-top: 3px; color: #8995a5; font-size: 10px; }
.stay-ent-stars { display: inline-flex; gap: 2px; color: #f58220; font-size: 11px; }
.stay-ent-review__content { padding: 14px 0; }
.stay-ent-review__content h3 { margin: 0 0 5px; color: #18212a; font-size: 15px; }
.stay-ent-review__content p { margin: 0; color: #657488; font-size: 12px; line-height: 1.5; }
.stay-ent-reply { padding-top: 13px; border-top: 1px solid rgba(20,35,49,.08); }
.stay-ent-reply label span { display: block; margin-bottom: 6px; color: #58677a; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.stay-ent-reply textarea { width: 100%; resize: vertical; min-height: 82px; padding: 11px; border: 1px solid rgba(20,35,49,.12); border-radius: 13px; outline: 0; color: #1d2731; font: 500 12px/1.45 inherit; }
.stay-ent-reply textarea:focus { border-color: rgba(245,130,32,.55); box-shadow: 0 0 0 3px rgba(245,130,32,.08); }
.stay-ent-reply > div { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 9px; }
.stay-ent-reply small { color: #8794a4; font-size: 9.5px; }

.stay-ent-guest-review { flex: 0 0 min(390px,86vw); display: grid; grid-template-rows: 150px 1fr; border: 1px solid rgba(20,35,49,.09); border-radius: 20px; background: #fff; overflow: hidden; scroll-snap-align: start; }
.stay-ent-guest-review__media { background: #e9edf1; }
.stay-ent-guest-review__media img { width: 100%; height: 100%; object-fit: cover; }
.stay-ent-guest-review__media > span { display: grid; place-items: center; height: 100%; color: #f58220; font-size: 32px; }
.stay-ent-guest-review__body { padding: 17px; }
.stay-ent-guest-review h3 { margin: 0 0 8px; font-size: 18px; color: #18212a; }
.stay-ent-guest-review h4 { margin: 13px 0 5px; font-size: 14px; color: #1b252e; }
.stay-ent-guest-review__body > p:not(.stay-ent-kicker) { color: #657488; font-size: 12px; line-height: 1.5; }
.stay-ent-guest-review aside { margin: 14px 0; padding: 13px; border-radius: 15px; background: #f1f5f7; }
.stay-ent-guest-review aside span { color: #f58220; font-size: 9.5px; font-weight: 850; text-transform: uppercase; }
.stay-ent-guest-review aside p { margin: 5px 0; color: #3f4d5c; font-size: 12px; line-height: 1.45; }
.stay-ent-guest-review aside small { color: #8a96a5; font-size: 9.5px; }
.stay-ent-guest-review aside.is-pending { opacity: .75; }

.stay-ent-help { display: grid; grid-template-columns: minmax(240px,.34fr) minmax(0,1fr); gap: 18px; min-height: 0; }
.stay-ent-help__search { height: 54px; display: flex; align-items: center; gap: 11px; padding: 0 16px; border: 1px solid rgba(20,35,49,.1); border-radius: 17px; background: #fff; box-shadow: 0 14px 35px rgba(20,30,40,.055); color: #8995a5; }
.stay-ent-help__search input { width: 100%; border: 0; outline: 0; background: transparent; font: 650 13px/1 inherit; }
.stay-ent-help__topics { display: grid; align-content: start; gap: 9px; }
.stay-ent-help__item { border: 1px solid rgba(20,35,49,.09); border-radius: 17px; background: #fff; overflow: hidden; }
.stay-ent-help__item summary { display: flex; align-items: center; justify-content: space-between; gap: 15px; min-height: 68px; padding: 12px 16px; list-style: none; cursor: pointer; }
.stay-ent-help__item summary::-webkit-details-marker { display: none; }
.stay-ent-help__item summary small { display: block; color: #f58220; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.stay-ent-help__item summary b { display: block; margin-top: 3px; color: #1b242d; font-size: 13px; }
.stay-ent-help__item summary i { transition: rotate .18s ease; }
.stay-ent-help__item[open] summary i { rotate: 45deg; }
.stay-ent-help__item > p { margin: 0; padding: 0 16px 16px; color: #68778a; font-size: 12px; line-height: 1.55; }

@media (max-width: 1180px) {
    .shp-head-act .stay-property-scope { min-width: 220px; }
    .stay-ent-toolbar { flex-wrap: wrap; }
    .stay-ent-segment { order: 3; flex: 1 0 100%; }
    .stay-ent-review-list { grid-template-columns: 1fr; }
}

@media (max-width: 900px) {
    .shp-head-act .stay-property-scope { order: 5; width: 100%; min-width: 0; margin: 7px 0 0; }
    .stay-ent-hero { align-items: stretch; flex-direction: column; gap: 13px; }
    .stay-ent-scope-pill { width: 100%; }
    .stay-ent-two-col { grid-template-columns: 1fr; }
    .stay-ent-help { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
    .stay-ent-hero { padding-bottom: 14px; }
    .stay-ent-hero h2 { font-size: 27px; }
    .stay-ent-toolbar { padding: 10px; }
    .stay-ent-search { flex-basis: 100%; min-width: 0; }
    .stay-ent-select { width: 100%; justify-content: space-between; }
    .stay-ent-select select { flex: 1; }
    .stay-ent-pager { align-items: flex-start; flex-direction: column; }
    .stay-ent-pager__buttons { width: 100%; justify-content: space-between; }
    .stay-ent-review-summary { grid-template-columns: 1fr 1fr; }
    .stay-ent-review-summary span:first-child { grid-column: 1 / -1; }
    .stay-ent-review > header { grid-template-columns: 42px minmax(0,1fr); }
    .stay-ent-review > header .stay-ent-stars { grid-column: 2; }
    .stay-ent-reply > div { align-items: stretch; flex-direction: column; }
    .stay-ent-panel { padding: 20px; }
    .stay-ent-metrics { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .stay-ent-spinner { animation-duration: 1.8s; }
    .stay-ent-btn,
    .stay-ent-icon-btn { transition: none; }
}

/* =============================================================================
   2026-07 final host-console alignment pass
   - Reserves a clean utility band for the working-property selector.
   - Keeps long property names legible without allowing them to break layout.
   - Keeps every reservation action visible inside the horizontal ledger.
   No left-border accent treatments are used.
   ============================================================================= */

.shp-head-act .stay-property-scope {
    min-width: clamp(320px, 36vw, 520px);
    max-width: 520px;
    margin-right: 12px;
}

.stay-property-scope__select,
.stay-property-scope select {
    min-width: 0;
}

.stay-property-scope select {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

@media (min-width: 900px) {
    /* The header is deliberately floating. Reserve its height in the body so
       the selector never sits on top of KPIs, calendars or page headings. */
    .shp-redesign.stay-has-property-scope .shp-body {
        box-sizing: border-box;
        padding-top: 82px;
    }

    .shp-redesign.stay-has-property-scope .shp-body > *:first-child,
    .shp-redesign.stay-has-property-scope .shp-body > *:first-child:not(.shp-hero) {
        margin-top: 0;
    }

    .shp-redesign.stay-has-property-scope .shp-hero {
        padding-top: 18px;
    }

    .shp-redesign .shp-head {
        padding-right: 34px;
        padding-left: 34px;
    }
}

/* Host reservation ledger: the actions column remains visible while the
   information columns continue to scroll horizontally at smaller widths. */
.stay-ent-ledger--host {
    min-width: 1100px;
}

.stay-ent-ledger--host .stay-ent-ledger__head,
.stay-ent-ledger--host .stay-ent-ledger__row {
    grid-template-columns:
        minmax(230px, 1.55fr)
        minmax(120px, .82fr)
        minmax(172px, 1.12fr)
        minmax(112px, .72fr)
        minmax(118px, .76fr)
        292px;
}

.stay-ent-ledger--host .stay-ent-ledger__head > :last-child,
.stay-ent-ledger--host .stay-ent-ledger__row > .stay-ent-actions {
    position: sticky;
    right: 0;
    z-index: 3;
    background: #fff;
    box-shadow: -18px 0 26px -24px rgba(20, 30, 40, .42);
}

.stay-ent-ledger--host .stay-ent-ledger__head > :last-child {
    align-self: stretch;
    display: flex;
    align-items: center;
    padding-left: 14px;
    background: #f6f8fa;
}

.stay-ent-ledger--host .stay-ent-ledger__row > .stay-ent-actions {
    align-self: stretch;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-content: center;
    gap: 7px;
    min-height: 62px;
    padding: 7px 0 7px 14px;
}

.stay-ent-ledger--host .stay-ent-ledger__row:hover > .stay-ent-actions {
    background: #fffaf5;
}

.stay-ent-ledger--host .stay-ent-icon-btn {
    width: 100%;
    min-width: 0;
    justify-content: center;
    padding-inline: 8px;
    white-space: nowrap;
}

.stay-ent-ledger--host .stay-ent-icon-btn span {
    overflow: hidden;
    text-overflow: ellipsis;
}

@media (max-width: 1100px) {
    .shp-head-act .stay-property-scope {
        min-width: 280px;
        max-width: min(48vw, 430px);
    }
}

@media (max-width: 899px) {
    .shp-head-act .stay-property-scope {
        width: 100%;
        max-width: none;
        min-width: 0;
        margin-right: 0;
    }

    .stay-ent-ledger--host {
        min-width: 1040px;
    }
}

/* =============================================================================
   ONE-VIEWPORT TRIPS, RESERVATIONS AND MESSAGING
   Keeps desktop work inside the available portal surface while allowing normal
   document flow on tablets and phones. No border accent is introduced.
   ============================================================================= */
@media (min-width: 900px) {
    .sgp-body.stay-ent-body-oneview,
    .shp-body.stay-ent-body-oneview {
        box-sizing: border-box;
        display: grid;
        grid-template-rows: auto minmax(0, 1fr);
        gap: 10px;
        height: 100%;
        min-height: 0;
        overflow: hidden;
    }

    .stay-ent-body-oneview .stay-ent-hero--compact {
        min-height: 0;
        padding: 0 2px 8px;
    }

    .stay-ent-body-oneview .stay-ent-hero--compact .stay-ent-eyebrow {
        margin-bottom: 4px;
        font-size: 9px;
    }

    .stay-ent-body-oneview .stay-ent-hero--compact h2 {
        font-size: clamp(23px, 2vw, 34px);
    }

    .stay-ent-body-oneview .stay-ent-hero--compact p {
        max-width: 860px;
        margin-top: 5px;
        font-size: 12px;
        line-height: 1.35;
    }

    .stay-ent-body-oneview .stay-ent-scope-pill {
        min-width: 175px;
        padding: 10px 13px;
        border-radius: 14px;
    }

    .stay-ent-workspace--oneview {
        grid-template-rows: auto minmax(0, 1fr);
        height: 100%;
        min-height: 0;
    }

    .stay-ent-workspace--oneview .stay-ent-toolbar {
        min-height: 62px;
        padding: 9px 11px;
    }

    .stay-ent-workspace--oneview .stay-ent-search {
        height: 40px;
    }

    .stay-ent-workspace--oneview .stay-ent-results {
        min-height: 0;
        overflow: hidden;
    }

    .stay-ent-results--trips,
    .stay-ent-results--messages,
    .stay-ent-results--reservations {
        display: grid;
        min-height: 0;
    }

    .stay-ent-results--trips {
        grid-template-rows: auto minmax(0, 1fr) auto;
    }

    .stay-ent-results--messages,
    .stay-ent-results--reservations {
        grid-template-rows: minmax(0, 1fr) auto;
    }

    .stay-ent-results--reservations > .stay-ent-state,
    .stay-ent-results--messages > .stay-ent-state,
    .stay-ent-results--trips > .stay-ent-state,
    .stay-ent-results--reservations > .stay-ent-loading,
    .stay-ent-results--messages > .stay-ent-loading,
    .stay-ent-results--trips > .stay-ent-loading {
        grid-row: 1 / -1;
    }

    .stay-ent-results--reservations .stay-ent-ledger-rail {
        min-height: 0;
        overflow: auto;
        overscroll-behavior: contain;
    }
}

/* Results heading and property rail controls */
.stay-ent-results-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 48px;
    padding: 8px 16px 6px;
    color: #788699;
}

.stay-ent-results-head > div { min-width: 0; }
.stay-ent-results-head b { display: block; color: #1b252e; font-size: 13px; }
.stay-ent-results-head span { display: block; margin-top: 2px; font-size: 10.5px; }
.stay-ent-results-head > span:last-child {
    flex: 0 0 auto;
    margin: 0;
    padding: 6px 9px;
    border-radius: 999px;
    background: #f1f4f7;
    color: #566577;
    font-size: 10px;
    font-weight: 800;
}

.stay-ent-rail-shell {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr) 38px;
    align-items: stretch;
    gap: 8px;
    min-width: 0;
    min-height: 0;
    padding: 0 10px 8px;
}

.stay-ent-rail-arrow {
    align-self: center;
    width: 38px;
    height: 52px;
    border: 1px solid rgba(20, 35, 49, .11);
    border-radius: 14px;
    background: rgba(255, 255, 255, .96);
    color: #26323e;
    box-shadow: 0 10px 24px rgba(22, 31, 41, .08);
    cursor: pointer;
    transition: transform .16s ease, opacity .16s ease, box-shadow .16s ease;
}
.stay-ent-rail-arrow:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 14px 30px rgba(22,31,41,.12); }
.stay-ent-rail-arrow:disabled { opacity: .28; cursor: default; }

.stay-ent-rail-shell .stay-ent-trip-rail {
    min-width: 0;
    min-height: 0;
    height: 100%;
    padding: 2px;
    gap: 12px;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    cursor: grab;
    touch-action: pan-y pinch-zoom;
}
.stay-ent-rail-shell .stay-ent-trip-rail::-webkit-scrollbar { display: none; }
.stay-ent-rail-shell .stay-ent-trip-rail.is-dragging { cursor: grabbing; user-select: none; scroll-snap-type: none; }

.stay-ent-rail-shell .stay-ent-trip-card {
    flex: 0 0 calc((100% - 24px) / 3);
    min-width: 270px;
    height: 100%;
    min-height: 0;
    grid-template-rows: minmax(118px, 38%) minmax(0, 1fr);
    scroll-snap-align: start;
    scroll-snap-stop: always;
}

.stay-ent-rail-shell .stay-ent-trip-card__body {
    padding: 12px 13px;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
}
.stay-ent-rail-shell .stay-ent-trip-card h3 { margin-bottom: 5px; font-size: 16px; }
.stay-ent-rail-shell .stay-ent-kicker { margin-bottom: 5px; font-size: 9px; }
.stay-ent-rail-shell .stay-ent-trip-card__body > p:not(.stay-ent-kicker) { margin: 2px 0; font-size: 10.5px; }
.stay-ent-rail-shell .stay-ent-trip-card__summary { margin: 8px 0; }
.stay-ent-rail-shell .stay-ent-trip-card__summary span { padding: 7px 9px; }
.stay-ent-rail-shell .stay-ent-trip-card__actions { gap: 5px; }
.stay-ent-rail-shell .stay-ent-btn { min-height: 31px; padding-inline: 9px; font-size: 9.5px; }

/* Date-grouped, filterable conversation workspace */
.stay-ent-toolbar--messages .stay-ent-search { flex-basis: 330px; }
.stay-ent-message-groups {
    min-height: 0;
    height: 100%;
    overflow-y: auto;
    overscroll-behavior: contain;
    scrollbar-width: thin;
    scrollbar-color: rgba(31, 45, 58, .22) transparent;
    background: #fff;
}
.stay-ent-message-groups::-webkit-scrollbar { width: 8px; }
.stay-ent-message-groups::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 99px; background: rgba(31,45,58,.18); background-clip: content-box; }

.stay-ent-message-group > header {
    position: sticky;
    top: 0;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 34px;
    padding: 7px 14px;
    border-bottom: 1px solid rgba(20, 35, 49, .07);
    background: rgba(247, 249, 251, .96);
    backdrop-filter: blur(8px);
    color: #667588;
    font-size: 9.5px;
    font-weight: 850;
    letter-spacing: .08em;
    text-transform: uppercase;
}
.stay-ent-message-group > header b {
    min-width: 21px;
    height: 21px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #e9edf1;
    color: #536174;
    font-size: 9px;
}

.stay-ent-message-row {
    width: 100%;
    min-height: 72px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr) minmax(118px, auto);
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border: 0;
    border-bottom: 1px solid rgba(20, 35, 49, .065);
    background: #fff;
    color: inherit;
    text-align: left;
    cursor: pointer;
    transition: background .16s ease, transform .16s ease;
}
.stay-ent-message-row:hover { background: #fffaf5; }
.stay-ent-message-row.is-unread { background: linear-gradient(90deg, rgba(245,130,32,.075), #fff 28%); }

.stay-ent-message-avatar {
    width: 40px;
    height: 40px;
    display: grid;
    place-items: center;
    border-radius: 14px;
    background: linear-gradient(145deg, #f3f5f7, #e6ebef);
    color: #26323d;
    font-size: 13px;
    font-weight: 850;
}
.stay-ent-message-row.is-unread .stay-ent-message-avatar { background: #fff0df; color: #b65c0f; }
.stay-ent-message-main { min-width: 0; display: grid; gap: 2px; }
.stay-ent-message-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; min-width: 0; }
.stay-ent-message-top b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #18212a; font-size: 13px; }
.stay-ent-message-top time { flex: 0 0 auto; color: #929eac; font-size: 9.5px; }
.stay-ent-message-home,
.stay-ent-message-preview { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.stay-ent-message-home { color: #59687a; font-size: 10.5px; font-weight: 700; }
.stay-ent-message-home em { color: #9aa5b2; font-style: normal; font-weight: 600; }
.stay-ent-message-preview { color: #758397; font-size: 10.5px; }
.stay-ent-message-row.is-unread .stay-ent-message-preview { color: #485769; font-weight: 700; }
.stay-ent-message-side { display: flex; align-items: center; justify-content: flex-end; gap: 8px; min-width: 0; }
.stay-ent-message-side .stay-ent-status { max-width: 120px; overflow: hidden; text-overflow: ellipsis; }
.stay-ent-message-side > i { color: #a0aab6; }
.stay-ent-unread {
    min-width: 22px;
    height: 22px;
    display: grid;
    place-items: center;
    padding: 0 5px;
    border-radius: 999px;
    background: #ef6f12;
    color: #fff;
    font-size: 9px;
}

@media (max-width: 1180px) and (min-width: 721px) {
    .stay-ent-rail-shell .stay-ent-trip-card { flex-basis: calc((100% - 12px) / 2); }
    .stay-ent-toolbar--messages .stay-ent-segment { order: 3; flex-basis: 100%; }
}

@media (max-width: 899px) {
    .sgp-body.stay-ent-body-oneview,
    .shp-body.stay-ent-body-oneview {
        overflow-y: auto;
    }

    .stay-ent-workspace--oneview { height: auto; }
    .stay-ent-results--trips,
    .stay-ent-results--messages,
    .stay-ent-results--reservations { display: block; overflow: visible; }

    .stay-ent-rail-shell {
        grid-template-columns: minmax(0, 1fr);
        padding-inline: 0;
    }
    .stay-ent-rail-arrow { display: none; }
    .stay-ent-rail-shell .stay-ent-trip-rail { min-height: 460px; padding: 12px; }
    .stay-ent-rail-shell .stay-ent-trip-card { flex-basis: min(360px, 84vw); height: auto; min-height: 440px; grid-template-rows: 160px 1fr; }
    .stay-ent-message-groups { max-height: none; overflow: visible; }
    .stay-ent-message-group > header { position: static; }
}

@media (max-width: 720px) {
    .stay-ent-results-head { align-items: flex-start; padding-inline: 12px; }
    .stay-ent-results-head > div span { display: none; }
    .stay-ent-rail-shell .stay-ent-trip-card { flex-basis: calc(100vw - 70px); min-width: 260px; }

    .stay-ent-message-row {
        grid-template-columns: 38px minmax(0, 1fr) auto;
        gap: 9px;
        min-height: 68px;
        padding: 9px 10px;
    }
    .stay-ent-message-avatar { width: 36px; height: 36px; border-radius: 12px; }
    .stay-ent-message-side .stay-ent-status { display: none; }
    .stay-ent-message-home em { display: none; }
}

@media (max-width: 460px) {
    .stay-ent-message-side > i { display: none; }
    .stay-ent-message-row { grid-template-columns: 36px minmax(0, 1fr) auto; }
    .stay-ent-message-top time { font-size: 8.5px; }
}
