/* Customer Room Request Hub & Private Thread Modernisation.
   Presentation only: existing request, Private Help, message, photo, quote and booking owners remain authoritative. */
.yitm-customer-room-private-a0017040 {
  --cr-ink: #10241a;
  --cr-muted: #5d7066;
  --cr-green: #064e35;
  --cr-green-2: #08784d;
  --cr-soft: #eef8f3;
  --cr-soft-2: #f8fbf9;
  --cr-cream: #fffaf1;
  --cr-line: rgba(6, 78, 53, .15);
  --cr-line-strong: rgba(6, 78, 53, .28);
  --cr-warn: #fff7dd;
  --cr-danger: #8a2d22;
  --cr-radius-lg: 28px;
  --cr-radius-md: 20px;
  --cr-shadow: 0 18px 46px rgba(13, 43, 28, .075);
}

.yitm-customer-room-private-a0017040 .cr8890-private-menu .cr8890-private-start {
  border-color: var(--cr-green) !important;
  background: var(--cr-green) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(6, 78, 53, .14);
}

.yitm-customer-room-private-a0017040 .cr8890-private-menu .px-links a:focus-visible {
  outline: 3px solid rgba(8, 120, 77, .32) !important;
  outline-offset: 3px;
}
.yitm-customer-room-private-a0017040 .cr8890-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 24px 18px 118px;
  color: var(--cr-ink);
}

.yitm-customer-room-private-a0017040 .cr8890-topbar,
.yitm-customer-room-private-a0017040 .cr8890-actions,
.yitm-customer-room-private-a0017040 .cr8890-request-meta,
.yitm-customer-room-private-a0017040 .cr8890-request-actions,
.yitm-customer-room-private-a0017040 .cr8890-thread-meta,
.yitm-customer-room-private-a0017040 .cr8890-composer-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
}

.yitm-customer-room-private-a0017040 .cr8890-topbar {
  justify-content: space-between;
  margin-bottom: 16px;
}

.yitm-customer-room-private-a0017040 .cr8890-eyebrow {
  margin: 0 0 7px;
  color: var(--cr-green-2);
  font-size: .76rem;
  font-weight: 950;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.yitm-customer-room-private-a0017040 .cr8890-title {
  margin: 0;
  color: var(--cr-ink);
  font-size: clamp(2.15rem, 5vw, 4.25rem);
  line-height: .98;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.yitm-customer-room-private-a0017040 .cr8890-lede {
  max-width: 760px;
  margin: 12px 0 0;
  color: var(--cr-muted);
  font-size: clamp(1rem, 1.8vw, 1.18rem);
  font-weight: 760;
  line-height: 1.55;
  text-wrap: pretty;
}

.yitm-customer-room-private-a0017040 .cr8890-btn,
.yitm-customer-room-private-a0017040 button.cr8890-btn {
  display: inline-flex;
  min-height: 48px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 17px;
  border: 1px solid var(--cr-line-strong);
  border-radius: 999px;
  background: #fff;
  color: var(--cr-green) !important;
  font: inherit;
  font-weight: 950;
  line-height: 1.1;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
}

.yitm-customer-room-private-a0017040 .cr8890-btn.primary,
.yitm-customer-room-private-a0017040 button.cr8890-btn.primary {
  border-color: var(--cr-green);
  background: var(--cr-green);
  color: #fff !important;
  box-shadow: 0 12px 26px rgba(6, 78, 53, .16);
}

.yitm-customer-room-private-a0017040 .cr8890-btn:focus-visible,
.yitm-customer-room-private-a0017040 .cr8890-request-card:focus-visible,
.yitm-customer-room-private-a0017040 .cr8890-secondary a:focus-visible {
  outline: 3px solid rgba(8, 120, 77, .32);
  outline-offset: 3px;
}

.yitm-customer-room-private-a0017040 .cr8890-hero,
.yitm-customer-room-private-a0017040 .cr8890-panel,
.yitm-customer-room-private-a0017040 .cr8890-request-card,
.yitm-customer-room-private-a0017040 .cr8890-request-header,
.yitm-customer-room-private-a0017040 .cr8890-conversation {
  border: 1px solid var(--cr-line);
  border-radius: var(--cr-radius-lg);
  background: rgba(255, 255, 255, .97);
  box-shadow: var(--cr-shadow);
}

.yitm-customer-room-private-a0017040 .cr8890-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr);
  gap: 20px;
  padding: clamp(24px, 4vw, 42px);
  background: linear-gradient(135deg, #fffdf8 0%, #eef8f3 100%);
}

.yitm-customer-room-private-a0017040 .cr8890-attention {
  align-self: stretch;
  padding: 18px;
  border: 1px solid #cfe4d8;
  border-radius: var(--cr-radius-md);
  background: #fff;
}

.yitm-customer-room-private-a0017040 .cr8890-attention strong {
  display: block;
  margin-bottom: 5px;
  color: var(--cr-green);
  font-size: 1.08rem;
}

.yitm-customer-room-private-a0017040 .cr8890-attention p {
  margin: 0;
  color: var(--cr-muted);
  font-weight: 760;
}

.yitm-customer-room-private-a0017040 .cr8890-section {
  margin-top: 22px;
}

.yitm-customer-room-private-a0017040 .cr8890-section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.yitm-customer-room-private-a0017040 .cr8890-section-head h2 {
  margin: 0;
  color: var(--cr-ink);
  font-size: clamp(1.45rem, 2.7vw, 2rem);
  letter-spacing: -.03em;
}

.yitm-customer-room-private-a0017040 .cr8890-section-head p {
  margin: 5px 0 0;
  color: var(--cr-muted);
  font-weight: 740;
}

.yitm-customer-room-private-a0017040 .cr8890-request-list {
  display: grid;
  gap: 12px;
}

.yitm-customer-room-private-a0017040 .cr8890-request-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 20px;
  box-shadow: none;
}

