.tp-stage8-screen {
  background: #f4f7fb;
  color: #071a4d;
}

/* Tour-request dashboard: approved Batch 6 mobile composition. */
@media (max-width:480px) {
  .tp-stage8-tours .tp-site-header { border-block-end:0; }
  .tp-stage8-tours .tp-site-header .tp-appbar.tp-appbar--standard { min-height:56px; }
  .tp-stage8-tours .tp-site-header .tp-appbar--standard .tp-appbar__brand .logo-img { width:80px; }
  .tp-stage8-tours .tp-site-header .tp-appbar--standard .tp-appbar__actions { gap:10px; }
  .tp-stage8-tours .tp-site-header .tp-appbar--standard .tp-avatar-link { width:38px; height:38px; }
  .tp-stage8-tours .tp-site-header .tp-appbar--standard .tp-menu-button { width:30px; border-inline-start:0; }
  .tp-stage8-tours .tp8-page { min-height:calc(100vh - 56px); }

  .tp-stage8-tours .tp8-page-heading { padding:20px 24px 24px; }
  .tp-stage8-tours .tp8-page-heading h1 {
    display:block;
    margin:0!important;
    padding:0!important;
    border:0!important;
    font-size:29px!important;
    line-height:35px!important;
    letter-spacing:-.025em;
  }
  .tp-stage8-tours .tp8-page-heading p { display:block; margin:5px 0 0; font-size:15px; line-height:22px; }

  .tp-stage8-tours .tp8-role-switch {
    height:52px;
    gap:0;
    margin:0 24px 30px;
    padding:0;
    border:1px solid #d7dfeb;
    border-radius:9px;
    background:#fff;
  }
  .tp-stage8-tours .tp8-role-switch button { min-height:50px; padding-inline:5px; border:1px solid transparent; border-radius:8px; font-size:14px; font-weight:500; white-space:nowrap; }
  .tp-stage8-tours .tp8-role-switch button i { font-size:20px; }
  .tp-stage8-tours .tp8-role-switch button[aria-selected="true"] { border-color:#0757e8; box-shadow:none; }

  .tp-stage8-tours .tp8-role-panel { padding:0!important; }
  .tp-stage8-tours .tp8-state-tabs { height:31px; padding:0 24px; border-bottom:0; }
  .tp-stage8-tours .tp8-state-tabs button { min-height:31px; padding:0 5px; font-size:15px; font-weight:500; }
  .tp-stage8-tours .tp8-state-tabs button::after { right:21px; bottom:0; left:21px; height:2px; border-radius:2px; background:#e1e6ef; content:""; }
  .tp-stage8-tours .tp8-state-tabs button.is-active { font-weight:700; }
  .tp-stage8-tours .tp8-state-tabs button.is-active::after { height:4px; background:#0757e8; }
  .tp-stage8-tours .tp8-state-tabs span { display:inline; min-width:0; height:auto; margin-left:5px; padding:0; border-radius:0; background:transparent; color:inherit; font-size:15px; }

  .tp-stage8-tours .tp8-tour-list { width:100%; gap:24px; padding:34px 24px 0!important; }
  .tp-stage8-tours .tp8-tour-card { min-height:186px; padding:0; border:0; border-bottom:1px solid #dfe5ee; border-radius:0; box-shadow:none; }
  .tp-stage8-tours .tp8-tour-card.is-visible + .tp8-tour-card.is-visible { border-bottom:0; }
  .tp-stage8-tours .tp8-tour-person { grid-template-columns:74px minmax(0,1fr); gap:21px; padding-right:99px; }
  .tp-stage8-tours .tp8-tour-person img { width:73px; height:73px; }
  .tp-stage8-tours .tp8-tour-person > span:nth-child(2) { align-self:start; padding:3px 0 0; }
  .tp-stage8-tours .tp8-tour-person strong { font-family:"Libre Baskerville",Georgia,serif; font-size:20px; line-height:29px; }
  .tp-stage8-tours .tp8-tour-person small { display:none; }
  .tp-stage8-tours .tp8-tour-card h3 {
    position:absolute;
    top:37px;
    left:95px;
    width:calc(100% - 198px)!important;
    margin:0;
    color:#071a4d;
    font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
    font-size:15px;
    font-weight:500;
    line-height:20px;
  }
  .tp-stage8-tours .tp8-tour-facts { position:absolute; top:80px; left:95px; display:flex; width:calc(100% - 198px); gap:7px; margin:0; padding:0; background:transparent; }
  .tp-stage8-tours .tp8-tour-facts span { display:flex; align-items:center; gap:3px; min-width:0; color:#52658d; font-size:11px; white-space:nowrap; }
  .tp-stage8-tours .tp8-tour-facts i { color:#52658d; font-size:13px; }
  .tp-stage8-tours .tp8-tour-facts b { color:#52658d; font-size:11px; font-weight:500; white-space:nowrap; }
  .tp-stage8-tours .tp8-tour-status { position:absolute; top:116px; left:95px; max-width:200px; padding:0; background:transparent; color:#ff5d45; font-size:13px; font-weight:500; line-height:20px; text-align:start; }
  .tp-stage8-tours .tp8-tour-status.is-upcoming,.tp-stage8-tours .tp8-tour-status.is-past { background:transparent; }
  .tp-stage8-tours .tp8-tour-status::before { margin-right:7px; font-family:"Font Awesome 5 Free"; font-weight:400; content:"\f017"; }
  .tp-stage8-tours .tp8-tour-note { position:absolute; top:145px; left:95px; display:-webkit-box; width:calc(100% - 95px); max-width:260px; margin:0; padding:0; overflow:hidden; border:0; color:#52658d; font-size:12px; line-height:18px; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
  .tp-stage8-tours .tp8-tour-actions { position:absolute; top:28px; right:0; bottom:auto; width:92px; grid-template-columns:1fr; gap:10px; margin:0; }
  .tp-stage8-tours .tp8-btn {
    min-width:0;
    min-height:35px;
    padding:6px 5px;
    border-radius:6px;
    font-size:12px;
    font-weight:500;
    line-height:1.2;
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
  }
  .tp-stage8-tours .tp8-tour-actions .tp8-btn-primary,
  .tp-stage8-tours .tp8-tour-actions .tp8-btn-primary:visited,
  .tp-stage8-tours .tp8-tour-actions .tp8-btn-primary:hover,
  .tp-stage8-tours .tp8-tour-actions .tp8-btn-primary:focus,
  .tp-stage8-tours .tp8-tour-actions .tp8-btn-primary:active {
    color:#fff!important;
    -webkit-text-fill-color:#fff;
  }

  .tp-stage8-tours .tp8-safety { position:relative; top:35px; display:grid; float:none!important; clear:both; width:auto!important; grid-template-columns:40px minmax(0,1fr); align-items:center; gap:13px; margin:38px 24px 105px; padding:0; border-radius:0; background:transparent; color:#52658d; font-size:12px; line-height:18px; }
  .tp-stage8-tours .tp8-safety > i { display:grid; width:38px; height:38px; border-radius:50%; background:#eef3ff; color:#0757e8; font-size:19px; place-items:center; }
  .tp-stage8-tours .tp8-safety span { display:block; max-width:230px; }
  .tp-stage8-tours .tp8-safety strong { display:none; }

}

/* Keep live request data readable on compact phones without changing the
   approved 426px composition. */
@media (max-width:360px) {
  .tp-stage8-tours .tp-site-header .tp-appbar--standard .tp-appbar__brand .logo-img { width:72px; }
  .tp-stage8-tours .tp-site-header .tp-appbar--standard .tp-avatar-link { width:32px; height:32px; }
  .tp-stage8-tours .tp-site-header .tp-appbar--standard .tp-menu-button { width:26px; }

  .tp-stage8-tours .tp8-page-heading { padding:17px 20px 18px; }
  .tp-stage8-tours .tp8-page-heading h1 { font-size:26px!important; line-height:32px!important; }
  .tp-stage8-tours .tp8-page-heading p { margin-top:3px; font-size:12px; line-height:18px; }

  .tp-stage8-tours .tp8-role-switch { height:42px; margin:0 20px 23px; }
  .tp-stage8-tours .tp8-role-switch button { min-height:40px; gap:5px; padding-inline:3px; font-size:11px; }
  .tp-stage8-tours .tp8-role-switch button i { font-size:15px; }

  .tp-stage8-tours .tp8-state-tabs { height:28px; padding:0 20px; }
  .tp-stage8-tours .tp8-state-tabs button { min-height:28px; font-size:12px; }
  .tp-stage8-tours .tp8-state-tabs button::after { right:13px; left:13px; }
  .tp-stage8-tours .tp8-state-tabs span { margin-left:3px; font-size:12px; }

  .tp-stage8-tours .tp8-tour-list { gap:18px; padding:27px 18px 0!important; }
  .tp-stage8-tours .tp8-tour-card { min-height:166px; }
  .tp-stage8-tours .tp8-tour-person { grid-template-columns:48px minmax(0,1fr); gap:8px; padding-right:92px; }
  .tp-stage8-tours .tp8-tour-person img { width:48px; height:48px; }
  .tp-stage8-tours .tp8-tour-person > span:nth-child(2) { padding-top:0; }
  .tp-stage8-tours .tp8-tour-person strong { font-size:16px; line-height:22px; }
  .tp-stage8-tours .tp8-tour-card h3 { top:28px; left:56px; width:calc(100% - 152px)!important; font-size:12px; line-height:16px; }
  .tp-stage8-tours .tp8-tour-facts { top:65px; left:56px; width:calc(100% - 152px); justify-content:space-between; gap:1px; }
  .tp-stage8-tours .tp8-tour-facts span { flex:0 0 auto; gap:1px; font-size:7px; }
  .tp-stage8-tours .tp8-tour-facts i { font-size:8px; }
  .tp-stage8-tours .tp8-tour-facts b { font-size:7px; }
  .tp-stage8-tours .tp8-tour-status { top:94px; left:56px; max-width:190px; font-size:11px; line-height:17px; }
  .tp-stage8-tours .tp8-tour-status::before { margin-right:5px; }
  .tp-stage8-tours .tp8-tour-note { top:120px; left:56px; width:calc(100% - 56px); max-width:none; font-size:10px; line-height:15px; }
  .tp-stage8-tours .tp8-tour-actions { top:20px; width:84px; gap:7px; }
  .tp-stage8-tours .tp8-btn { min-height:34px; gap:4px; padding:6px 5px; border-radius:5px; font-size:11px; line-height:1.2; }

  .tp-stage8-tours .tp8-safety { top:25px; grid-template-columns:32px minmax(0,1fr); gap:9px; margin:26px 20px 88px; font-size:10px; line-height:15px; }
  .tp-stage8-tours .tp8-safety > i { width:30px; height:30px; font-size:14px; }
  .tp-stage8-tours .tp8-safety span { max-width:205px; }

}

.tp-stage8-screen .tp-browser-footer,
.tp-stage8-conversation .tp-sheet,
.tp-stage8-new-conversation .tp-sheet {
  display: none !important;
}

.tp-stage8-conversation .tp-site-header,
.tp-stage8-new-conversation .tp-site-header,
.tp-stage8-conversation .tp-overlay-backdrop,
.tp-stage8-new-conversation .tp-overlay-backdrop,
.tp-stage8-conversation .tp-drawer,
.tp-stage8-new-conversation .tp-drawer {
  display: none !important;
}

.tp-stage8-screen .show-menu-btn { display:none!important; }

.tp-stage8-screen .tp-content {
  display: block !important;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0 !important;
}

.tp-stage8-screen .tp-content > #main { width: 100%; }
.tp-stage8-screen .tp-flash { max-width: 852px; margin: 0 auto; padding: 10px 22px 0; }
.tp-stage8-conversation .tp-bottom-nav,
.tp-stage8-new-conversation .tp-bottom-nav { display: none !important; }

.tp8-page,
.tp-stage8-screen .im-file-messages,
.tp-stage8-screen .im-file-create-thread {
  width: min(100%, 852px) !important;
  min-height: 100vh;
  margin: 0 auto !important;
  box-sizing: border-box;
  background: #fff;
  color: #071a4d;
}

.tp8-page *,
.tp-stage8-screen .im-file-messages *,
.tp-stage8-screen .im-file-create-thread * { box-sizing: border-box; }

.tp8-appbar {
  position:relative!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px 42px;
  align-items: center;
  gap: 8px;
  height: 70px;
  padding: 9px 22px;
  border-bottom: 1px solid #e3e8f1;
  background: rgba(255,255,255,.97);
}

.tp8-brand img { display: block; width: 122px; height: 37px; object-fit: contain; object-position: left center; }
.tp8-profile-link img { width: 38px; height: 38px; border: 2px solid #fff; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px #cbd4e4; }
.tp8-icon-button {
  display: grid;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #071a4d;
  font-size: 21px;
  place-items: center;
}

.tp8-page-heading { padding: 26px 22px 18px; }
.tp8-page-heading h1,
.tp8-inbox-heading h1,
.tp8-new-heading h2,
.tp8-new-title {
  margin: 0;
  color: #071a4d;
  font-family: "Libre Baskerville", Georgia, serif;
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -.025em;
}
.tp8-page-heading p,
.tp8-inbox-heading p,
.tp8-new-heading p { margin: 7px 0 0; color: #637397; font-size: 15px; line-height: 1.4; }

.tp8-role-switch {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5px;
  margin: 0 22px 19px;
  padding: 5px;
  border-radius: 15px;
  background: #eef2f8;
}
.tp8-role-switch button {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 10px;
  border: 0;
  border-radius: 11px;
  background: transparent;
  color: #637397;
  font: inherit;
  font-size: 14px;
  font-weight: 700;
}
.tp8-role-switch button[aria-selected="true"] { background: #fff; color: #0757e8; box-shadow: 0 3px 13px rgba(7,26,77,.1); }

.tp8-state-tabs {
  display: grid;
  grid-template-columns: repeat(3,1fr);
  padding: 0 22px;
  border-bottom: 1px solid #dfe5ee;
}
.tp8-state-tabs button {
  position: relative;
  min-height: 47px;
  padding: 0 5px;
  border: 0;
  background: transparent;
  color: #637397;
  font: inherit;
  font-size: 15px;
  font-weight: 700;
}
.tp8-state-tabs button.is-active { color: #0757e8; }
.tp8-state-tabs button.is-active::after { content:""; position:absolute; right:12px; bottom:-1px; left:12px; height:3px; border-radius:3px 3px 0 0; background:#0757e8; }
.tp8-state-tabs span { display:inline-grid; min-width:23px; height:23px; margin-left:4px; padding:0 6px; border-radius:99px; background:#e8efff; color:#0757e8; font-size:12px; place-items:center; }

.tp8-tour-list { display:grid; gap:15px; padding:18px 22px 20px; }
.tp8-tour-card { display:none; padding:18px; border:1px solid #dce3ee; border-radius:18px; background:#fff; box-shadow:0 8px 25px rgba(7,26,77,.06); }
.tp8-tour-card.is-visible { display:block; }
.tp8-tour-person { display:grid; grid-template-columns:50px minmax(0,1fr) auto; align-items:center; gap:11px; }
.tp8-tour-person img { width:50px; height:50px; border-radius:50%; object-fit:cover; }
.tp8-tour-person > span:nth-child(2) { display:grid; gap:3px; min-width:0; }
.tp8-tour-person strong { overflow:hidden; font-size:17px; text-overflow:ellipsis; white-space:nowrap; }
.tp8-tour-person small { color:#637397; font-size:12px; }
.tp8-tour-person small i { color:#2d9b6d; }
.tp8-tour-status { max-width:118px; padding:6px 8px; border-radius:99px; background:#fff4d6; color:#966300; font-size:11px; font-weight:800; line-height:1.25; text-align:center; }
.tp8-tour-status.is-upcoming { background:#e6f8ef; color:#257653; }
.tp8-tour-status.is-past { background:#eef2f7; color:#52658d; }
.tp8-tour-card h3 { margin:16px 0 12px; font-family:"Libre Baskerville",Georgia,serif; font-size:17px; line-height:1.35; }
.tp8-tour-facts { display:grid; grid-template-columns:repeat(3,1fr); gap:8px; padding:12px; border-radius:12px; background:#f7f9fc; }
.tp8-tour-facts span { display:grid; gap:4px; color:#637397; font-size:11px; text-align:center; }
.tp8-tour-facts i { color:#0757e8; font-size:16px; }
.tp8-tour-facts b { color:#071a4d; font-size:12px; font-weight:700; }
.tp8-tour-note { margin:13px 0; padding-left:11px; border-left:3px solid #bbcff8; color:#52658d; font-size:13px; line-height:1.45; }
.tp8-tour-actions { display:grid; grid-template-columns:1fr 1.35fr; gap:10px; }
.tp8-tour-actions form { margin:0; }
.tp8-tour-actions > button { margin:0; }
.tp8-btn { display:flex; align-items:center; justify-content:center; gap:7px; width:100%; min-height:44px; padding:8px 12px; border-radius:11px; font:inherit; font-size:14px; font-weight:800; text-decoration:none; }
.tp8-btn-primary { border:1px solid #0757e8; background:#0757e8; color:#fff; }
.tp8-btn-secondary { border:1px solid #aab8cd; background:#fff; color:#071a4d; }
.tp8-review-panel { display:grid; gap:10px; margin-top:12px; padding:13px; border:1px solid #c9d8f4; border-radius:12px; background:#f7faff; }
.tp8-review-panel[hidden] { display:none!important; }
.tp8-review-panel > span { display:grid; gap:3px; }
.tp8-review-panel strong { color:#071a4d; font-size:14px; }
.tp8-review-panel small { color:#637397; font-size:11px; line-height:1.4; }
.tp8-review-close { min-height:36px; border:0; background:transparent; color:#52658d; font:inherit; font-size:12px; font-weight:700; }
.tp8-safety { display:flex; align-items:flex-start; gap:11px; margin:0 22px 112px; padding:14px; border-radius:13px; background:#f0f5ff; color:#52658d; font-size:12px; line-height:1.4; }
.tp8-safety > i { color:#0757e8; font-size:18px; }
.tp8-safety span { display:grid; gap:3px; }
.tp8-safety strong { color:#071a4d; font-size:13px; }
.tp8-empty { display:grid; min-height:210px; align-content:center; justify-items:center; gap:8px; padding:28px; color:#637397; text-align:center; }
.tp8-empty[hidden] { display:none!important; }
.tp8-empty i { color:#9cb6e7; font-size:38px; }
.tp8-empty strong { color:#071a4d; font-size:17px; }
.tp8-empty p { margin:0; font-size:13px; }

.tp8-inbox-heading { display:flex; align-items:center; justify-content:space-between; gap:15px; padding:24px 22px 16px; }
.tp8-inbox-heading > span { min-width:0; }
.tp8-compose-button { display:grid; width:48px; height:48px; flex:0 0 48px; border-radius:50%; background:#0757e8; color:#fff; box-shadow:0 9px 20px rgba(7,87,232,.24); place-items:center; text-decoration:none; }
.tp8-inbox-search { display:flex; float:none!important; clear:none!important; align-items:center; gap:10px; width:auto!important; max-width:none; min-height:48px; box-sizing:border-box; margin:0 22px 14px; padding:0 15px; border:1px solid #d7dfeb; border-radius:13px; background:#f7f9fc; color:#71809d; }
.tp8-inbox-search:focus-within { border-color:#0757e8; box-shadow:0 0 0 2px rgba(7,87,232,.12); }
.tp8-inbox-search input,
.tp8-inbox-search input:focus { flex:1 1 0; min-width:0!important; width:0!important; max-width:100%!important; height:45px; box-sizing:border-box; margin:0!important; padding:0; border:0!important; outline:0!important; box-shadow:none!important; background:transparent!important; color:#071a4d; font:inherit; font-size:15px; }
.tp8-filter-chips { display:flex; gap:8px; overflow:auto; padding:0 22px 15px; border-bottom:1px solid #e2e7ef; scrollbar-width:none; }
.tp8-filter-chips button { min-height:36px; padding:0 13px; border:1px solid #d5deeb; border-radius:99px; background:#fff; color:#52658d; font:inherit; font-size:13px; font-weight:700; white-space:nowrap; }
.tp8-filter-chips button.is-active { border-color:#0757e8; background:#0757e8; color:#fff; }
.tp8-filter-chips span { margin-left:3px; }
.tp8-thread-list { padding-bottom:105px; }
.tp8-thread { position:relative; display:grid; grid-template-columns:58px minmax(0,1fr) auto; gap:12px; min-height:104px; padding:15px 22px; border-bottom:1px solid #edf0f5; color:#071a4d; text-decoration:none; }
.tp8-thread:hover { background:#f8faff; }
.tp8-thread[hidden] { display:none; }
.tp8-thread-avatar { position:relative; width:58px; height:58px; }
.tp8-thread-avatar img { width:58px; height:58px; border-radius:50%; object-fit:cover; }
.tp8-thread-avatar > i { position:absolute; right:-2px; bottom:-2px; display:grid; width:24px; height:24px; border:2px solid #fff; border-radius:50%; background:#0757e8; color:#fff; font-size:11px; place-items:center; }
.tp8-thread-copy { display:grid; min-width:0; align-content:start; gap:2px; }
.tp8-thread-top { display:flex; align-items:center; justify-content:space-between; gap:8px; }
.tp8-thread-top strong { overflow:hidden; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.tp8-thread-top time { flex:0 0 auto; color:#71809d; font-size:11px; }
.tp8-thread-copy > b { overflow:hidden; color:#273b68; font-size:13px; font-weight:600; text-overflow:ellipsis; white-space:nowrap; }
.tp8-thread-copy > small { display:-webkit-box; overflow:hidden; color:#71809d; font-size:12px; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:1; }
.tp8-thread-copy > em { margin-top:3px; color:#0757e8; font-size:11px; font-style:normal; font-weight:700; }
.tp8-thread-copy > .tp8-support-label { color:#4d5f81; }
.tp8-thread.is-unread { background:#f7faff; }
.tp8-thread.is-unread .tp8-thread-top strong { color:#0757e8; }
.tp8-unread-count { display:grid; align-self:center; min-width:24px; height:24px; padding:0 6px; border-radius:99px; background:#0757e8; color:#fff; font-size:11px; font-weight:800; place-items:center; }

body.tp-stage8-screen .im-file-messages { position:relative; padding-bottom:96px!important; background:#fff!important; }
.tp-stage8-screen .im-file-messages > .im-head { display:none!important; }
.tp-stage8-screen .im-file-messages .im-chat-header { position:sticky; top:0; z-index:20; display:grid!important; grid-template-columns:42px 46px minmax(0,1fr) 42px; align-items:center; gap:7px; min-height:70px; padding:8px 14px; border-bottom:1px solid #e1e6ef; background:rgba(255,255,255,.98); }
.tp-stage8-screen .im-chat-back,
.tp-stage8-screen .im-chat-menu { display:grid; width:42px; height:42px; padding:0; border:0; background:transparent; color:#0757e8; font-size:19px; place-items:center; }
.tp-stage8-screen .im-chat-avatar img { width:44px; height:44px; border-radius:50%; object-fit:cover; }
.tp-stage8-screen .im-chat-avatar > span,
.tp-stage8-screen .im-subhead2 { display:none!important; }
.tp-stage8-screen .im-chat-title { display:grid; min-width:0; }
.tp-stage8-screen .im-chat-title > span { overflow:hidden; color:#071a4d; font-size:17px; font-weight:800; text-overflow:ellipsis; white-space:nowrap; }
.tp-stage8-screen .im-chat-title > small { color:#2d8b63; font-size:11px; font-weight:700; }
.tp-stage8-screen .im-chat-actions { position:relative; }
.tp-stage8-screen .im-chat-actions-menu { right:0; left:auto; }
.tp8-linked-request { display:grid; grid-template-columns:92px minmax(0,1fr) auto; align-items:center; gap:12px; margin:13px 16px; padding:12px; border:1px solid #bfd0f1; border-radius:13px; background:#fdfdff; }
.tp8-linked-icon { display:grid; width:40px; height:40px; border-radius:11px; background:#e4edff; color:#0757e8; place-items:center; }
.tp8-linked-image { width:92px; height:68px; border-radius:9px; object-fit:cover; }
.tp8-linked-request > span:nth-child(2) { display:grid; min-width:0; gap:2px; }
.tp8-linked-request small { color:#637397; font-size:10px; text-transform:uppercase; letter-spacing:.06em; }
.tp8-linked-request strong { overflow:hidden; font-size:13px; text-overflow:ellipsis; white-space:nowrap; }
.tp8-linked-request em { color:#52658d; font-size:11px; font-style:normal; }
.tp8-linked-side { display:grid; justify-items:end; gap:5px; }
.tp8-linked-side b { padding:4px 7px; border-radius:99px; background:#fff0c7; color:#966300; font-size:9px; }
.tp8-linked-side a { color:#0757e8; font-size:11px; font-weight:800; text-decoration:none; }
.tp8-day-divider { display:flex; align-items:center; gap:10px; margin:18px 48px 12px; color:#71809d; font-size:12px; }
.tp8-day-divider::before,.tp8-day-divider::after { content:""; height:1px; flex:1; background:#d9e0ea; }
.tp-stage8-screen .im-file-messages .im-item-related,
.tp-stage8-screen .im-file-messages #im-error-list { display:none!important; }
.tp-stage8-screen .im-file-messages .im-messages { width:auto!important; margin:0 16px!important; padding:5px 0 18px!important; }
.tp-stage8-screen .im-file-messages .im-vertical,
.tp-stage8-screen .im-file-messages .im-day-divider { display:none!important; }
.tp-stage8-screen .im-file-messages .im-table-row { position:relative; width:82%; margin:12px 0!important; padding:0!important; border:0!important; background:transparent!important; box-shadow:none!important; }
.tp-stage8-screen .im-file-messages .im-table-row.im-from { margin-left:auto!important; }
.tp-stage8-screen .im-file-messages .im-name-top,
.tp-stage8-screen .im-file-messages .im-message-extra.im-box-empty,
.tp-stage8-screen .im-file-messages .im-del-mes-box { display:none!important; }
.tp-stage8-screen .im-file-messages .im-message-content { display:block!important; margin:0!important; padding:11px 13px!important; border-radius:15px 15px 15px 4px!important; background:#eef2f7!important; color:#071a4d!important; font-size:14px!important; line-height:1.45!important; }
.tp-stage8-screen .im-file-messages .im-from .im-message-content { border-radius:15px 15px 4px 15px!important; background:#0757e8!important; color:#fff!important; }
.tp-stage8-screen .im-file-messages .im-table-row:not(.im-from) { width:88%; padding-left:50px!important; }
.tp-stage8-screen .im-file-messages .im-table-row:not(.im-from) .im-horizontal { position:absolute; top:2px; left:0; display:block!important; width:38px; height:38px; }
.tp-stage8-screen .im-file-messages .im-table-row:not(.im-from) .im-horizontal > span { display:block!important; width:38px; height:38px; }
.tp-stage8-screen .im-file-messages .im-table-row:not(.im-from) .im-horizontal img { width:38px!important; height:38px!important; border-radius:50%; object-fit:cover; }
.tp-stage8-screen .im-file-messages .im-table-row.im-from .im-horizontal { display:none!important; }
.tp8-chat-safety { display:flex; align-items:center; justify-content:center; gap:10px; margin:18px 30px 14px; color:#637397; font-size:12px; text-align:center; }
.tp8-chat-safety::before,.tp8-chat-safety::after { content:""; height:1px; flex:1; background:#dce3ed; }
.tp8-chat-safety i { display:grid; width:34px; height:34px; flex:0 0 34px; border-radius:50%; background:#eef4ff; color:#0757e8; place-items:center; }
.tp8-chat-safety span { max-width:220px; }
.tp8-review-request { display:flex; align-items:center; justify-content:center; gap:9px; width:calc(100% - 32px); min-height:48px; margin:0 16px 95px; border:1px solid #0757e8; border-radius:12px; color:#0757e8; font-size:14px; font-weight:800; text-decoration:none; }
.tp-stage8-screen .im-file-messages #im-message-form { position:fixed; left:50%; bottom:0; z-index:22; display:grid!important; grid-template-columns:42px minmax(0,1fr) 46px; align-items:center; gap:8px; width:min(100%,852px)!important; min-height:78px; margin:0!important; padding:10px 14px calc(10px + env(safe-area-inset-bottom))!important; transform:translateX(-50%); border-top:1px solid #dde4ee; background:#fff; }
.tp-stage8-screen #im-message-form .im-logged-user-img,
.tp-stage8-screen #im-message-form > .im-button-green:not(.im-button-alt) { display:none!important; }
.tp-stage8-screen #im-message-form .im-input-wrap { grid-column:2; }
.tp-stage8-screen #im-message-form textarea { width:100%!important; min-height:46px!important; max-height:100px!important; margin:0!important; padding:12px 38px 10px 14px!important; border:1px solid #d3dce8!important; border-radius:23px!important; background:#f7f9fc!important; color:#071a4d!important; font:inherit!important; font-size:14px!important; resize:none!important; }
.tp-stage8-screen #im-message-form .im-button-alt { display:grid!important; grid-column:3; width:46px!important; height:46px!important; margin:0!important; padding:0!important; border:0!important; border-radius:50%!important; background:#0757e8!important; color:#fff!important; place-items:center; }
.tp-stage8-screen #im-message-form .im-attachment { grid-column:1; grid-row:1; }
.tp-stage8-screen #im-message-form .im-attachment .im-wrap { display:grid; width:42px; height:42px; padding:0; border:0; color:#0757e8; font-size:19px; place-items:center; }
.tp-stage8-screen #im-message-form .im-attachment .im-def-text { display:none; }
.tp-stage8-screen .im-chat-feedback { padding:0 16px; }

body.im-chat-page.tp-stage8-screen .im-file-messages #im-message-form {
  position:fixed!important;
  left:50%!important;
  right:auto!important;
  bottom:0!important;
  width:100vw!important;
  max-width:852px!important;
  max-height:none!important;
  margin:0!important;
  transform:translateX(-50%)!important;
}
body.im-chat-page.tp-stage8-screen .im-file-messages {
  top:0!important;
  height:100dvh!important;
  min-height:100vh!important;
  padding:0 0 80px!important;
}
body.im-chat-page.tp-stage8-screen .im-file-messages .im-chat-header {
  top:0!important;
  width:100%!important;
  min-height:70px;
  margin:0!important;
  padding:8px 4px;
  border-radius:0!important;
  box-shadow:none!important;
}
body.im-chat-page.tp-stage8-screen .im-chat-back {
  box-shadow:none!important;
}
body.im-chat-page.tp-stage8-screen .tp8-linked-request {
  min-height:124px;
  grid-template-columns:104px minmax(0,1fr) 96px;
  margin:13px 8px;
  padding:12px;
}
body.im-chat-page.tp-stage8-screen .tp8-linked-image {
  width:104px;
  height:72px;
}
body.im-chat-page.tp-stage8-screen .tp8-linked-request strong {
  display:-webkit-box;
  overflow:hidden;
  white-space:normal;
  text-overflow:clip;
  line-height:1.25;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
body.im-chat-page.tp-stage8-screen .tp8-linked-side b {
  padding-inline:5px;
  font-size:8px;
  white-space:nowrap;
}
body.im-chat-page.tp-stage8-screen .im-file-messages .im-messages {
  height:280px!important;
  min-height:280px;
  flex:0 0 280px;
  overflow-y:auto!important;
  scrollbar-width:none;
}
body.im-chat-page.tp-stage8-screen .im-file-messages .im-messages::-webkit-scrollbar {
  display:none;
}
body.im-chat-page.tp-stage8-screen .tp8-chat-safety {
  display:grid;
  grid-template-columns:minmax(0,1fr) 30px minmax(0,1fr);
  grid-template-rows:30px auto;
  align-items:center;
  column-gap:8px;
  row-gap:5px;
  margin:14px 35px 32px;
}
body.im-chat-page.tp-stage8-screen .tp8-chat-safety::before {
  grid-column:1;
  grid-row:1;
}
body.im-chat-page.tp-stage8-screen .tp8-chat-safety::after {
  grid-column:3;
  grid-row:1;
}
body.im-chat-page.tp-stage8-screen .tp8-chat-safety i {
  width:30px;
  height:30px;
  grid-column:2;
  grid-row:1;
  justify-self:center;
}
body.im-chat-page.tp-stage8-screen .tp8-chat-safety span {
  grid-column:1 / -1;
  grid-row:2;
  justify-self:center;
  max-width:230px;
  line-height:1.4;
}
body.im-chat-page.tp-stage8-screen .tp8-review-request {
  width:154px;
  min-height:38px;
  margin:0 16px 10px;
  border-radius:8px;
  font-size:12px;
}
body.im-chat-page.tp-stage8-screen .im-file-messages #im-message-form {
  min-height:66px;
  padding:8px 16px calc(8px + env(safe-area-inset-bottom))!important;
}
body.im-chat-page.tp-stage8-screen #im-message-form textarea {
  min-height:40px!important;
  padding-top:9px!important;
  padding-bottom:8px!important;
  border-radius:20px!important;
}
body.im-chat-page.tp-stage8-screen #im-message-form .im-button-alt {
  width:40px!important;
  height:40px!important;
}
body.im-chat-page.tp-stage8-screen #im-message-form.no-attachment {
  grid-template-columns:minmax(0,1fr) 40px;
}
body.im-chat-page.tp-stage8-screen #im-message-form.has-attachment {
  grid-template-columns:44px minmax(0,1fr) 40px;
}
body.im-chat-page.tp-stage8-screen #im-message-form.no-attachment .im-input-wrap {
  grid-column:1;
}
body.im-chat-page.tp-stage8-screen #im-message-form.no-attachment .im-button-alt {
  grid-column:2;
}
body.im-chat-page.tp-stage8-screen #im-message-form .im-attachment {
  display:block!important;
  position:static!important;
  width:44px!important;
  height:44px!important;
  margin:0!important;
}
/* A single visible picker target, independent of legacy icon fonts and floats. */
body.im-chat-page.tp-stage8-screen #im-message-form .im-attachment :is(.im-att-box,.im-status,.im-wrap) {
  position:relative;
  float:none;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  margin:0;
  padding:0;
}
body.im-chat-page.tp-stage8-screen #im-message-form .im-attachment .im-wrap > span {
  display:none;
}
body.im-chat-page.tp-stage8-screen #im-message-form .im-attachment-icon {
  display:block;
  width:20px;
  height:20px;
  color:#0757e8;
}
body.im-chat-page.tp-stage8-screen #im-message-form .im-attachment input[type="file"] {
  inset:0;
  z-index:3;
  width:100%;
  height:100%;
  margin:0;
  padding:0;
  opacity:0;
  cursor:pointer;
}

.tp-stage8-screen .im-file-create-thread { padding-bottom:30px!important; }
.tp8-new-chatbar { position:relative!important; top:auto!important; right:auto!important; bottom:auto!important; left:auto!important; display:grid; float:none!important; clear:both; width:100%; grid-template-columns:48px minmax(0,1fr) 48px; align-items:center; min-height:68px; padding:4px 14px; border-bottom:1px solid #e2e7ef; }
.tp8-new-chatbar button { display:grid; width:44px; height:44px; padding:0; border:0; background:transparent; color:#0757e8; font-size:19px; place-items:center; }
.tp8-new-chatbar strong { font-size:17px; text-align:center; }
.tp8-new-heading { float:none!important; clear:both; width:100%; padding:23px 22px 17px; }
.tp8-new-heading h2,
.tp8-new-title { display:block!important; float:none!important; position:static!important; visibility:visible!important; width:100%!important; height:auto!important; margin:0!important; color:#071a4d!important; font-size:24px; opacity:1!important; }
.tp-stage8-screen .im-file-create-thread > .im-head { display:none!important; }
.tp8-recipient-search { margin-bottom:18px; }
.tp8-section-label { display:block; margin:0 22px 10px; color:#52658d; font-size:12px; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
.tp8-recent-contacts { margin-bottom:22px; }
.tp8-recent-contacts > div { display:grid; gap:10px; padding:0 22px 4px; }
.tp8-recent-contacts button { position:relative; display:grid; grid-template-columns:62px minmax(0,1fr) 34px; align-items:center; gap:12px; width:100%; min-height:82px; padding:9px 12px; border:1px solid #d4ddea; border-radius:13px; background:#fff; color:#071a4d; font:inherit; text-align:left; }
.tp8-recent-contacts button.is-selected { border-color:#0757e8; background:#f7faff; box-shadow:0 0 0 1px #0757e8 inset; }
.tp8-recent-contacts img { width:62px; height:62px; border-radius:50%; object-fit:cover; }
.tp8-recent-contacts button > span { display:grid; gap:3px; min-width:0; }
.tp8-recent-contacts button strong { overflow:hidden; font-family:"Libre Baskerville",Georgia,serif; font-size:16px; text-overflow:ellipsis; white-space:nowrap; }
.tp8-recent-contacts button small { color:#637397; font-size:12px; }
.tp8-recent-contacts button em { color:#2d8b63; font-size:11px; font-style:normal; font-weight:700; }
.tp8-recent-contacts button > i { display:none; width:30px; height:30px; border-radius:50%; background:#0757e8; color:#fff; font-size:12px; place-items:center; }
.tp8-recent-contacts button.is-selected > i { display:grid; }
.tp8-context-label { margin-top:0; }
.tp-stage8-screen .im-file-create-thread .im-item-related { display:grid!important; grid-template-columns:72px minmax(0,1fr); gap:12px; width:auto!important; margin:0 22px 18px!important; padding:11px!important; border:1px solid #dce3ee!important; border-radius:13px!important; background:#f8faff!important; }
.tp-stage8-screen .im-file-create-thread .im-item-resource { width:auto!important; }
.tp-stage8-screen .im-file-create-thread .im-item-resource img { width:72px!important; height:64px!important; border-radius:9px!important; object-fit:cover!important; }
.tp-stage8-screen .im-file-create-thread .im-col-21 { display:grid; width:auto!important; align-content:center; }
.tp-stage8-screen .im-file-create-thread .im-item-title a { color:#071a4d!important; font-family:"Libre Baskerville",Georgia,serif; font-size:13px!important; font-weight:700; text-decoration:none; }
.tp-stage8-screen .im-file-create-thread .im-item-price { justify-self:start; width:auto!important; max-width:100%; padding:5px 10px; color:#fff!important; font-size:13px!important; font-weight:800; line-height:1.2; white-space:nowrap; }
.tp-stage8-screen .im-file-create-thread .im-item-location { color:#637397!important; font-size:11px!important; }
.tp-stage8-screen .im-file-create-thread #im-error-list { margin:0 22px!important; }
.tp-stage8-screen .im-file-create-thread #im-create-thread-form { display:grid!important; float:none!important; clear:both!important; width:calc(100% - 44px)!important; gap:15px; margin:0 22px!important; padding:0!important; box-shadow:none!important; }
.tp-stage8-screen .im-file-create-thread #im-create-thread-form .im-row,
.tp-stage8-screen .im-file-create-thread #im-create-thread-form .im-col-24 { width:100%!important; margin:0!important; }
.tp-stage8-screen .im-file-create-thread .im-label { display:block; margin:0 0 7px; color:#071a4d; font-size:13px; font-weight:800; }
.tp-stage8-screen .im-file-create-thread .im-input,
.tp-stage8-screen .im-file-create-thread .im-textarea { width:100%!important; margin:0!important; border:1px solid #ccd6e4!important; border-radius:12px!important; background:#fff!important; color:#071a4d!important; font:inherit!important; }
.tp-stage8-screen .im-file-create-thread .im-input { height:48px!important; padding:0 13px!important; }
.tp-stage8-screen .im-file-create-thread .im-textarea { min-height:128px!important; padding:13px!important; resize:vertical; }
.tp8-compose-safety { display:flex; align-items:flex-start; gap:8px; margin:0; color:#637397; font-size:12px; line-height:1.4; }
.tp8-compose-safety i { color:#2d8b63; font-size:15px; }
.tp-stage8-screen .im-file-create-thread .im-button-green { width:100%!important; min-height:52px!important; margin:0!important; border:0!important; border-radius:12px!important; background:#0757e8!important; color:#fff!important; font:inherit!important; font-size:16px!important; font-weight:800!important; }
.tp-stage8-screen .im-file-create-thread .im-attachment { display:block!important; }
.tp-stage8-screen .im-file-create-thread .im-attachment .im-wrap { border:1px dashed #93afe8; border-radius:10px; background:#f7faff; color:#0757e8; }
.tp-stage8-screen .im-threads-exist { display:none!important; }
.tp-stage8-screen .im-threads-exist .im-head { font-size:12px!important; line-height:1.4!important; }

@media (min-width:700px) {
  .tp8-page,
  .tp-stage8-screen .im-file-messages,
  .tp-stage8-screen .im-file-create-thread { min-height:900px; margin-top:24px!important; margin-bottom:40px!important; border:1px solid #e1e6ef; border-radius:24px; box-shadow:0 20px 65px rgba(7,26,77,.09); overflow:hidden; }
  .tp-stage8-screen .im-file-messages #im-message-form { bottom:24px; border-right:1px solid #dde4ee; border-left:1px solid #dde4ee; border-radius:0 0 24px 24px; }
}

@media (max-width:390px) {
  .tp8-appbar,.tp8-page-heading,.tp8-inbox-heading { padding-inline:16px; }
  .tp8-role-switch,.tp8-inbox-search { margin-inline:16px; }
  .tp8-state-tabs,.tp8-filter-chips,.tp8-tour-list { padding-inline:16px; }
  .tp8-thread { padding-inline:16px; }
  .tp8-tour-status { max-width:96px; }
}

/* Batch 6 approved-reference mobile density and flatter list treatment. */
@media (max-width:480px) {
  .tp8-page-heading { padding: 20px 23px 13px; }
  .tp8-page-heading h1,.tp8-inbox-heading h1,.tp8-new-heading h2,.tp8-new-title { font-size: 29px; }
  .tp8-page-heading p,.tp8-inbox-heading p,.tp8-new-heading p { margin-top: 4px; font-size: 12px; }
  .tp8-role-switch { margin: 0 23px 12px; padding: 3px; border: 1px solid #d7dfeb; border-radius: 10px; background:#fff; }
  .tp8-role-switch button { min-height: 42px; border-radius: 8px; font-size: 12px; }
  .tp8-state-tabs { padding-inline:23px; }
  .tp8-state-tabs button { min-height:43px; font-size:12px; }
  .tp8-tour-list { gap:0; padding:14px 23px 8px; }
  .tp8-tour-card { position:relative; min-height:200px; padding:15px 0; border:0; border-bottom:1px solid #dfe5ee; border-radius:0; box-shadow:none; }
  .tp8-tour-person { grid-template-columns:70px minmax(0,1fr) auto; }
  .tp8-tour-person img { width:68px; height:68px; }
  .tp8-tour-person > span:nth-child(2) { align-self:start; padding-top:3px; padding-right:4px; }
  .tp8-tour-person strong { font-family:"Libre Baskerville",Georgia,serif; font-size:18px; }
  .tp8-tour-status { position:absolute; top:132px; left:81px; max-width:165px; padding:0; background:transparent; color:#ff5d45; text-align:start; }
  .tp8-tour-status.is-upcoming,.tp8-tour-status.is-past { background:transparent; }
  .tp8-tour-card h3 { position:absolute; top:66px; left:81px; width:174px; margin:0; font-size:11px; }
  .tp8-tour-facts { position:absolute; top:105px; left:81px; display:flex; width:174px; gap:8px; margin:0; padding:3px 0; background:transparent; }
  .tp8-tour-facts span { display:flex; align-items:center; gap:3px; min-width:0; font-size:9px; white-space:nowrap; }
  .tp8-tour-facts i { font-size:11px; }
  .tp8-tour-facts b { font-size:9px; white-space:nowrap; }
  .tp8-tour-note { position:absolute; top:153px; left:81px; max-width:185px; margin:0; padding-left:0; border-left:0; font-size:10px; }
  .tp8-tour-actions { position:absolute; top:42px; right:0; bottom:auto; width:90px; grid-template-columns:1fr; gap:5px; margin:0; }
  .tp8-btn { min-height:35px; font-size:11px; }
  .tp8-safety { margin:8px 23px 76px; padding:10px; }

  .tp8-inbox-heading { padding:19px 23px 12px; }
  .tp8-compose-button { width:43px; height:43px; flex-basis:43px; }
  .tp8-inbox-search { min-height:44px; margin:0 23px 12px; }
  .tp8-filter-chips { padding:0 23px 12px; }
  .tp8-filter-chips button { min-height:34px; font-size:11px; }
  .tp8-thread { grid-template-columns:55px minmax(0,1fr) auto; gap:10px; min-height:90px; padding:12px 23px; }
  .tp8-thread-avatar,.tp8-thread-avatar img { width:55px; height:55px; }
  .tp8-thread-top strong { font-family:"Libre Baskerville",Georgia,serif; font-size:16px; }

  .tp8-linked-request { grid-template-columns:104px minmax(0,1fr) 96px; margin:13px 8px; padding:12px; }
  .tp8-linked-image { width:104px; height:72px; }
  .tp-stage8-screen .im-file-messages .im-messages { margin-inline:20px!important; }
  .tp-stage8-screen .im-file-messages .im-message-content { font-size:13px!important; }

  .tp8-new-heading { padding:18px 21px 13px; }
  .tp8-recipient-search { margin-bottom:14px; }
  .tp8-section-label { margin:0 21px 7px; }
  .tp8-recent-contacts { margin-bottom:17px; }
  .tp8-recent-contacts>div { gap:7px; padding-inline:21px; }
  .tp8-recent-contacts button { grid-template-columns:56px minmax(0,1fr) 30px; gap:10px; min-height:72px; padding:7px 10px; }
  .tp8-recent-contacts img { width:56px; height:56px; }
  .tp-stage8-screen .im-file-create-thread .im-item-related { grid-template-columns:82px minmax(0,1fr); margin:0 21px 14px!important; }
  .tp-stage8-screen .im-file-create-thread .im-item-resource img { width:82px!important; height:60px!important; }
  .tp-stage8-screen .im-file-create-thread #im-create-thread-form { width:calc(100% - 42px)!important; gap:12px; margin-inline:21px!important; }
  .tp-stage8-screen .im-file-create-thread .im-input { height:44px!important; }
  .tp-stage8-screen .im-file-create-thread .im-textarea { min-height:118px!important; }
}

/* Final Tour Requests card overrides. Keep this block last so the legacy
   Batch 6 density rules above cannot replace the responsive action layout. */
@media (max-width:480px) {
  body.tp-stage8-tours .tp8-tour-person { padding-right:0; }
  body.tp-stage8-tours .tp8-tour-card h3 { width:calc(100% - 81px)!important; }
  body.tp-stage8-tours .tp8-tour-facts { width:calc(100% - 81px); }
  body.tp-stage8-tours .tp8-tour-actions { top:88px; right:auto; left:0; width:68px; gap:8px; }
  body.tp-stage8-tours .tp8-review-panel { margin-top:127px; }
  body.tp-stage8-tours .tp8-tour-actions .tp8-btn {
    width:100%;
    min-width:0;
    padding-inline:5px;
    font-size:12px;
    line-height:1.2;
    white-space:nowrap;
    word-break:normal;
    overflow-wrap:normal;
  }
  body.tp-stage8-tours .tp8-tour-actions .tp8-btn-primary,
  body.tp-stage8-tours .tp8-tour-actions .tp8-btn-primary:link,
  body.tp-stage8-tours .tp8-tour-actions .tp8-btn-primary:visited,
  body.tp-stage8-tours .tp8-tour-actions .tp8-btn-primary:hover,
  body.tp-stage8-tours .tp8-tour-actions .tp8-btn-primary:focus,
  body.tp-stage8-tours .tp8-tour-actions .tp8-btn-primary:active {
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
  }
}

@media (max-width:360px) {
  body.tp-stage8-tours .tp8-tour-list { padding-inline:18px!important; }
  body.tp-stage8-tours .tp8-tour-person { grid-template-columns:48px minmax(0,1fr); gap:8px; padding-right:0; }
  body.tp-stage8-tours .tp8-tour-person img { width:48px; height:48px; }
  body.tp-stage8-tours .tp8-tour-card h3 { left:56px; width:calc(100% - 56px)!important; }
  body.tp-stage8-tours .tp8-tour-facts { left:56px; width:calc(100% - 56px); }
  body.tp-stage8-tours .tp8-tour-actions { top:56px; right:auto; left:0; width:48px; gap:7px; }
  body.tp-stage8-tours .tp8-tour-actions .tp8-btn { min-height:34px; padding-inline:2px; font-size:10px; }
  body.tp-stage8-tours .tp8-review-panel { margin-top:118px; }
}

/* Compact request metadata: keep date, time, and guest count on one row. */
@media (max-width:480px) {
  body.tp-stage8-tours .tp8-tour-facts {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    flex-wrap:nowrap;
    gap:7px;
  }
  body.tp-stage8-tours .tp8-tour-facts > span:nth-child(3) { grid-column:auto; }
}

/* Messages: protect icon contrast from global link-state colors and use the
   approved coral/orange treatment for unread counts. */
body.tp-stage8-screen .tp8-compose-button,
body.tp-stage8-screen .tp8-compose-button:link,
body.tp-stage8-screen .tp8-compose-button:visited,
body.tp-stage8-screen .tp8-compose-button:hover,
body.tp-stage8-screen .tp8-compose-button:focus,
body.tp-stage8-screen .tp8-compose-button:active {
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body.tp-stage8-screen .tp8-unread-count {
  background:#ff5d45!important;
  color:#fff!important;
}

/* Keep the attachment picker operable by keyboard and show its selected file. */
.tp-stage8-screen .im-attachment .im-status:focus-within { outline:2px solid #0757e8; outline-offset:2px; border-radius:6px; }
.tp-stage8-screen #im-message-form .im-attachment .im-wrap { position:relative; }
.tp-stage8-screen #im-message-form .im-attachment.has-file .im-wrap::after { content:""; position:absolute; top:4px; right:4px; width:8px; height:8px; border-radius:50%; background:#20865a; }
.tp-stage8-screen #im-message-form .im-attachment .im-file-name { display:none; }
.tp-stage8-screen .im-message-content a.tp-comm-message-profile { color:inherit; text-decoration:underline; font-weight:700; }
.tp-stage8-screen #im-message-form .im-input-wrap,
.tp-stage8-screen #im-message-form .im-button-alt { grid-row:1; }
