.active-link{color:var(--orange)}.p10-shell{padding:44px 5% 75px;background:#f8f5ee;min-height:74vh}.p10-heading h1,.dashboard-hero h1,.trip-status-hero h1,.conversation-header h1{font-family:Georgia,"Times New Roman",serif;color:var(--forest);font-size:clamp(42px,5vw,62px);margin:0}.p10-heading>p:last-child,.dashboard-hero p,.trip-status-hero p,.conversation-header p{color:var(--muted);font-size:17px}.p10-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 8px 24px rgba(14,62,45,.06)}.p10-card h2,.section-card h2{font-family:Georgia,"Times New Roman",serif;margin-top:0}.booking-request-layout{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(290px,.55fr);gap:24px;align-items:start}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-grid label{display:flex;flex-direction:column;gap:7px;color:var(--forest);font-size:12px;font-weight:850}.form-grid input,.form-grid select,.form-grid textarea,.message-composer textarea{padding:13px;border:1px solid var(--line);border-radius:9px;background:#fff;font:inherit}.full-field{grid-column:1/-1}.check-field{display:flex!important;flex-direction:row!important;gap:10px!important;align-items:flex-start;margin:18px 0}.full-button{width:100%;text-align:center}.form-message{font-weight:850;color:var(--forest);line-height:1.45}.booking-summary-card{position:sticky;top:105px}.booking-cover{height:220px;border-radius:12px;background:center/cover no-repeat url("hero.jpg")}.booking-summary-card>p{color:var(--muted)}.summary-rows{display:grid;gap:12px;margin:20px 0}.summary-rows div{display:flex;justify-content:space-between;gap:16px}.summary-total{padding-top:12px;border-top:1px solid var(--line);font-size:18px}.privacy-note{padding:15px;background:var(--cream);border-radius:10px}.privacy-note p{margin-bottom:0;color:var(--muted);line-height:1.5}.request-progress,.dashboard-loading,.conversation-loading{display:flex;gap:10px;align-items:center;padding:14px;color:var(--muted)}.mini-spinner{width:24px;height:24px;border:3px solid #ddd4c9;border-top-color:var(--forest);border-radius:50%;animation:p10spin .8s linear infinite}@keyframes p10spin{to{transform:rotate(360deg)}}.dashboard-hero,.trip-status-hero,.conversation-header{display:flex;justify-content:space-between;gap:24px;align-items:center;margin-bottom:28px}.dashboard-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:22px}.dashboard-stat-grid article{background:#fff;border:1px solid var(--line);border-radius:14px;padding:20px}.dashboard-stat-grid span{color:var(--muted)}.dashboard-stat-grid strong{display:block;font-size:40px;color:var(--forest);margin-top:6px}.section-card{margin-bottom:22px}.section-heading{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px}.section-heading h2{margin:0}.request-list,.traveler-request-list,.host-listing-list{display:grid;gap:14px}.host-request-card,.traveler-request-card,.host-listing-row{border:1px solid var(--line);border-radius:13px;padding:18px}.request-card-top,.traveler-request-card,.host-listing-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.request-card-top h3,.traveler-request-card h3,.host-listing-row h3{margin:8px 0 5px}.request-card-top p,.traveler-request-card p,.host-listing-row p{color:var(--muted);margin:0}.request-facts{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.request-facts span{padding:8px 10px;background:var(--cream);border-radius:999px;font-size:12px;font-weight:750}.host-request-card blockquote{margin:14px 0;padding:14px;border-left:4px solid var(--orange);background:#fffaf4;color:#37453f}.request-card-actions,.traveler-request-actions,.host-listing-row-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.traveler-request-actions{justify-content:flex-end}.danger-button,.danger-link{border:1px solid #cc6a5f;background:#fff;color:#a33b31;border-radius:8px;padding:11px 15px;font-weight:850;cursor:pointer}.danger-link{width:100%;margin-top:18px}.status-pill{display:inline-flex;padding:7px 10px;border-radius:999px;background:#eee8df;color:#5e625f;font-size:11px;font-weight:900;text-transform:capitalize}.status-pending{background:#fff1c7;color:#7c5a07}.status-accepted,.status-paid,.status-completed,.status-published{background:#dff1e5;color:#17663c}.status-declined,.status-cancelled{background:#f8dfda;color:#96392f}.dashboard-empty{text-align:center;padding:35px}.dashboard-empty>span{font-size:45px}.request-date-line{margin:10px 0;font-weight:850;color:var(--forest)}.trip-detail-layout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.5fr);gap:22px;align-items:start}.trip-detail-main{display:grid;gap:18px}.detail-row-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.detail-row-grid>div{padding:14px;border:1px solid var(--line);border-radius:10px}.detail-row-grid span{display:block;color:var(--muted);font-size:12px;margin-bottom:6px}.long-copy{line-height:1.7;color:#34443d}.address-card{border-left:5px solid var(--orange)}.status-explainer{position:sticky;top:105px}.status-steps{display:grid;gap:14px}.status-steps>div{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;opacity:.6}.status-steps>div>span{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:#eee8df;font-weight:900}.status-steps>div.done{opacity:1}.status-steps>div.done>span{background:#dff1e5;color:#17663c}.status-steps p{margin:0}.conversation-shell{padding:44px 5% 75px;background:#f8f5ee;min-height:75vh}.conversation-card{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:0 8px 24px rgba(14,62,45,.06)}.message-stream{display:flex;flex-direction:column;gap:12px;min-height:300px;max-height:540px;overflow-y:auto;padding:12px;background:#faf8f3;border-radius:12px}.message-bubble{max-width:74%;padding:12px 14px;border-radius:14px}.message-bubble p{white-space:pre-wrap;margin:6px 0}.message-bubble time{font-size:10px;color:var(--muted)}.message-bubble.mine{align-self:flex-end;background:var(--forest);color:#fff;border-bottom-right-radius:4px}.message-bubble.mine time{color:#dcebe4}.message-bubble.theirs{align-self:flex-start;background:#fff;border:1px solid var(--line);border-bottom-left-radius:4px}.message-composer{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:14px}.conversation-empty{text-align:center;padding:50px 20px}.conversation-empty span{font-size:46px}
@media(max-width:900px){.booking-request-layout,.trip-detail-layout{grid-template-columns:1fr}.booking-summary-card,.status-explainer{position:relative;top:auto}.dashboard-hero,.trip-status-hero,.conversation-header{align-items:flex-start;flex-direction:column}.traveler-request-card,.host-listing-row{flex-direction:column}.traveler-request-actions{justify-content:flex-start}}
@media(max-width:650px){.p10-shell,.conversation-shell{padding:30px 5% 55px}.form-grid,.detail-row-grid,.dashboard-stat-grid{grid-template-columns:1fr}.full-field{grid-column:auto}.request-card-top{flex-direction:column}.message-composer{grid-template-columns:1fr}.message-bubble{max-width:88%}}


/* Phase 10 loading-state fix */
[hidden] {
  display: none !important;
}
.booking-calendar {

  grid-column: 1 / -1;

  margin: 8px 0 18px;

  padding: 18px;

  border: 1px solid #ded8ca;

  border-radius: 18px;

  background: #fff;

}

.booking-calendar-header {

  display: flex;

  align-items: center;

  justify-content: space-between;

  margin-bottom: 14px;

}

.booking-calendar-header button {

  width: 42px;

  height: 42px;

  border: 0;

  border-radius: 50%;

  font-size: 24px;

  cursor: pointer;

}

.calendar-weekdays,

.booking-calendar-grid {

  display: grid;

  grid-template-columns: repeat(7, 1fr);

  gap: 6px;

  text-align: center;

}

.calendar-weekdays {

  margin-bottom: 8px;

  font-size: 12px;

  font-weight: 700;

}

.calendar-day {

  min-height: 42px;

  border: 0;

  border-radius: 10px;

  background: #f5f2eb;

  cursor: pointer;

}
.calendar-day.selected {

  background: #173f2f;

  color: #fff;

  font-weight: 700;

}

.calendar-day.selected-range {

  background: #dfe9e2;

  color: #173f2f;

  font-weight: 700;

}

.calendar-day.unavailable,

.calendar-day.unavailable:disabled {

  appearance: none;

  -webkit-appearance: none;

  background: #d96f24 !important;

  color: #fff !important;

  -webkit-text-fill-color: #fff;

  opacity: 0.75;

  cursor: not-allowed;

  text-decoration: line-through;

}

.calendar-day.empty {

  background: transparent;

  cursor: default;

}

.calendar-note {

  margin: 12px 0 0;

  font-size: 14px;

  color: #66706b;

}
.form-grid .date-field-hidden {

  display: none !important;

}
/* =========================================================

   MAP CHAT NOTIFICATION BANNER

========================================================= */

.map-chat-notification {

  position: fixed;

  top: 18px;

  left: 50%;

  z-index: 9999;

  width: calc(100% - 32px);

  max-width: 460px;

  display: grid;

  gap: 4px;

  padding: 16px 18px;

  border: 1px solid rgba(243, 107, 22, 0.45);

  border-radius: 20px;

  background:

    linear-gradient(

      145deg,

      rgba(255, 253, 248, 0.98),

      rgba(248, 241, 230, 0.98)

    );

  box-shadow:

    0 16px 36px rgba(13, 59, 47, 0.22);

  transform:

    translate(-50%, -140%);

  opacity: 0;

  transition:

    transform 0.3s ease,

    opacity 0.3s ease;

}

.map-chat-notification.show {

  transform:

    translate(-50%, 0);

  opacity: 1;

}

.map-chat-notification strong {

  color: #0d3b2f;

  font-size: 17px;

  font-weight: 900;

}

.map-chat-notification span {

  color: #687770;

  font-size: 14px;

  line-height: 1.35;

}