.page-main{display:flex;flex-direction:column;min-height:calc(100vh - 72px)}.availability{background:#fff;flex:1}.availability-topbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:24px}.day-tabs{position:relative;display:flex;gap:8px;padding:6px;background:#f2f4f5;border-radius:12px}.day-tab-indicator{position:absolute;top:6px;bottom:6px;left:6px;width:calc((100% - 28px) / 3);background:#fff;border-radius:8px;box-shadow:0 1px 4px #00000014;transform:translate(0);transition:transform .35s cubic-bezier(.22,1,.36,1);z-index:0}.day-tabs[data-active="1"] .day-tab-indicator{transform:translate(calc(100% + 8px))}.day-tabs[data-active="2"] .day-tab-indicator{transform:translate(calc((100% + 8px)*2))}.day-tab{position:relative;z-index:1;flex:1;min-width:96px;padding:12px 16px;border:none;border-radius:8px;background:transparent;color:var(--color-text-muted);font-size:.95rem;font-weight:700;cursor:pointer;transition:color .25s}.day-tab:hover,.day-tab.active{color:var(--color-navy)}.day-panel{width:100%;min-width:0}.day-panel:not(.active){display:none}.day-panel.active{animation:day-panel-fade .3s ease}@keyframes day-panel-fade{0%{opacity:0}to{opacity:1}}.availability-header{display:flex;flex-direction:column;gap:8px;margin-bottom:32px;padding:18px 24px;background:var(--color-turquoise-bg);border:1px solid var(--color-turquoise);border-radius:16px}.date-label{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:var(--color-text-muted);font-weight:600;letter-spacing:.06em}.date-icon-badge{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;background:#fff;border-radius:6px;flex-shrink:0}.date-icon{width:14px;height:14px;color:var(--color-turquoise);flex-shrink:0}.date-row{display:flex;align-items:center;justify-content:space-around;gap:16px}.date-value{font-size:1.3rem;font-weight:700;color:var(--color-navy);white-space:nowrap}.date-hours{padding:6px 14px;background:#fff;border-radius:999px;font-size:.9rem;font-weight:700;color:var(--color-navy);font-variant-numeric:tabular-nums;white-space:nowrap}.date-hours:empty{display:none}.last-updated{font-size:.8rem;color:var(--color-text-muted)}.status-message{text-align:center;padding:48px 24px;margin-bottom:32px}.status-message--skeleton{padding:0;margin-bottom:40px}.slots-skeleton{max-width:900px;margin:0 auto}.slots-skeleton .slot-card--skeleton{min-height:67px;background:#fcfcfc}.slot-hour-label .slot-hour-skeleton{display:block;width:2.6em;height:.7rem;border-radius:4px}.slot-card--skeleton .slot-time-skeleton{display:block;width:3.4em;height:1rem;border-radius:4px}.slot-card--skeleton .slot-status-skeleton{display:block;width:28px;height:28px;border-radius:50%;flex-shrink:0}.loading{font-size:.95rem;color:var(--color-text-muted)}.date-value .date-value-skeleton{display:inline-block;vertical-align:middle;width:6.5em;height:1em;border-radius:4px}.error{font-size:.95rem;color:#e05a5a;padding:20px;background:#fff5f5;border-radius:12px;border:1px solid #fdd}.closed{font-size:.95rem;color:var(--color-text-muted);padding:20px;background:#f9f9f9;border-radius:12px;border:1px solid var(--color-border)}.slots-container{max-width:900px;margin:0 auto 40px}.slot-group{margin-bottom:28px}.slot-group:last-child{margin-bottom:0}.slot-group-label{font-size:.85rem;font-weight:700;color:var(--color-navy);margin-bottom:12px;padding-left:2px}.slot-hour-block+.slot-hour-block{margin-top:16px}.slot-hour-label{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-size:.7rem;font-weight:700;color:var(--color-text-muted);letter-spacing:.04em}.slot-hour-label:after{content:"";flex:1;height:1px;background:var(--color-border)}.slots-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.slot-card{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:10px;border:1px solid var(--color-border);background:#fff}.slot-card.available{background:#e8f7f9;border-color:var(--color-turquoise)}.slot-card.unavailable{background:#fdf2f5;border-color:#eecfd8}.slot-card.past{background:#f8f8f8;border-color:#eee}.slot-time{font-size:1rem;font-weight:700;color:var(--color-navy);font-variant-numeric:tabular-nums}.slot-card.unavailable .slot-time{color:var(--color-navy)}.slot-card.past .slot-time{color:#bbb}.slot-status{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:.9rem;font-weight:700}.slot-card.available .slot-status{background:var(--color-turquoise);color:#fff}.slot-card.unavailable .slot-status{background:#d1808f;color:#fff}.slot-card.past .slot-status{background:#eee;color:#ccc}.hours-note{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 24px;margin-bottom:20px}.hours-card{display:inline-flex;align-items:center}.hours-card-body{display:inline-flex;align-items:baseline;gap:8px}.hours-card-label{font-size:.8rem;font-weight:600;color:var(--color-text-muted)}.hours-card-time{font-size:.95rem;font-weight:700;color:var(--color-navy);font-variant-numeric:tabular-nums}.availability-legend{display:flex;justify-content:center;gap:24px;margin-bottom:32px;padding:16px 20px;background:#f8f9fa;border-radius:10px}.legend-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--color-text-muted)}.legend-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.75rem;font-weight:700}.legend-badge.available{background:var(--color-turquoise);color:#fff}.legend-badge.unavailable{background:#d1808f;color:#fff}.legend-badge.past{background:#eee;color:#ccc}.availability-notes{text-align:left;max-width:520px;margin:0 auto 32px}.availability-notes p{font-size:.78rem;color:var(--color-text-muted);line-height:1.7;margin-bottom:6px;padding-left:1.3em;text-indent:-1.3em}.availability-notes p:last-child{margin-bottom:0}.availability-notes a{color:var(--color-navy);font-weight:700;text-decoration:underline;text-underline-offset:2px}.reservation-cta{text-align:center}.detail-back{text-align:center;margin-top:48px;padding-top:32px;border-top:1px solid var(--color-border);max-width:800px;margin-left:auto;margin-right:auto}.back-button{display:inline-flex;align-items:center;padding:12px 32px;background:#fff;border:1px solid var(--color-navy);border-radius:24px;color:var(--color-navy);font-size:.9rem;font-weight:600;text-decoration:none;transition:all .2s}.back-button:hover{background:var(--color-navy);color:#fff}.line-button{display:inline-flex;align-items:center;gap:12px;padding:16px 40px;background:#06c755;color:#fff;border-radius:32px;font-size:1rem;font-weight:700;text-decoration:none;transition:all .2s;box-shadow:0 4px 12px #06c7554d}.line-button:hover{background:#05b04c;transform:translateY(-2px);box-shadow:0 6px 16px #06c75566}@media(max-width:768px){.availability-topbar{flex-direction:column;align-items:stretch;gap:12px}.last-updated{text-align:right}.day-tab{min-width:0;padding:12px 8px;font-size:.9rem}.availability-header{gap:12px;padding:16px 18px}.date-hours{padding:6px 12px;font-size:.85rem}.date-value{font-size:1.1rem}.slots-grid{gap:6px}.slot-card{padding:10px 8px;gap:4px}.slot-time{font-size:.85rem}.slot-status{width:24px;height:24px;font-size:.8rem}.slots-skeleton .slot-card--skeleton{min-height:60px}.slot-card--skeleton .slot-time-skeleton{height:.9rem}.slot-card--skeleton .slot-status-skeleton{width:24px;height:24px}.availability-legend{flex-direction:row;flex-wrap:wrap;gap:16px;justify-content:center}.line-button{width:100%;justify-content:center}}
