/* Host tools use the same compact cards and tabs as the traveler workspace. */
.host-workspace { max-width: 1080px; padding-block: 28px 56px; }
.host-workspace-heading { display: flex; justify-content: space-between; align-items: end; gap: 12px 18px; flex-wrap: wrap; }
.host-workspace h1 { font-size: clamp(1.72rem, 4vw, 2.55rem); overflow-wrap: anywhere; }
.host-workspace-heading h1 { margin-block: 5px; }
.host-workspace-heading .muted, .host-calendar-heading > p { font-size: .93rem; }
.host-add .icon { width: 18px; height: 18px; }
.host-workspace-nav { display: flex; gap: 8px 16px; overflow-x: auto; margin-top: 15px; border-bottom: 1px solid var(--line); }
.host-workspace-nav a {
    display: inline-flex; align-items: center; gap: 6px; min-height: 47px; padding-inline: 5px;
    border-bottom: 2px solid transparent; color: var(--muted); font-size: .85rem; font-weight: 650; white-space: nowrap;
}
.host-workspace-nav a[aria-current] { border-color: var(--orange); color: var(--orange); }
.host-workspace-nav a:focus-visible { outline-offset: -3px; }
.host-workspace-nav .icon { width: 16px; height: 16px; }
.host-listing-count { margin: 15px 0 10px; font-size: .86rem; color: var(--muted); }
.host-listings { display: grid; gap: 13px; }
.host-listing {
    display: grid; gap: 14px; min-width: 0;
    padding: clamp(12px, 2.8vw, 20px); border: 1px solid var(--line); border-radius: 17px;
}
.host-listing-info { display: flex; align-items: center; gap: 13px; min-width: 0; }
.host-listing-info img { width: clamp(70px, 18vw, 88px); aspect-ratio: 1; height: auto; border-radius: 11px; background: var(--cream); flex: 0 0 auto; }
.host-listing-info > div { min-width: 0; overflow-wrap: anywhere; }
.host-listing-info h2 { font-size: clamp(1.04rem, 3vw, 1.23rem); margin-block: 3px; }
.host-listing-info p { font-size: .82rem; line-height: 1.4; }
.host-listing-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.host-listing-actions .icon { width: 17px; height: 17px; }
.host-calendar-heading { margin-bottom: 20px; }
.host-calendar-heading > p { margin-top: 6px; overflow-wrap: anywhere; }
.host-calendar-heading > p a { color: var(--ink); font-weight: 650; text-decoration: underline; }
.host-back { display: inline-flex; align-items: center; gap: 7px; min-height: 44px; margin-bottom: 4px; color: var(--orange); font-size: .85rem; font-weight: 700; }
.host-back .icon { width: 16px; height: 16px; }
.host-calendar-grid { display: grid; gap: 16px; }
.host-calendar-card, .host-availability-editor { min-width: 0; border: 1px solid var(--line); border-radius: 17px; padding: clamp(12px, 3vw, 24px); }
.host-calendar-grid h2 { font-size: clamp(1.12rem, 3vw, 1.38rem); }
.host-calendar-grid h2 + p { font-size: .84rem; margin-block: 4px 12px; }
.host-calendar-card .calendar-header { margin: 0; }
.host-calendar-card .calendar-header .icon-button { width: 44px; height: 44px; }
.host-calendar-card .calendar-header h3 { text-align: center; }
.host-calendar-card .calendar-day { font-size: .87rem; gap: 3px; }
.host-calendar-card .calendar-day:focus-visible { outline-offset: -2px; }
.host-calendar-card .calendar-day.selected { background: var(--orange) !important; }
.host-calendar-card .calendar-day.selected .cross { color: #fff; }
.host-calendar-card .calendar-day.blocked:not(.past):disabled { opacity: 1; color: #8a4339; }
.host-calendar-card .calendar-status:empty { min-height: 0; }
.host-calendar-card .calendar-legend { flex-wrap: wrap; justify-content: flex-start; gap: 7px 13px; font-size: .75rem; margin-bottom: 0; }
.host-calendar-card .calendar-retry { grid-column: 1 / -1; }
.host-selected:not([hidden]) { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 0 12px; border-top: 1px solid var(--line); margin-top: 12px; padding-top: 5px; }
.host-selected p { color: var(--ink); font-size: .83rem; font-weight: 650; }
.host-selected a { display: inline-flex; min-height: 44px; align-items: center; gap: 6px; color: var(--orange); font-size: .82rem; text-decoration: underline; }
.host-selected .icon { width: 16px; height: 16px; }
.host-availability-editor { align-self: start; scroll-margin-top: 12px; }
.host-availability-editor form { margin-top: 10px; }
.host-availability-editor input, .host-availability-editor select { min-width: 0; min-height: 46px; }

@media (min-width: 750px) {
    .host-listing { grid-template-columns: minmax(0, 1fr) auto; align-items: center; }
    .host-listing-actions { justify-content: end; }
    .host-calendar-grid { grid-template-columns: minmax(0, 1fr) minmax(270px, .65fr); gap: 22px; }
    .host-calendar-card .calendar-day { min-height: 48px; }
    .host-selected a { display: none; }
}

@media (max-width: 559px) {
    .host-workspace { width: calc(100% - 32px); padding-block: 18px 42px; }
    .host-workspace-heading .muted { font-size: .87rem; }
    .host-add { min-height: 44px; padding: 9px 13px; font-size: .83rem; }
    .host-listing-actions { display: grid; grid-template-columns: minmax(0, 1fr); }
    .host-calendar-card .calendar-weekdays, .host-calendar-card .calendar-grid { gap: 2px; }
    .host-calendar-card .calendar-day { min-height: 42px; }
}
