.occupancy{min-width:0;width:100%;container:occupancy / inline-size;--occupancy-axis-width: 64px;--occupancy-heading-height: 80px;--occupancy-minute-size: 1.5px}.occupancy-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:end;margin-block:16px}.occupancy-controls label{display:grid;gap:4px;min-width:0;flex:0 1 180px}.occupancy-controls button,.occupancy-controls input{min-height:44px;max-width:100%;box-sizing:border-box}.occupancy-controls button{white-space:normal;margin:0}.occupancy-scroll-hint{font-size:0.85rem;color:var(--muted, currentColor)}.occupancy-scroll{overflow-x:auto;max-width:100%;padding:0 0 16px;position:relative;isolation:isolate;scrollbar-width:auto;overscroll-behavior-x:contain;border:1px solid var(--border, #ccc);border-radius:8px}.occupancy-scroll:focus-visible{outline:3px solid var(--accent, #176a3b);outline-offset:3px}.occupancy-grid{display:grid;grid-template-columns:var(--occupancy-axis-width) minmax(var(--day-0-width, 128px),1fr) minmax(var(--day-1-width, 128px),1fr) minmax(var(--day-2-width, 128px),1fr) minmax(var(--day-3-width, 128px),1fr) minmax(var(--day-4-width, 128px),1fr) minmax(var(--day-5-width, 128px),1fr) minmax(var(--day-6-width, 128px),1fr);gap:8px;width:100%;min-width:calc(var(--occupancy-axis-width) + 56px + var(--day-0-width, 128px) + var(--day-1-width, 128px) + var(--day-2-width, 128px) + var(--day-3-width, 128px) + var(--day-4-width, 128px) + var(--day-5-width, 128px) + var(--day-6-width, 128px))}.occupancy-axis{position:sticky;left:0;z-index:2;align-self:start;background:var(--surface, #fff);color:var(--text, #17251c);font-size:0.8rem;border-right:1px solid var(--border, #ccc)}.occupancy-axis-heading,.occupancy-day>h3{height:var(--occupancy-heading-height);box-sizing:border-box;margin:0;padding:12px 4px;font-size:0.85rem;line-height:1.3;overflow-wrap:anywhere}.occupancy-axis-labels,.occupancy-day-events{position:relative;height:calc((var(--axis-to) - var(--axis-from)) * var(--occupancy-minute-size))}.occupancy-axis-labels span{position:absolute;top:calc(var(--offset) * var(--occupancy-minute-size));left:4px;white-space:nowrap;transform:translateY(-50%)}.occupancy-day{min-width:0}.occupancy-day-events{background:repeating-linear-gradient(to bottom,transparent 0,transparent calc(60 * var(--occupancy-minute-size) - 1px),var(--border, #ccc) calc(60 * var(--occupancy-minute-size)))}.occupancy-event{position:absolute;box-sizing:border-box;top:calc((var(--start) - var(--axis-from)) * var(--occupancy-minute-size));height:calc(var(--duration) * var(--occupancy-minute-size));left:calc(var(--lane) * 100% / var(--lanes));width:calc(100% / var(--lanes) - 3px);padding:4px;border:1px solid var(--border, #888);border-radius:6px;background:var(--surface, #fff);color:var(--text, #17251c);font-size:0.8rem;line-height:1.25;overflow:hidden;overflow-wrap:anywhere}.occupancy-event strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.occupancy-event p{margin:2px 0}.occupancy-event p:first-of-type{white-space:normal;overflow-wrap:normal}.occupancy-event:focus p:first-of-type,.occupancy-event:hover p:first-of-type{white-space:normal;overflow:visible}.occupancy-event:focus,.occupancy-event:hover{height:auto;min-height:calc(var(--duration) * var(--occupancy-minute-size));overflow:visible;z-index:3;box-shadow:0 2px 8px #0003}.occupancy-event:focus strong,.occupancy-event:hover strong{white-space:normal}.occupancy-event:focus-visible{outline:3px solid var(--accent, #176a3b);outline-offset:2px}.occupancy-inactive{opacity:0.75;border-style:dashed}.occupancy-weekly .occupancy-grid{grid-template-columns:repeat(7,minmax(128px,1fr));min-width:944px}.occupancy-weekly .occupancy-axis{display:none}.occupancy-weekly .occupancy-day-events{height:auto;background:none;display:grid;gap:10px}.occupancy-weekly .occupancy-event{position:static;min-height:0;height:auto;width:auto;overflow:visible}.occupancy-weekly .occupancy-event strong{white-space:normal}@container occupancy (max-width:600px){.occupancy-scroll{overflow:visible;border:0;padding:0}.occupancy-grid,.occupancy-weekly .occupancy-grid{display:block;min-width:0}.occupancy-axis,.occupancy-scroll-hint{display:none}.occupancy-day>h3{height:auto;min-height:0;padding:16px 0 8px}.occupancy-day-events{height:auto;background:none;display:grid;gap:10px}.occupancy-event,.occupancy-event:focus,.occupancy-event:hover{position:static;width:auto;height:auto;min-height:0;font-size:1rem;overflow:visible}.occupancy-event strong{white-space:normal}.occupancy-day:not(:has(.occupancy-event)){display:none}}.place-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:20px}.place-card{border:1px solid var(--border, #ccc);border-radius:12px;overflow:hidden;padding:16px;min-width:0}.place-card img,.place-image-empty{width:100%;height:180px;object-fit:cover}.place-image-empty{display:grid;place-items:center;background:var(--surface-alt, #eee)}.place-card p{white-space:pre-line;overflow-wrap:anywhere}.place-card a{display:inline-block;padding:12px 0}.occupancy-calendar:not([data-geometry-ready]) .occupancy-grid{display:block;min-width:0}.occupancy-calendar:not([data-geometry-ready]) .occupancy-axis,.occupancy-calendar:not([data-geometry-ready]) .occupancy-scroll-hint{display:none}.occupancy-calendar:not([data-geometry-ready]) .occupancy-day>h3{height:auto}.occupancy-calendar:not([data-geometry-ready]) .occupancy-day-events{height:auto;background:none;display:grid;gap:10px}.occupancy-calendar:not([data-geometry-ready]) .occupancy-event{position:static;height:auto;width:auto;overflow:visible}
