body:has(.calendar-operations){min-width:0}.calendar-operations .mobile-header h1{overflow:visible;line-height:var(--type-app-title-line)}.calendar-operations{--control-radius:var(--surface-radius);width:min(100%,var(--product-canvas-width));min-height:100dvh;margin-inline:auto;color:var(--foreground);background:var(--background);box-shadow:var(--product-canvas-shadow)}.allocation-screen,.calendar-screen{display:flex;min-height:100dvh;flex-direction:column;background:var(--background)}.calendar-screen__body{display:flex;flex:1;flex-direction:column;padding:.25rem var(--page-gutter) 1rem}.calendar-operations__recovered{min-height:100dvh;outline:0 solid transparent;outline-offset:-3px}.calendar-operations__recovered:focus{outline:3px solid var(--ring)}.calendar-room-unit-count{margin:0;color:var(--muted-foreground)}.calendar-content{display:flex;flex:1;flex-direction:column;gap:.75rem}.calendar-operations__production-content{display:contents}.pet-conditions[data-loading] :is(.selection-tile,.lab-radio-choice-card,.pet-count-control){position:relative}.pet-conditions[data-loading] :is(.selection-tile,.lab-radio-choice-card,.pet-count-control)>*{visibility:hidden}.pet-conditions[data-loading] :is(.selection-tile,.lab-radio-choice-card,.pet-count-control):after{position:absolute;inset:0;border-radius:inherit;background:var(--skeleton-highlight);content:""}.calendar-operations__loading-value{width:min(76%,8rem);height:.72em}.calendar-operations__chart-loading{display:flex;min-width:0;align-items:end;gap:.1875rem}.calendar-operations__chart-loading>[data-slot=skeleton]{height:62%;flex:1}.calendar-operations__chart-loading>[data-slot=skeleton]:nth-child(3n){height:82%}.calendar-mode-toggle{width:100%}.calendar-decision-surface{display:flex;flex-direction:column;gap:.625rem;padding:.5rem;border:1px solid var(--border);border-radius:var(--surface-radius);background:var(--background);box-shadow:none}.calendar-range-summary{display:grid;min-height:2.75rem;grid-template-columns:auto 1fr;align-items:center;gap:.625rem;padding:.5rem .625rem;border-radius:var(--control-radius);background:var(--subtle-surface)}.calendar-range-summary>[data-slot=app-icon]{color:var(--interactive-foreground)}.calendar-range-summary div{display:flex;min-width:0;flex-direction:column;gap:.125rem}.calendar-range-summary span{color:var(--muted-foreground)}.calendar-range-summary strong{overflow-wrap:anywhere}.calendar-weekdays,.occupancy-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.1875rem}.calendar-weekdays{color:var(--muted-foreground);text-align:center}.occupancy-day{position:relative;display:flex;width:100%;min-width:0;height:3.25rem;flex-direction:column;gap:.125rem;padding:.25rem .0625rem;border:1px solid transparent;border-radius:var(--trend-radius);color:var(--foreground);background:var(--background)}.occupancy-day>small{display:none}.occupancy-day strong{color:var(--trend-green-foreground)}.occupancy-day[data-tone=medium] strong{color:var(--trend-amber-foreground)}.occupancy-day>span,.occupancy-day>strong{display:block;width:100%;font-variant-numeric:tabular-nums;text-align:center}.occupancy-day>strong{transform:translateX(1px)}.occupancy-day>*{position:relative;z-index:1}.occupancy-day--outside{border-color:transparent;color:var(--muted-foreground);background:var(--background);opacity:.7}.occupancy-day--outside:is(.occupancy-day--range-start,.occupancy-day--range-end,.occupancy-day--in-range),.occupancy-day--outside:is(:hover,:focus-visible){opacity:1}.occupancy-day[data-tone=high]{border-color:transparent;background:var(--background)}.occupancy-day[data-tone=high] strong{color:var(--trend-orange-foreground)}.occupancy-day[data-tone=full],.occupancy-day[data-tone=nearly-full],.occupancy-day[data-tone=no-capacity]{border-color:transparent;background:var(--background)}.occupancy-day[data-tone=full] strong,.occupancy-day[data-tone=nearly-full] strong,.occupancy-day[data-tone=no-capacity] strong{color:var(--trend-full-marker)}.occupancy-day.occupancy-day--in-range,.occupancy-day.occupancy-day--in-range:hover{border-color:color-mix(in srgb,var(--primary) 18%,var(--border));border-radius:0;background:var(--primary-surface)}.occupancy-day--in-range:before{position:absolute;z-index:0;inset:-1px -.1875rem;background:var(--primary-surface);content:""}.occupancy-calendar-grid>:nth-child(7n+1):before{left:-1px}.occupancy-calendar-grid>:nth-child(7n):before{right:-1px}.occupancy-day.occupancy-day--range-end,.occupancy-day.occupancy-day--range-end:hover,.occupancy-day.occupancy-day--range-start,.occupancy-day.occupancy-day--range-start:hover{z-index:2;border-color:var(--interactive-foreground);color:var(--primary-foreground);background:var(--primary);box-shadow:0 0 0 1px var(--primary)}.occupancy-day.occupancy-day--range-end strong,.occupancy-day.occupancy-day--range-start strong{color:var(--primary-foreground)}.occupancy-day[data-blocking-night]{z-index:3;scroll-margin-block:8rem}.occupancy-day[data-blocking-night]:after{position:absolute;z-index:2;inset:0;border:2px solid var(--destructive);border-radius:inherit;background:color-mix(in srgb,var(--destructive) 7%,transparent);content:"";pointer-events:none}.occupancy-day[data-blocking-cue]:after{animation:calendar-blocking-night-cue 3s linear}.occupancy-day .occupancy-day__blocking-marker{position:absolute;z-index:3;top:.125rem;right:.125rem;width:.75rem;height:.75rem;color:var(--destructive);stroke-width:2.5}@keyframes calendar-blocking-night-cue{0%,34%,67%,to{border-width:2px;background:color-mix(in srgb,var(--destructive) 7%,transparent);opacity:.6}17%,50%,84%{border-width:3px;background:color-mix(in srgb,var(--destructive) 22%,transparent);opacity:1}}@media (prefers-reduced-motion:reduce){.occupancy-day[data-blocking-cue]:after{border-width:3px;background:color-mix(in srgb,var(--destructive) 16%,transparent);animation:none}}.occupancy-trend{padding-top:.625rem;border-top:1px solid var(--border)}.occupancy-trend__chart[data-slot=chart]{display:grid;width:100%;height:3rem;grid-template-columns:repeat(31,minmax(0,1fr));gap:1px;aspect-ratio:auto}.occupancy-trend__chart[data-day-count="28"]{grid-template-columns:repeat(28,minmax(0,1fr))}.occupancy-trend__chart[data-day-count="29"]{grid-template-columns:repeat(29,minmax(0,1fr))}.occupancy-trend__chart[data-day-count="30"]{grid-template-columns:repeat(30,minmax(0,1fr))}.occupancy-trend__point{position:relative;display:grid;min-width:0;grid-template-columns:minmax(0,1fr);grid-template-rows:1.125rem minmax(0,1fr)}.occupancy-trend__point small{width:max-content;grid-row:1;grid-column:1;justify-self:center;overflow:visible;color:var(--muted-foreground);font-size:.625rem;font-variant-numeric:tabular-nums;line-height:1rem;white-space:nowrap}.occupancy-trend__point:first-child small{justify-self:start}.occupancy-trend__point:last-child small{justify-self:end}.occupancy-trend__marker{grid-row:2;grid-column:1;min-width:0;border-radius:2px 2px 0 0}.occupancy-trend__tooltip{position:absolute;z-index:var(--layer-floating-content);bottom:calc(100% + var(--space-micro));left:50%;display:grid;min-width:max-content;gap:.125rem;padding:var(--space-compact) var(--space-control);border-radius:var(--control-radius);color:var(--popover-foreground);background:var(--popover);box-shadow:var(--raised-surface-shadow);font-size:var(--type-label-size);line-height:var(--type-label-line);opacity:0;pointer-events:none;transform:translate(-50%,var(--space-micro));transition:opacity .12s ease-out,transform .12s ease-out}.occupancy-trend__tooltip strong{font-variant-numeric:tabular-nums}.occupancy-trend__point:hover .occupancy-trend__tooltip{opacity:1;transform:translate(-50%)}.occupancy-trend__point:nth-child(-n+8) .occupancy-trend__tooltip{left:0;transform:translateY(var(--space-micro))}.occupancy-trend__point:nth-child(-n+8):hover .occupancy-trend__tooltip{transform:translate(0)}.occupancy-trend__point:nth-last-child(-n+8) .occupancy-trend__tooltip{right:0;left:auto;transform:translateY(var(--space-micro))}.occupancy-trend__point:nth-last-child(-n+8):hover .occupancy-trend__tooltip{transform:translate(0)}@media (prefers-reduced-motion:reduce){.occupancy-trend__tooltip{transition:none}}.booking-section-heading{display:flex;align-items:end;justify-content:space-between;gap:1rem}.booking-section-heading p{color:var(--muted-foreground)}.pet-conditions{display:flex;flex-direction:column;gap:.75rem;padding-block:.25rem}.pet-conditions fieldset{display:flex;min-width:0;flex-direction:column;gap:.5rem}.pet-conditions legend,.pet-count-control>div:first-child>span{color:var(--muted-foreground)}.pet-type-options{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem}.pet-type-options .selection-tile__label{display:flex;align-items:center;gap:var(--space-compact)}.pet-size-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}.pet-size-options .lab-radio-choice-card__description,.pet-size-options .lab-radio-choice-card__title{text-align:center}.pet-size-options .lab-radio-choice-card__title{justify-content:center}.pet-count-control{display:flex;min-height:4rem;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem;padding:.5rem .625rem;border:1px solid var(--border);border-radius:var(--control-radius);background:var(--subtle-surface)}.pet-count-control>div:first-child{display:flex;flex-direction:column;gap:.125rem}.pet-count-control small{color:var(--muted-foreground)}.pet-count-control__stepper{display:flex;gap:.5rem}.room-type-prompt{padding:.75rem}.availability-date-prompt,.room-type-prompt{border:1px dashed var(--border);border-radius:var(--control-radius);color:var(--muted-foreground);background:var(--subtle-surface);text-align:center}.availability-date-prompt{padding:1rem}.room-type-section{display:flex;min-width:0;flex-direction:column;gap:.625rem}.booking-section-heading--matrix{align-items:center}.booking-section-heading--matrix>div{display:flex;flex-direction:column;gap:.125rem}.booking-section-heading--matrix>strong{color:var(--interactive-foreground)}.room-type-matrix-scroll{width:calc(100% + (var(--page-gutter) * 2));margin-inline:calc(var(--page-gutter) * -1);overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin}.room-type-matrix-scroll:focus-visible{outline:3px solid color-mix(in srgb,var(--ring) 45%,transparent);outline-offset:-3px}.room-type-matrix{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed}.room-type-matrix td,.room-type-matrix th{width:5rem;min-width:5rem;height:4.5rem;padding:0;border-top:1px solid var(--border);border-left:1px solid var(--border);background:var(--background);text-align:center}.room-type-matrix tr:last-child>*{border-bottom:1px solid var(--border)}.room-type-matrix tr>:last-child{border-right:1px solid var(--border)}.room-type-matrix thead th{height:3.5rem;color:var(--muted-foreground);background:var(--subtle-surface)}.room-type-matrix thead th span,.room-type-matrix thead th strong{display:block}.room-type-matrix thead th strong{margin-top:.125rem;color:var(--foreground)}.room-type-matrix th:first-child{position:sticky;z-index:3;left:0;width:7rem;min-width:7rem;max-width:7rem;box-shadow:1px 0 0 var(--border)}.room-type-matrix thead th:first-child{z-index:4;color:var(--foreground)}.room-type-matrix thead th[data-allocation-conflict]{position:relative;z-index:2;border-top:2px solid var(--destructive);border-right:2px solid var(--destructive);border-left:2px solid var(--destructive);border-radius:var(--control-radius) var(--control-radius) 0 0;color:var(--destructive);background:color-mix(in srgb,var(--destructive) 8%,var(--background))}.room-type-matrix thead th[data-allocation-conflict] strong{color:var(--destructive)}.room-type-row-action[data-slot=button]{width:100%;height:100%;padding:.5rem;border-radius:0;white-space:normal}.room-type-price-cell[data-slot=button]{position:relative;width:100%;height:100%;border-radius:0;color:var(--money-foreground)}.room-type-matrix td[data-room-type-conflict]:focus{position:relative;z-index:2;outline:3px solid var(--destructive);outline-offset:-3px}.room-type-matrix tbody td[data-allocation-conflict]{position:relative;z-index:1;border-right:2px solid var(--destructive);border-left:2px solid var(--destructive)}.room-type-matrix tbody tr:last-child td[data-allocation-conflict]{border-bottom:2px solid var(--destructive);border-radius:0 0 var(--control-radius) var(--control-radius)}.room-type-price-cell--selected[data-slot=button]{background:var(--primary-surface);box-shadow:inset 0 0 0 2px var(--interactive-foreground)}.room-type-price-cell--selected[data-slot=button] [data-slot=money]{color:var(--money-foreground)}.room-type-price-cell--unavailable[data-slot=button],.room-type-price-cell--unavailable[data-slot=button]:disabled{color:var(--muted-foreground);background-color:color-mix(in srgb,var(--interactive-foreground) 5%,var(--background));background-image:repeating-linear-gradient(135deg,transparent 0,transparent .35rem,color-mix(in srgb,var(--interactive-foreground) 16%,transparent) .35rem,color-mix(in srgb,var(--interactive-foreground) 16%,transparent) .4125rem);opacity:1}.calendar-booking-action.mobile-action-bar{z-index:40;background:var(--background)}.calendar-booking-action [data-slot=button]:disabled{color:var(--muted-foreground);background:var(--border);opacity:1}.booking-details-sheet__body{display:flex;flex-direction:column;gap:1rem;padding:1rem var(--page-gutter)}.booking-details-sheet__body section,.booking-owner-fields{display:flex;flex-direction:column;gap:.75rem}.booking-details-sheet__section-heading{display:flex;align-items:center;justify-content:space-between;gap:1rem}.booking-details-sheet__section-heading strong{color:var(--money-foreground)}.booking-nightly-schedule{overflow:hidden;border:1px solid var(--border);border-radius:var(--control-radius)}.booking-nightly-schedule>div{display:flex;min-height:2.75rem;flex-direction:column;padding:.5rem .625rem;gap:.25rem}.booking-nightly-schedule>div+div{border-top:1px solid var(--border)}.booking-nightly-schedule dt{order:2;color:var(--muted-foreground)}.booking-nightly-schedule dd{display:flex;min-width:0;align-items:center;justify-content:space-between;gap:.5rem;order:1}.booking-nightly-schedule dd span:first-child{min-width:0}.booking-nightly-schedule__room{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:.25rem}.booking-nightly-schedule dd [data-slot=money]{flex:none;color:var(--money-foreground)}.booking-owner-fields>label,.booking-time-fields label{display:flex;min-width:0;flex-direction:column;align-items:stretch;gap:.375rem}.booking-time-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.625rem}.booking-time-select-trigger[data-slot=select-trigger]{width:100%;height:2.75rem;font-variant-numeric:tabular-nums}.booking-time-select-content[data-slot=select-content]{max-height:15rem;font-variant-numeric:tabular-nums}.allocation-screen__body{display:flex;flex:1;flex-direction:column;gap:.625rem;padding:.125rem var(--page-gutter) .75rem}.allocation-date-control{width:100%;min-height:2.75rem;height:auto;justify-content:space-between;gap:.75rem;padding-inline:.875rem;padding-block:.5rem;text-align:start;white-space:normal}.allocation-list-heading{display:flex;min-height:2.75rem;align-items:center;justify-content:space-between;gap:1rem}.room-availability-results{display:flex;min-width:0;flex-direction:column;gap:.625rem}.calendar-content>.room-availability-results{width:calc(100% + .75rem);margin-inline:-.375rem;padding-bottom:.75rem}.allocation-room-list{display:flex;flex-direction:column;gap:.5rem}.allocation-room-card{--card-spacing:0.5rem}.allocation-room-card [data-slot=card-content]{display:grid;grid-template-columns:4.5rem 1fr 4.25rem;align-items:stretch;gap:.625rem}.allocation-room-card img,.allocation-room-card__photo-absent{display:block;width:4.5rem;height:4.5rem;align-self:center;border-radius:var(--feature-radius);object-fit:cover;object-position:center 52%}.allocation-room-card__photo-absent{display:inline-flex;align-items:center;justify-content:center;color:var(--interactive-foreground);background:var(--subtle-surface)}.allocation-room-card__details{display:flex;min-width:0;flex-direction:column;justify-content:center;gap:.3125rem}.allocation-room-card__title{display:flex;min-width:0;align-items:baseline;gap:.375rem;white-space:nowrap}.allocation-room-card__title span{overflow:hidden;text-overflow:ellipsis}.allocation-room-card__meta{width:100%}.allocation-room-card__price{display:flex;align-items:baseline;gap:.25rem}.allocation-room-card__price strong{color:var(--money-foreground)}.allocation-room-card__price>span{color:var(--muted-foreground)}.allocation-room-card__actions{display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:.375rem}.allocation-room-card__actions [data-slot=badge]{align-self:center}.allocation-room-card__action,.allocation-room-card__actions [data-slot=button]{width:100%;min-height:2.75rem;height:auto;padding:.5rem .625rem;white-space:normal}.allocation-room-card__conflict{color:var(--destructive);font-size:var(--type-meta-size);line-height:var(--type-meta-line);text-align:center}.calendar-date-fixture{display:flex;width:min(100%,34rem);min-width:0;min-height:100%;margin-inline:auto;padding:1rem;flex-direction:column;gap:1rem}.calendar-date-fixture__errors,.calendar-date-fixture__header,.calendar-date-fixture__result{display:flex;min-width:0;flex-direction:column;gap:.625rem}.calendar-date-fixture__header [data-slot=badge]{align-self:flex-start}.calendar-date-fixture__result{padding:1rem;border:1px solid var(--border);border-radius:var(--feature-radius);background:var(--card)}.calendar-date-fixture__result p{overflow-wrap:anywhere}.calendar-date-fixture__result time{display:inline}.calendar-date-fixture>[data-slot=button]{width:100%;min-height:2.75rem;height:auto;padding-block:.625rem;white-space:normal}@media (max-width:255px){.allocation-room-card [data-slot=card-content]{grid-template-columns:3.5rem minmax(0,1fr)}.allocation-room-card img,.allocation-room-card__photo-absent{width:3.5rem;height:3.5rem}.allocation-room-card__actions{grid-column:2}}@media (max-width:480px){.calendar-operations .mobile-header{height:auto;min-height:3.5rem;grid-template-columns:2.75rem minmax(0,1fr) 2.75rem}.calendar-operations .mobile-header h1{overflow:visible;padding-block:.5rem;overflow-wrap:anywhere;line-height:var(--type-app-title-line);text-overflow:clip;white-space:normal}.booking-section-heading{align-items:stretch;flex-direction:column}.calendar-range-summary,.occupancy-day:not(.occupancy-day--outside){grid-template-columns:minmax(0,1fr)}.occupancy-day:not(.occupancy-day--outside)>strong{justify-self:start}}.product-route-loading{width:min(100%,var(--product-canvas-width));min-height:100dvh;margin-inline:auto;background:var(--background)}.product-route-loading__content{padding:var(--space-gutter)}@media (min-width:600px){.product-route-loading__content{padding-inline:var(--space-section)}}@media (prefers-reduced-motion:reduce){.product-route-loading [data-slot=skeleton]{animation:none}}