.guest-concierge { margin: 28px 0; padding: 28px; border: 1px solid var(--border, #dedbd5); border-radius: 16px; background: var(--surface, #fff); }
.guest-concierge h2, .guest-intake h2 { margin-top: 0; }
.guest-concierge p, .guest-intake p { line-height: 1.6; }
.guest-concierge label, .guest-intake label { display: block; font-weight: 600; margin: 12px 0 8px; }
.guest-input-row { display: flex; gap: 10px; }
.guest-input-row input, .guest-intake textarea { min-width: 0; width: 100%; padding: 12px; border: 1px solid #9b978f; border-radius: 8px; font: inherit; background: #fff; color: #222; }
.guest-conversation { max-height: min(560px, 48dvh); overflow-y: auto; overflow-wrap: anywhere; }
.guest-turn { border-top: 1px solid var(--border, #dedbd5); padding: 8px 0 16px; }
.guest-answer { font-size: 16px; }
.guest-source-group summary { padding: 10px 0; cursor: pointer; font-weight: 600; }
.guest-source-group .guest-evidence { padding: 10px 0; }
#askTheGuests, #reviewInsights { scroll-margin-top: 90px; }
.property-nav { overflow: visible; }
.property-nav-links { display: flex; gap: 20px; overflow-x: auto; min-width: 0; flex: 1; align-items: center; padding: 8px 0; }
.property-nav-links a { white-space: nowrap; text-decoration: none; color: var(--ink-light); }
.property-nav > .primary-button { flex-shrink: 0; }
.property-skeleton { padding: 20px 0; }
.property-skeleton-image, .property-skeleton-line { background: #e6e9ee; border-radius: 8px; }
.property-skeleton-image { height: 280px; margin-bottom: 24px; }
.property-skeleton-line { height: 20px; margin: 14px 0; width: 85%; }
.property-skeleton-line.short { width: 55%; }
.property-loading .hotel-detail-view > :not(.property-skeleton) { display: none !important; }
.guest-evidence { padding: 16px 0; border-bottom: 1px solid #dedbd5; }
.guest-evidence blockquote { margin: 0 0 10px; white-space: pre-line; }
.guest-evidence a { text-decoration: underline; }
.guest-evidence span, .guest-evidence-note { font-size: 13px; color: #625e57; }
.guest-intake { width: min(640px, calc(100% - 28px)); max-height: 90dvh; border: 1px solid #dedbd5; border-radius: 16px; padding: 28px; margin: auto; overflow-y: auto; }
.guest-intake::backdrop { background: rgb(0 0 0 / 45%); }
.guest-intake-header { display: flex; align-items: start; justify-content: space-between; gap: 16px; position: sticky; top: 0; background: #fff; padding-bottom: 12px; z-index: 1; }
.guest-close { padding: 8px 12px; cursor: pointer; background: #fff; color: #222; border: 1px solid #9b978f; border-radius: 8px; }
.guest-intake > [role="log"] { max-height: 28dvh; overflow-y: auto; overflow-wrap: anywhere; }
.guest-intake textarea { box-sizing: border-box; margin-bottom: 12px; }
.guest-profile { margin-top: 18px; }
@media (max-width: 600px) { .guest-concierge, .guest-intake { padding: 18px; } .guest-input-row { flex-direction: column; } }