.yitm-customer-room-private-a0017040 .cr8890-request-card:hover {
  border-color: var(--cr-line-strong);
  box-shadow: 0 12px 28px rgba(13, 43, 28, .06);
}

.yitm-customer-room-private-a0017040 .cr8890-request-card h3 {
  margin: 5px 0 7px;
  color: var(--cr-ink);
  font-size: clamp(1.15rem, 2vw, 1.38rem);
  line-height: 1.18;
  letter-spacing: -.02em;
}

.yitm-customer-room-private-a0017040 .cr8890-request-card p {
  max-width: 72ch;
  margin: 0;
  color: var(--cr-muted);
  font-weight: 720;
  line-height: 1.5;
}

.yitm-customer-room-private-a0017040 .cr8890-pill {
  display: inline-flex;
  min-height: 32px;
  align-items: center;
  padding: 5px 10px;
  border: 1px solid #cfe4d8;
  border-radius: 999px;
  background: var(--cr-soft);
  color: var(--cr-green);
  font-size: .82rem;
  font-weight: 950;
}

.yitm-customer-room-private-a0017040 .cr8890-pill.customer {
  border-color: #e8cc83;
  background: var(--cr-warn);
  color: #6f5100;
}

.yitm-customer-room-private-a0017040 .cr8890-pill.complete {
  border-color: #d5ded9;
  background: #f5f7f6;
  color: #596a61;
}

.yitm-customer-room-private-a0017040 .cr8890-ref {
  color: var(--cr-muted);
  font-size: .86rem;
  font-weight: 850;
  letter-spacing: .01em;
}

.yitm-customer-room-private-a0017040 .cr8890-empty {
  padding: 26px;
  border: 1px dashed #a9cbbb;
  border-radius: var(--cr-radius-lg);
  background: var(--cr-soft-2);
}

.yitm-customer-room-private-a0017040 .cr8890-empty h3 {
  margin: 0 0 7px;
  color: var(--cr-green);
}

.yitm-customer-room-private-a0017040 .cr8890-empty p {
  margin: 0;
  color: var(--cr-muted);
  font-weight: 740;
}

.yitm-customer-room-private-a0017040 .cr8890-secondary {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 22px;
}

.yitm-customer-room-private-a0017040 .cr8890-secondary article {
  padding: 18px;
  border: 1px solid var(--cr-line);
  border-radius: var(--cr-radius-md);
  background: var(--cr-soft-2);
}

