:root{--header-h: 56px}.app-header{z-index:1030}.header-logo{height:24px;width:auto}@media (min-width: 768px){.header-logo{height:32px}}header .site-title{font-family:游明朝,Yu Mincho,Hiragino Mincho ProN,HGS明朝E,MS PMincho,serif;font-weight:400;letter-spacing:.02em;line-height:1.2;font-size:14px}@media (min-width:720px){header .site-title{font-size:16px}}.container-narrow{max-width:840px}.small dt{color:#6b7280}#form-errors{scroll-margin-top:80px}.req{color:#dc3545;margin-left:.25rem}.hidden{display:none}body[data-page=reserve-form] .form-control.is-invalid,body[data-page=reserve-form] .input-group:has(.form-control.is-invalid) .form-control{border-color:#dc3545}body[data-page=reserve-form] .input-group:has(.form-control.is-invalid){--bs-border-color: #dc3545}body[data-page=reserve-form] .slot-area.is-invalid,body[data-page=reserve-form] .field-group.is-invalid{border:1px solid #dc3545;border-radius:.375rem;padding:.5rem;background-color:#dc354508}body[data-page=reserve-form] .datepicker table tr td.disabled-date,body[data-page=reserve-form] .datepicker table tr td.disabled-date:hover{color:#ccc!important;background-color:#f5f5f5!important;cursor:not-allowed;opacity:.5}body[data-page=reserve-form] .datepicker table tr td.disabled-date:not(.disabled){pointer-events:none}body[data-page=reserve-form] .datepicker{font-size:1.05em;max-width:100vw;box-sizing:border-box;z-index:9999!important;position:absolute!important;overflow:visible;border:2px solid #ddd!important;border-radius:8px!important;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f,inset 0 1px #ffffff1a!important;background-color:#fff!important}body[data-page=reserve-form] .datepicker:before,body[data-page=reserve-form] .datepicker:after{display:none!important}body[data-page=reserve-form] .datepicker table{width:100%;margin:0}body[data-page=reserve-form] .datepicker table th,body[data-page=reserve-form] .datepicker table td{width:2.2em;height:2.2em;line-height:2.2em;font-size:1.05em}body[data-page=reserve-form] .datepicker table th{font-weight:600;font-size:.95em}body[data-page=reserve-form] .datepicker table td.day{font-size:1.05em}@media (max-width: 575px){body[data-page=reserve-form] .datepicker{padding:5px;width:calc(100vw - 60px);max-width:calc(100vw - 60px);left:30px!important;right:30px!important;border:2px solid #ddd!important;border-radius:8px!important;box-shadow:0 4px 6px #0000001a,0 2px 4px #0000000f,inset 0 1px #ffffff1a!important;background-color:#fff!important}body[data-page=reserve-form] .datepicker:before,body[data-page=reserve-form] .datepicker:after{display:none!important}body[data-page=reserve-form] .datepicker table th,body[data-page=reserve-form] .datepicker table td{width:calc((100vw - 100px) / 7);max-width:calc((100vw - 100px) / 7);height:calc((100vw - 100px) / 7);min-height:32px;line-height:calc((100vw - 100px) / 7);padding:2px}body[data-page=reserve-form] .datepicker table th{font-weight:600}body[data-page=reserve-form] .datepicker .datepicker-days table{width:100%}body[data-page=reserve-form] .datepicker .datepicker-switch,body[data-page=reserve-form] .datepicker .prev,body[data-page=reserve-form] .datepicker .next{padding:5px}}@media (max-width: 360px){body[data-page=reserve-form] .datepicker{padding:3px;width:calc(100vw - 32px);max-width:calc(100vw - 32px);left:16px!important;right:16px!important}body[data-page=reserve-form] .datepicker table th,body[data-page=reserve-form] .datepicker table td{width:calc((100vw - 66px) / 7);max-width:calc((100vw - 66px) / 7);height:calc((100vw - 66px) / 7);min-height:28px;line-height:calc((100vw - 66px) / 7);padding:1px}}body[data-page=reserve-form] .datepicker-clear-btn{width:100%;margin-top:8px;padding:6px 12px;background-color:#f8f9fa;border:1px solid #dee2e6;border-radius:4px;color:#495057;font-size:.9em;cursor:pointer;transition:background-color .2s}body[data-page=reserve-form] .datepicker-clear-btn:hover{background-color:#e9ecef;color:#212529}body[data-page=reserve-form] .datepicker-clear-btn:active{background-color:#dee2e6}.slot{margin:.25rem}.consent-row{display:grid;grid-template-columns:20px 1fr;column-gap:.5rem;align-items:start}.consent-row input[type=checkbox]{width:16px;height:16px;margin-top:2px}.important-note{font-weight:700;color:#b45309;background:#fff7ed;border:1px solid #fde68a;border-radius:.5rem;padding:.5rem .75rem;display:inline-block}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial}.reservations-page h2{margin-bottom:8px}.reservations-page form{margin-bottom:12px;display:flex;gap:8px;align-items:center}.reservations-page table{border-collapse:collapse;width:100%}.reservations-page th,.reservations-page td{border:1px solid #ddd;padding:8px;text-align:left;font-size:14px}.reservations-page th{background:#f8f8f8}.reservations-page tr:nth-child(2n){background:#fafafa}.reservations-page .badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.reservations-page .b-pending{background:#fff5d1;border:1px solid #f3d37a;color:#7a5a00}.reservations-page .b-confirmed{background:#e6ffed;border:1px solid #8ee4a3;color:#0b6b2e}.reservations-page .b-cancelled{background:#ffe6e6;border:1px solid #f2a5a5;color:#7a0b0b}.reservations-page .muted{color:#666;font-size:12px}.reservations-page .btn{display:inline-block;padding:6px 10px;border:1px solid #ccc;border-radius:8px;text-decoration:none}.reservations-page .btn:hover{background:#f4f4f4}.datepicker table tr td.has-override{background-color:#f3cd5b!important;color:#000!important;font-weight:700;border-radius:4px}.datepicker table tr td.has-override:hover{background-color:#ffc107!important}.datepicker table tr td.has-override.active,.datepicker table tr td.has-override.active:hover,.datepicker table tr td.active.has-override,.datepicker table tr td.active.has-override:hover{background-color:#f3cd5b!important;color:#fff!important;font-weight:700;border-radius:4px;border:2px solid #ffc107!important}.datepicker table tr td.has-block{background-color:#dc3545!important;color:#fff!important;font-weight:700;border-radius:4px}.datepicker table tr td.has-block:hover{background-color:#c82333!important}.datepicker table tr td.has-block.active,.datepicker table tr td.has-block.active:hover,.datepicker table tr td.active.has-block,.datepicker table tr td.active.has-block:hover{background-color:#dc3545!important;color:#fff!important;font-weight:700;border-radius:4px;border:2px solid #bd2130!important}body[data-page=reservations] .datepicker table tr td.has-reservation-confirmed{background-color:#d4edda!important;color:#000!important;border-radius:4px}body[data-page=reservations] .datepicker table tr td.has-reservation-confirmed:hover{background-color:#c3e6cb!important}body[data-page=reservations] .datepicker table tr td.has-reservation-confirmed.active,body[data-page=reservations] .datepicker table tr td.has-reservation-confirmed.active:hover,body[data-page=reservations] .datepicker table tr td.active.has-reservation-confirmed,body[data-page=reservations] .datepicker table tr td.active.has-reservation-confirmed:hover{background-color:#d4edda!important;color:#fff!important;border-radius:4px;border:2px solid #28a745!important}body[data-page=reservations] .datepicker table tr td.has-reservation-cancelled{background-color:#f8d7da!important;color:#000!important;border-radius:4px}body[data-page=reservations] .datepicker table tr td.has-reservation-cancelled:hover{background-color:#f5c6cb!important}body[data-page=reservations] .datepicker table tr td.has-reservation-cancelled.active,body[data-page=reservations] .datepicker table tr td.has-reservation-cancelled.active:hover,body[data-page=reservations] .datepicker table tr td.active.has-reservation-cancelled,body[data-page=reservations] .datepicker table tr td.active.has-reservation-cancelled:hover{background-color:#f8d7da!important;color:#fff!important;border-radius:4px;border:2px solid #dc3545!important}body[data-page=reservations] .datepicker table tr td.has-reservation-all{background-color:#fff3cd!important;color:#000!important;border-radius:4px}body[data-page=reservations] .datepicker table tr td.has-reservation-all:hover{background-color:#ffeaa7!important}body[data-page=reservations] .datepicker table tr td.has-reservation-all.active,body[data-page=reservations] .datepicker table tr td.has-reservation-all.active:hover,body[data-page=reservations] .datepicker table tr td.active.has-reservation-all,body[data-page=reservations] .datepicker table tr td.active.has-reservation-all:hover{background-color:#fff3cd!important;color:#fff!important;border-radius:4px;border:2px solid #ffc107!important}input::placeholder,textarea::placeholder{opacity:.5!important}input[type=date]::-webkit-calendar-picker-indicator{opacity:0!important;display:none!important;width:0;height:0;pointer-events:none}#dateFilter::placeholder{color:#6c757d;opacity:.5}#dateFilter:not(:placeholder-shown){color:#000}body[data-page=day-overrides] .datepicker table tr td.has-override{background-color:#f3cd5b!important;color:#000!important;font-weight:700;border-radius:4px}body[data-page=day-overrides] .datepicker table tr td.has-override:hover{background-color:#ffc107!important}body[data-page=day-overrides] .datepicker table tr td.has-override.active,body[data-page=day-overrides] .datepicker table tr td.has-override.active:hover,body[data-page=day-overrides] .datepicker table tr td.active.has-override,body[data-page=day-overrides] .datepicker table tr td.active.has-override:hover{background-color:#f3cd5b!important;color:#fff!important;font-weight:700;border-radius:4px;border:2px solid #ffc107!important}