.yitm-customer-room-private-a0017040 .cr8890-secondary h3 {
  margin: 0 0 6px;
  color: var(--cr-green);
}

.yitm-customer-room-private-a0017040 .cr8890-secondary p {
  margin: 0 0 12px;
  color: var(--cr-muted);
  font-weight: 720;
}

/* Verified private request header */
.yitm-customer-room-private-a0017040 .cr8890-request-header {
  padding: 22px;
  box-shadow: none;
}

.yitm-customer-room-private-a0017040 .cr8890-request-header-main {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: start;
}

.yitm-customer-room-private-a0017040 .cr8890-request-header h2 {
  margin: 4px 0 7px;
  color: var(--cr-ink);
  font-size: clamp(1.5rem, 3vw, 2.2rem);
  letter-spacing: -.035em;
}

.yitm-customer-room-private-a0017040 .cr8890-request-header p {
  max-width: 72ch;
  margin: 0;
  color: var(--cr-muted);
  font-weight: 740;
  line-height: 1.5;
}

.yitm-customer-room-private-a0017040 .cr8890-next-action {
  min-width: 250px;
  padding: 16px;
  border-radius: var(--cr-radius-md);
  background: var(--cr-green);
  color: #fff;
}

.yitm-customer-room-private-a0017040 .cr8890-next-action b,
.yitm-customer-room-private-a0017040 .cr8890-next-action span {
  display: block;
  color: #fff;
}

.yitm-customer-room-private-a0017040 .cr8890-next-action span {
  margin-top: 4px;
  opacity: .9;
  font-size: .9rem;
  font-weight: 720;
}

.yitm-customer-room-private-a0017040 .cr8890-next-action .cr8890-btn {
  width: 100%;
  margin-top: 12px;
  border-color: #fff;
  background: #fff;
  color: var(--cr-green) !important;
  box-shadow: none;
}

.yitm-customer-room-private-a0017040 .cr8890-lifecycle {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 8px;
  margin-top: 18px;
}

.yitm-customer-room-private-a0017040 .cr8890-stage {
  min-height: 74px;
  padding: 11px;
  border: 1px solid var(--cr-line);
  border-radius: 16px;
  background: #fff;
  color: var(--cr-muted);
  font-size: .82rem;
  font-weight: 850;
}

.yitm-customer-room-private-a0017040 .cr8890-stage b {
  display: block;
  margin-bottom: 3px;
  color: inherit;
}

.yitm-customer-room-private-a0017040 .cr8890-stage.done {
  border-color: #b9dccb;
  background: var(--cr-soft);
  color: var(--cr-green);
}

.yitm-customer-room-private-a0017040 .cr8890-stage.current {
  border-color: var(--cr-green);
  background: var(--cr-green);
  color: #fff;
}

/* Conversation */
.yitm-customer-room-private-a0017040 .cr8890-conversation {
  margin-top: 18px;
  padding: 20px;
  box-shadow: none;
  scroll-margin-top: 24px;
}

.yitm-customer-room-private-a0017040 .cr8890-conversation-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 16px;
}

.yitm-customer-room-private-a0017040 .cr8890-conversation-head h2 {
  margin: 3px 0 5px;
  color: var(--cr-ink);
  letter-spacing: -.025em;
}

.yitm-customer-room-private-a0017040 .cr8890-conversation-head p {
  margin: 0;
  color: var(--cr-muted);
  font-weight: 720;
}

.yitm-customer-room-private-a0017040 .cr8890-thread {
  display: grid;
  gap: 10px;
  max-height: 620px;
  margin: 18px 0;
  padding: 4px 2px;
  overflow: auto;
  overscroll-behavior: contain;
}

.yitm-customer-room-private-a0017040 .cr8890-message {
  width: min(82%, 720px);
  padding: 12px 14px;
  border: 1px solid #dbe7e1;
  border-radius: 18px 18px 18px 6px;
  background: #fff;
}

.yitm-customer-room-private-a0017040 .cr8890-message.you {
  margin-left: auto;
  border-color: #b9d7e8;
  border-radius: 18px 18px 6px 18px;
  background: #eef8ff;
}

.yitm-customer-room-private-a0017040 .cr8890-message.system {
  width: 100%;
  background: #f5f7f6;
}

.yitm-customer-room-private-a0017040 .cr8890-message-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--cr-green);
  font-size: .84rem;
  font-weight: 900;
}

.yitm-customer-room-private-a0017040 .cr8890-message-head time {
  color: #788b81;
  font-size: .76rem;
  font-weight: 760;
}

.yitm-customer-room-private-a0017040 .cr8890-message p {
  margin: 6px 0 0 !important;
  color: #263c32 !important;
  font-weight: 650 !important;
  white-space: normal;
}

.yitm-customer-room-private-a0017040 .cr8890-photo-strip {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 9px;
  margin: 10px 0 18px;
}

.yitm-customer-room-private-a0017040 .cr8890-photo {
  display: grid;
  gap: 6px;
  color: var(--cr-green) !important;
  font-size: .8rem;
  font-weight: 850;
  text-decoration: none !important;
}

.yitm-customer-room-private-a0017040 .cr8890-photo img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border: 1px solid var(--cr-line);
  border-radius: 14px;
  background: var(--cr-soft-2);
}

.yitm-customer-room-private-a0017040 .cr8890-composer {
  padding: 16px;
  border: 1px solid var(--cr-line);
  border-radius: var(--cr-radius-md);
  background: var(--cr-soft-2);
}

.yitm-customer-room-private-a0017040 .cr8890-composer-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, .42fr);
  gap: 12px;
  align-items: end;
}

.yitm-customer-room-private-a0017040 .cr8890-composer form {
  margin: 0;
}

.yitm-customer-room-private-a0017040 .cr8890-composer label {
  display: grid;
  gap: 7px;
  color: var(--cr-green);
  font-weight: 900;
}

.yitm-customer-room-private-a0017040 .cr8890-composer textarea,
.yitm-customer-room-private-a0017040 .cr8890-composer input[type="file"] {
  width: 100%;
  min-height: 50px;
  box-sizing: border-box;
  border: 1.5px solid rgba(6, 78, 53, .20);
  border-radius: 14px;
  background: #fff;
  color: var(--cr-ink);
  font: inherit;
}

.yitm-customer-room-private-a0017040 .cr8890-composer textarea {
  min-height: 112px;
  padding: 12px 13px;
  resize: vertical;
}

.yitm-customer-room-private-a0017040 .cr8890-composer input[type="file"] {
  padding: 8px;
}

.yitm-customer-room-private-a0017040 .cr8890-composer textarea:focus,
.yitm-customer-room-private-a0017040 .cr8890-composer input[type="file"]:focus {
  outline: 3px solid rgba(8, 120, 77, .14);
  border-color: var(--cr-green-2);
}

.yitm-customer-room-private-a0017040 .cr8890-flash {
  margin: 12px 0;
  padding: 12px 14px;
  border: 1px solid #a7d4b9;
  border-radius: 14px;
  background: #eaf8f0;
  color: #16472d;
  font-weight: 850;
}

.yitm-customer-room-private-a0017040 .cr8890-flash.error {
  border-color: #e3aaa5;
  background: #fff0ef;
  color: #6b211b;
}

.yitm-customer-room-private-a0017040 .cr8890-private-note {
  margin-top: 10px;
  color: #71847a;
  font-size: .84rem;
  font-weight: 720;
  line-height: 1.4;
}

@media (max-width: 900px) {
  .yitm-customer-room-private-a0017040 .cr8890-private-menu .cr8890-private-start {
  border-color: var(--cr-green) !important;
  background: var(--cr-green) !important;
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(6, 78, 53, .14);
}

.yitm-customer-room-private-a0017040 .cr8890-private-menu .px-links a:focus-visible {
  outline: 3px solid rgba(8, 120, 77, .32) !important;
  outline-offset: 3px;
}
.yitm-customer-room-private-a0017040 .cr8890-wrap {
    padding: 16px 13px 112px;
  }
  .yitm-customer-room-private-a0017040 .cr8890-hero,
  .yitm-customer-room-private-a0017040 .cr8890-request-header-main,
  .yitm-customer-room-private-a0017040 .cr8890-composer-grid {
    grid-template-columns: 1fr;
  }
  .yitm-customer-room-private-a0017040 .cr8890-request-card {
    grid-template-columns: 1fr;
  }
  .yitm-customer-room-private-a0017040 .cr8890-lifecycle {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .yitm-customer-room-private-a0017040 .cr8890-secondary {
    grid-template-columns: 1fr;
  }
  .yitm-customer-room-private-a0017040 .cr8890-next-action {
    min-width: 0;
  }
}

@media (max-width: 560px) {
  .yitm-customer-room-private-a0017040 .cr8890-topbar,
  .yitm-customer-room-private-a0017040 .cr8890-section-head,
  .yitm-customer-room-private-a0017040 .cr8890-conversation-head {
    align-items: stretch;
    flex-direction: column;
  }
  .yitm-customer-room-private-a0017040 .cr8890-actions,
  .yitm-customer-room-private-a0017040 .cr8890-request-actions,
  .yitm-customer-room-private-a0017040 .cr8890-composer-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .yitm-customer-room-private-a0017040 .cr8890-btn,
  .yitm-customer-room-private-a0017040 button.cr8890-btn {
    width: 100%;
  }
  .yitm-customer-room-private-a0017040 .cr8890-lifecycle {
    grid-template-columns: 1fr 1fr;
  }
  .yitm-customer-room-private-a0017040 .cr8890-message {
    width: 100%;
  }
  .yitm-customer-room-private-a0017040 .cr8890-photo-strip {
    grid-template-columns: 1fr 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  .yitm-customer-room-private-a0017040 *,
  .yitm-customer-room-private-a0017040 *::before,
  .yitm-customer-room-private-a0017040 *::after {
    scroll-behavior: auto !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .01ms !important;
  }
}

/* A0018910 private shell integration: remove the older nested-card feel while keeping access and action helpers intact. */
.yitm-customer-room-private-a0017040 .ct2782-wrap {
  max-width: 1180px;
  margin: 0 auto;
  padding: 22px 18px 116px;
  background: transparent;
  border-radius: 0;
}
.yitm-customer-room-private-a0017040 .ct2782-shell {
  grid-template-columns: minmax(0, 1fr);
  gap: 14px;
}
.yitm-customer-room-private-a0017040 .ct2782-main {
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}
.yitm-customer-room-private-a0017040 .ct2782-main > .ct2782-kicker,
.yitm-customer-room-private-a0017040 .ct2782-main > h1 {
  margin-inline: 4px;
}
.yitm-customer-room-private-a0017040 .ct2782-main > h1 {
  margin-bottom: 18px;
  font-size: clamp(2.2rem, 5vw, 4rem);
  line-height: .98;
  letter-spacing: -.045em;
}
.yitm-customer-room-private-a0017040 .ct2782-side {
  display: grid;
  grid-template-columns: minmax(0, .7fr) minmax(0, 1.3fr) auto;
  gap: 14px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 20px;
  box-shadow: none;
}
.yitm-customer-room-private-a0017040 .ct2782-side h2,
.yitm-customer-room-private-a0017040 .ct2782-side p,
.yitm-customer-room-private-a0017040 .ct2782-side .ct2782-statusbar {
  margin: 0;
}
.yitm-customer-room-private-a0017040 .ct2782-more {
  margin-top: 16px;
  border: 1px solid var(--cr-line);
  border-radius: 18px;
  background: #fff;
}
.yitm-customer-room-private-a0017040 .ct2782-more > summary {
  min-height: 48px;
  display: flex;
  align-items: center;
  padding: 10px 15px;
  color: var(--cr-green);
  font-weight: 900;
  cursor: pointer;
}
.yitm-customer-room-private-a0017040 .ct2782-morebody {
  padding: 0 14px 14px;
}
@media (max-width: 900px) {
  .yitm-customer-room-private-a0017040 .ct2782-wrap { padding: 16px 13px 112px; }
  .yitm-customer-room-private-a0017040 .ct2782-side { grid-template-columns: 1fr; }
}
