.feedback-admin-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2100;display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;padding:max(22px,env(safe-area-inset-top)) 22px max(22px,env(safe-area-inset-bottom));background:#0f172aa3;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.feedback-admin-modal{display:flex;flex-direction:column;width:min(960px,100%);height:min(760px,calc(100dvh - 44px));max-height:calc(100dvh - 44px);overflow:hidden;background:#f8fafc;border:1px solid #dbe3ee;border-radius:20px;box-shadow:0 28px 80px #0f172a52}.feedback-admin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px 17px;background:#fff;border-bottom:1px solid #e2e8f0}.feedback-admin-label{margin:0 0 4px;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.12em}.feedback-admin-header h2{margin:0;color:#172033;font-size:24px;line-height:1.25}.feedback-admin-header-actions{display:flex;align-items:center;gap:10px}.feedback-admin-reload-button,.feedback-admin-close-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border-radius:10px;font-weight:800;cursor:pointer}.feedback-admin-reload-button{padding:0 15px;color:#334155;background:#fff;border:1px solid #cbd5e1;font-size:13px}.feedback-admin-close-button{width:42px;padding:0;color:#475569;background:#f1f5f9;border:0;font-size:28px;line-height:1}.feedback-admin-reload-button:disabled{cursor:not-allowed;opacity:.55}.feedback-admin-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 22px 0}.feedback-admin-summary-card{display:flex;align-items:center;justify-content:space-between;min-height:58px;padding:10px 14px;background:#fff;border:1px solid #e2e8f0;border-radius:12px}.feedback-admin-summary-card span{color:#64748b;font-size:12px;font-weight:700}.feedback-admin-summary-card strong{color:#172033;font-size:24px;line-height:1}.feedback-admin-filters{display:flex;align-items:flex-end;gap:14px;padding:14px 22px}.feedback-admin-filters label{display:grid;gap:5px;color:#475569;font-size:11px;font-weight:800}.feedback-admin-filters select{min-width:140px;min-height:38px;padding:0 10px;color:#172033;background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;font-weight:700}.feedback-admin-filter-count{margin-left:auto;padding-bottom:9px;color:#64748b;font-size:12px;font-weight:700}.feedback-admin-error{margin:0 22px 12px;padding:11px 13px;color:#b42318;background:#fee4e2;border:1px solid #fda29b;border-radius:9px;font-size:13px;font-weight:700}.feedback-admin-content{flex:1;min-height:0;overflow-y:auto;padding:0 22px 22px}.feedback-admin-empty{display:flex;align-items:center;justify-content:center;min-height:180px;color:#64748b;background:#fff;border:1px dashed #cbd5e1;border-radius:12px;font-size:14px;font-weight:700}.feedback-admin-list{display:grid;gap:10px}.feedback-admin-card{overflow:hidden;background:#fff;border:1px solid #dbe3ee;border-radius:12px}.feedback-admin-card-new{border-left:5px solid #ef4444}.feedback-admin-card-main{display:block;width:100%;padding:14px 15px;color:inherit;text-align:left;background:transparent;border:0;cursor:pointer}.feedback-admin-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.feedback-admin-badges{display:flex;flex-wrap:wrap;gap:7px}.feedback-admin-priority,.feedback-admin-type,.feedback-admin-status{display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border-radius:999px;font-size:11px;font-weight:800}.feedback-admin-priority-high{color:#b42318;background:#fee4e2}.feedback-admin-priority-medium{color:#92400e;background:#fef3c7}.feedback-admin-priority-low{color:#166534;background:#dcfce7}.feedback-admin-type{color:#1e40af;background:#dbeafe}.feedback-admin-status-new{color:#b42318;background:#fee4e2}.feedback-admin-status-reviewing{color:#92400e;background:#fef3c7}.feedback-admin-status-planned{color:#1e40af;background:#dbeafe}.feedback-admin-status-completed{color:#166534;background:#dcfce7}.feedback-admin-status-rejected{color:#475569;background:#e2e8f0}.feedback-admin-expand{flex-shrink:0;color:#64748b;font-size:12px}.feedback-admin-card-title{margin-top:10px;color:#172033;font-size:16px;font-weight:800;line-height:1.4}.feedback-admin-card-meta{display:flex;flex-wrap:wrap;gap:8px 16px;margin-top:8px;color:#64748b;font-size:11px;font-weight:700}.feedback-admin-details{display:grid;gap:14px;padding:15px;background:#f8fafc;border-top:1px solid #e2e8f0}.feedback-admin-description,.feedback-admin-device{display:grid;gap:6px}.feedback-admin-description>span,.feedback-admin-device>span{color:#475569;font-size:11px;font-weight:800}.feedback-admin-description p,.feedback-admin-device p{margin:0;color:#334155;font-size:13px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.feedback-admin-device p{color:#64748b;font-size:11px}.feedback-admin-status-control{display:flex;align-items:flex-end;gap:12px;padding-top:4px}.feedback-admin-status-control label{display:grid;gap:5px;color:#475569;font-size:11px;font-weight:800}.feedback-admin-status-control select{min-width:150px;min-height:40px;padding:0 10px;color:#172033;background:#fff;border:1px solid #cbd5e1;border-radius:8px;font-size:13px;font-weight:700}.feedback-admin-updating{padding-bottom:11px;color:#2563eb;font-size:12px;font-weight:800}.feedback-admin-updated-at{margin-left:auto;padding-bottom:11px;color:#64748b;font-size:11px;font-weight:700}@media(max-width:760px){.feedback-admin-backdrop{align-items:flex-start;padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}.feedback-admin-modal{height:calc(100dvh - 20px);max-height:calc(100dvh - 20px);border-radius:16px}.feedback-admin-summary{grid-template-columns:1fr}.feedback-admin-filters{align-items:stretch;flex-direction:column}.feedback-admin-filters select{width:100%}.feedback-admin-filter-count{margin-left:0;padding-bottom:0}.feedback-admin-status-control{align-items:stretch;flex-direction:column}.feedback-admin-updated-at{margin-left:0;padding-bottom:0}}@media(min-width:768px)and (max-width:1180px){.feedback-admin-backdrop{align-items:flex-start;padding:max(12px,env(safe-area-inset-top)) 16px max(12px,env(safe-area-inset-bottom))}.feedback-admin-modal{width:min(920px,100%);height:calc(100dvh - 24px);max-height:calc(100dvh - 24px)}.feedback-admin-header{padding:16px 18px 14px}.feedback-admin-header h2{font-size:21px}.feedback-admin-summary{padding:12px 18px 0}.feedback-admin-summary-card{min-height:52px}.feedback-admin-summary-card strong{font-size:21px}.feedback-admin-filters{padding:12px 18px}.feedback-admin-content{padding:0 18px 18px}.feedback-admin-card-main{padding:12px 13px}.feedback-admin-details{padding:13px}}.feedback-admin-retry-button{min-height:40px;padding:0 13px;color:#92400e;background:#fef3c7;border:1px solid #fcd34d;border-radius:9px;font-size:12px;font-weight:800;cursor:pointer}.feedback-admin-retry-button:disabled{cursor:not-allowed;opacity:.55}.feedback-admin-attachments{display:grid;gap:8px;padding:12px;background:#f8fafc;border:1px solid #dbe3ee;border-radius:10px}.feedback-admin-attachments>span{color:#334155;font-size:12px;font-weight:800}.feedback-admin-attachments>div{display:flex;flex-wrap:wrap;gap:8px}.feedback-admin-attachments button{display:grid;gap:2px;min-width:130px;padding:8px 10px;color:#1d4ed8;text-align:left;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;font-size:12px;font-weight:800;cursor:pointer}.feedback-admin-attachments small{overflow:hidden;max-width:190px;color:#64748b;font-size:9px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.feedback-admin-delivery-errors{display:grid;gap:8px;margin:0 18px 12px;padding:12px 14px;color:#78350f;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;font-size:11px}.feedback-admin-delivery-errors>strong{font-size:12px}.feedback-admin-delivery-errors>div{display:grid;gap:2px;padding-top:7px;border-top:1px solid #fde68a}.feedback-admin-delivery-errors span{font-weight:800}.feedback-admin-delivery-errors p{margin:0;overflow-wrap:anywhere;color:#92400e;line-height:1.45}.feedback-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:24px;background:#0f172a94;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.feedback-modal{width:min(680px,100%);max-height:calc(100vh - 48px);overflow-y:auto;background:#fff;border:1px solid #dbe3ee;border-radius:20px;box-shadow:0 24px 70px #0f172a47}.feedback-modal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:22px 24px 18px;border-bottom:1px solid #e5eaf1}.feedback-modal-label{margin:0 0 4px;color:#64748b;font-size:11px;font-weight:800;letter-spacing:.12em}.feedback-modal-header h2{margin:0;color:#172033;font-size:24px;line-height:1.25}.feedback-modal-close{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;padding:0;color:#475569;background:#f1f5f9;border:0;border-radius:12px;font-size:28px;line-height:1;cursor:pointer}.feedback-modal-close:disabled{cursor:not-allowed;opacity:.55}.feedback-form{display:grid;gap:18px;padding:22px 24px 24px}.feedback-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.feedback-field{display:grid;gap:7px;color:#334155;font-size:13px;font-weight:700}.feedback-field>span{display:flex;align-items:center;gap:8px}.feedback-field strong{display:inline-flex;align-items:center;padding:2px 6px;color:#b42318;background:#fee4e2;border-radius:999px;font-size:10px}.feedback-field input,.feedback-field select,.feedback-field textarea{width:100%;color:#172033;background:#fff;border:1px solid #cbd5e1;border-radius:10px;font:inherit;font-weight:500}.feedback-field input,.feedback-field select{min-height:46px;padding:0 12px}.feedback-field textarea{min-height:150px;padding:12px;line-height:1.6;resize:vertical}.feedback-field input:focus,.feedback-field select:focus,.feedback-field textarea:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb24}.feedback-field input:disabled,.feedback-field select:disabled,.feedback-field textarea:disabled{color:#64748b;background:#f1f5f9}.feedback-message{padding:12px 14px;border-radius:10px;font-size:13px;font-weight:700}.feedback-message-success{color:#166534;background:#dcfce7;border:1px solid #86efac}.feedback-message-error{color:#b42318;background:#fee4e2;border:1px solid #fda29b}.feedback-modal-actions{display:flex;justify-content:flex-end;gap:12px;padding-top:4px}.feedback-cancel-button,.feedback-submit-button{min-height:46px;padding:0 20px;border-radius:10px;font-size:14px;font-weight:800;cursor:pointer}.feedback-cancel-button{color:#475569;background:#fff;border:1px solid #cbd5e1}.feedback-submit-button{color:#fff;background:#2563eb;border:1px solid #2563eb}.feedback-cancel-button:disabled,.feedback-submit-button:disabled{cursor:not-allowed;opacity:.55}@media(max-width:700px){.feedback-modal-backdrop{align-items:flex-end;padding:12px}.feedback-modal{max-height:calc(100vh - 24px);border-radius:18px}.feedback-form-grid{grid-template-columns:1fr}}@media(min-width:768px)and (max-width:1180px){.feedback-modal-backdrop{padding:18px}.feedback-modal{width:min(640px,94vw);max-height:calc(100vh - 36px)}.feedback-modal-header{padding:18px 20px 15px}.feedback-modal-header h2{font-size:21px}.feedback-form{gap:14px;padding:18px 20px 20px}.feedback-field textarea{min-height:120px}}.feedback-message-warning{color:#92400e;background:#fef3c7;border:1px solid #fcd34d}.feedback-attachments{display:grid;gap:12px;padding:14px;background:#f8fafc;border:1px solid #dbe3ee;border-radius:12px}.feedback-attachments-header{display:flex;align-items:center;justify-content:space-between;gap:12px}.feedback-attachments-header>div{display:grid;gap:2px;color:#334155}.feedback-attachments-header strong{font-size:13px}.feedback-attachments-header span{color:#64748b;font-size:11px;font-weight:600}.feedback-attachment-picker{position:relative;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:0 14px;color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9px;font-size:12px;font-weight:800;cursor:pointer}.feedback-attachment-picker input{position:absolute;width:1px;height:1px;opacity:0}.feedback-attachment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.feedback-attachment-item{position:relative;min-width:0}.feedback-attachment-item img{display:block;width:100%;aspect-ratio:4 / 3;object-fit:cover;background:#e2e8f0;border-radius:9px}.feedback-attachment-item button{position:absolute;top:5px;right:5px;width:28px;height:28px;padding:0;color:#fff;background:#0f172ad1;border:0;border-radius:999px;font-size:19px;line-height:1;cursor:pointer}.feedback-attachment-item>span{display:block;overflow:hidden;margin-top:5px;color:#64748b;font-size:10px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}@media(max-width:700px){.feedback-attachments-header{align-items:flex-start}.feedback-attachment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.feedback-modal-actions{justify-content:space-between;align-items:center}.feedback-modal-actions-right{display:flex;justify-content:flex-end;gap:12px}.feedback-admin-list-button{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:46px;padding:0 16px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;color:#334155;font-size:13px;font-weight:800;cursor:pointer}.feedback-admin-list-button:disabled{opacity:.55;cursor:not-allowed}.feedback-admin-list-badge{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;background:#dc2626;color:#fff;font-size:11px;line-height:1;font-weight:900}@media(max-width:700px){.feedback-modal-actions{align-items:stretch;flex-direction:column}.feedback-admin-list-button{align-self:flex-start}.feedback-modal-actions-right{width:100%}.feedback-modal-actions-right>button{flex:1 1 0}}.calendar-view{display:grid;gap:14px}.calendar-header{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.calendar-header h2{margin:0}.calendar-header p{margin:4px 0 0}.calendar-month-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.calendar-month-controls button{min-width:42px;min-height:38px;border:1px solid #ccd5dd;background:#fff;border-radius:9px}.calendar-month-controls strong{min-width:130px;text-align:center}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(320px,.8fr);gap:14px;align-items:start}.calendar-main,.calendar-side>section,.calendar-editor{border:1px solid #dce3e9;border-radius:14px;background:#fff}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid #e4e9ed}.calendar-weekdays strong{text-align:center;padding:8px}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-day{min-height:120px;text-align:left;border:0;border-right:1px solid #edf0f3;border-bottom:1px solid #edf0f3;background:#fff;padding:7px;overflow:hidden}.calendar-day:hover{background:#f7fafc}.calendar-day.is-selected{outline:3px solid #4078a8;outline-offset:-3px}.calendar-day.is-outside{opacity:.42}.calendar-day.is-closed{background:#faf6f5}.calendar-day-head{display:flex;justify-content:space-between;gap:4px;align-items:center}.calendar-day-head span{font-weight:800}.calendar-day-head em{font-size:10px;font-style:normal;white-space:nowrap;color:#4d687b}.calendar-day.is-closed .calendar-day-head em{color:#965b55}.calendar-day-events{display:grid;gap:3px;margin-top:6px}.calendar-event-chip{font-size:10px;line-height:1.25;padding:3px 4px;border-radius:5px;background:#eef3f7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.calendar-event-chip.type-private{background:#f4e8d8}.calendar-event-chip.type-reminder{background:#fff1bf}.calendar-event-chip.type-store_note{background:#e9efe8}.calendar-event-chip.type-business_override{background:#eee9f7}.calendar-side{display:grid;gap:12px;position:sticky;top:8px}.calendar-day-detail,.calendar-editor{padding:12px}.calendar-day-detail h3,.calendar-editor h3{margin:0 0 10px}.calendar-business-status{display:flex;justify-content:space-between;border-radius:9px;padding:8px 10px;margin-bottom:10px}.calendar-business-status.is-open{background:#eaf4ee}.calendar-business-status.is-closed{background:#f6e9e7}.calendar-entry-list{display:grid;gap:7px;max-height:270px;overflow:auto}.calendar-entry-card{border:1px solid #e1e6ea;border-radius:9px;padding:8px;display:grid;gap:4px;cursor:pointer}.calendar-entry-card>div{display:flex;justify-content:space-between;gap:8px}.calendar-entry-card strong,.calendar-entry-card small{display:block}.calendar-entry-card p{margin:0;white-space:pre-wrap}.calendar-entry-card button{justify-self:end}.calendar-editor{display:grid;gap:8px}.calendar-editor label{display:grid;gap:4px}.calendar-editor input,.calendar-editor select,.calendar-editor textarea{width:100%}.calendar-check{grid-template-columns:auto 1fr!important;align-items:center}.calendar-time-row{display:grid;grid-template-columns:1fr 1fr;gap:8px}.calendar-editor-actions{display:flex;gap:8px}.calendar-reminder-banner{border:1px solid #e2c66a;background:#fff8dc;border-radius:12px;padding:10px;display:grid;gap:6px}.calendar-reminder-banner>div{display:flex;align-items:center;gap:10px}.calendar-reminder-banner>div span{font-weight:700}.calendar-reminder-banner>div small{margin-left:auto}.calendar-message{padding:9px 12px;border-radius:9px;background:#eef5fb;font-weight:700}.calendar-loading{position:fixed;right:18px;bottom:18px;background:#172b3a;color:#fff;padding:8px 12px;border-radius:8px}@media(max-width:1000px){.calendar-layout{grid-template-columns:1fr}.calendar-side{position:static}.calendar-day{min-height:95px}.calendar-header{flex-direction:column}.calendar-event-chip{font-size:9px}}@media(max-width:700px){.calendar-day{min-height:72px;padding:4px}.calendar-day-head em{display:none}.calendar-event-chip{height:5px;padding:0;font-size:0}.calendar-grid{font-size:12px}}.calendar-editor-note{margin:0;padding:8px 10px;border-radius:8px;background:#f3f6f9;color:#53677a;font-size:11px;line-height:1.5}.calendar-side{position:static;top:auto}.calendar-entry-list{max-height:none;overflow:visible}.calendar-weekdays strong.is-sunday{color:#c62828}.calendar-weekdays strong.is-saturday{color:#1565c0}.calendar-day{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;vertical-align:top}.calendar-day-head{align-items:flex-start;min-height:34px}.calendar-date-label{display:flex;flex-direction:column;align-items:flex-start;min-width:0;line-height:1.05}.calendar-date-number{font-weight:800;color:#111}.calendar-date-label.is-saturday .calendar-date-number{color:#1565c0}.calendar-date-label.is-holiday .calendar-date-number{color:#c62828}.calendar-holiday-name{display:block;margin-top:3px;max-width:100%;font-size:9px;line-height:1.15;font-weight:700;color:#c62828;white-space:normal;overflow-wrap:anywhere}.calendar-day-head em{padding-top:1px}@media(max-width:700px){.calendar-day-head{min-height:24px}.calendar-holiday-name{font-size:8px;margin-top:2px}}.calendar-day.is-open{box-shadow:inset 0 0 0 2px #1976d2}.calendar-day.is-closed{box-shadow:inset 0 0 0 2px #d32f2f}.calendar-day.is-selected{outline:3px solid #263238;outline-offset:-3px}.calendar-title-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.calendar-business-legend{display:flex;align-items:center;gap:12px;font-size:11px;font-weight:800;color:#40576a}.calendar-business-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.calendar-business-legend i{display:inline-block;width:18px;height:13px;border-radius:3px;background:#fff;box-sizing:border-box}.calendar-business-legend i.is-open{border:2px solid #1976d2}.calendar-business-legend i.is-closed{border:2px solid #d32f2f}@media(max-width:700px){.calendar-business-legend{gap:8px;font-size:10px}.calendar-title-row{gap:8px}}.calendar-day.is-selected{outline:3px solid #f59e0b;outline-offset:-3px}.calendar-event-chip.type-business_hours_adjustment{background:#dff3ff;color:#164e63}.calendar-entry-card.type-business_hours_adjustment{border-color:#7dd3fc;background:#f0f9ff}.calendar-closed-note{border-color:#fecaca;background:#fff1f2;color:#9f1239}.calendar-event-chip.type-temporary_open,.calendar-entry-card.type-temporary_open{background:#e8f7ef;border-color:#86d4a7;color:#17633d}.calendar-event-chip.type-temporary_closed,.calendar-entry-card.type-temporary_closed{background:#fff0f1;border-color:#ef9a9a;color:#9f1239}.calendar-event-chip.type-shortened_hours,.calendar-entry-card.type-shortened_hours{background:#fff6df;border-color:#f2c66d;color:#7a4d12}.calendar-event-chip.type-extended_hours,.calendar-entry-card.type-extended_hours{background:#e8f4ff;border-color:#86bff0;color:#155f9b}.calendar-event-chip.type-store_note,.calendar-entry-card.type-store_note{background:#eef2f4;border-color:#c9d2d9;color:#455a64}.calendar-editor input[type=date]{min-height:40px}.calendar-day.is-selected{outline:3px solid #16a34a!important;outline-offset:-3px}.seat-section{width:100%;min-width:0}.seat-layout-grid{--seat-grid-gap: 14px;position:relative;display:grid;width:100%;min-width:0;grid-template-columns:repeat(6,minmax(95px,1fr));grid-template-rows:repeat(4,minmax(112px,1fr));gap:14px;align-items:stretch}.seat-layout-grid .seat{position:relative;grid-row:var(--seat-grid-row) / span var(--seat-grid-row-span, 1);grid-column:var(--seat-grid-column) / span var(--seat-grid-column-span, 1);width:100%;min-width:0;min-height:130px;padding:14px 10px;overflow:hidden;touch-action:manipulation}.seat-type-t{border-radius:16px}.seat-type-o{border-radius:50%;aspect-ratio:1 / 1;align-self:center;justify-self:center}.seat-type-s{border-radius:24px}.seat-type-k{border-radius:12px;border-width:3px}.seat-layout-grid .seat:not(.seat-予約){display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px}.seat-layout-grid .seat:not(.seat-予約) .seat-id{font-size:1.45rem;font-weight:900;line-height:1}.seat-layout-grid .seat:not(.seat-予約) .seat-type{overflow:hidden;max-width:100%;font-size:.76rem;font-weight:800;line-height:1.2;text-align:center;text-overflow:ellipsis;white-space:nowrap}.seat-layout-grid .seat:not(.seat-予約) .seat-status{font-size:.76rem;font-weight:900;line-height:1.2;text-align:center}.seat-capacity{font-size:.7rem;font-weight:800;line-height:1.2}.seat-予約{display:flex;min-height:130px;padding:0;overflow:hidden;flex-direction:column;justify-content:flex-start}.reserved-seat-header{display:flex;width:100%;min-height:40px;align-items:center;justify-content:center;padding:8px 6px;border-bottom:2px solid rgba(255,255,255,.55)}.seat-予約 .reserved-seat-header .seat-id{width:auto;padding:0;border:0;font-size:1.25rem;font-weight:900;line-height:1;text-align:center}.reserved-seat-body{display:flex;width:100%;min-height:0;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:8px 6px 9px}.reserved-seat-body .seat-customer-name{display:-webkit-box;width:100%;min-height:2.2em;overflow:hidden;font-size:.78rem;font-weight:900;line-height:1.1;text-align:center;white-space:normal;word-break:break-word;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.seat-reservation-time{display:block;width:100%;font-size:.68rem;font-weight:900;line-height:1.2;text-align:center;white-space:nowrap}.reservation-bottom-row{display:flex;width:100%;min-width:0;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px;margin-top:2px}.reservation-people{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;padding:4px 7px;border-radius:999px;background:#ffffff38;font-size:.68rem;font-weight:900;line-height:1;white-space:nowrap}.seat-type-o.seat-予約{padding:0}.seat-type-o .reserved-seat-header{min-height:36px;padding:7px 5px}.seat-type-o .reserved-seat-body{gap:3px;padding:5px}.seat-type-o .seat-customer-name{font-size:.7rem}.seat-type-o .seat-reservation-time{font-size:.62rem}.seat-type-o .reservation-people{padding:3px 5px;font-size:.61rem}.legend-color.combined,.legend-dot.legend-connected{background:#1769d2}.seat.combined-reservation{background:#f59e0b}.seat.combined-reservation:hover{filter:brightness(1.03)}.seat.combined-reservation.selected{outline:4px solid #166fe5;outline-offset:3px;box-shadow:0 10px 24px #166fe53d}.combined-seat-info{display:inline-flex;min-width:0;flex-wrap:wrap;align-items:center;justify-content:center;gap:3px}.combined-badge{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;padding:3px 5px;border:1px solid rgba(255,255,255,.88);border-radius:999px;background:#1769d2;color:#fff;font-size:.58rem;font-weight:900;line-height:1;white-space:nowrap}.connected-seat-badge{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;padding:3px 5px;border:2px solid #1769d2;border-radius:999px;background:#fff;color:#1769d2;font-size:.58rem;font-weight:900;line-height:1;white-space:nowrap}.seat-connection-marker{display:inline-flex;z-index:40;width:34px;height:34px;align-items:center;justify-content:center;border:2px solid #ffffff;border-radius:50%;background:#1769d2;color:#fff;font-size:.56rem;font-weight:900;line-height:1;letter-spacing:0;white-space:nowrap;pointer-events:none;box-sizing:border-box;box-shadow:0 3px 8px #1769d252}.seat-connection-marker-horizontal{align-self:center;justify-self:end;transform:translate(calc(50% + (var(--seat-grid-gap) / 2)))}.seat-connection-marker-vertical{align-self:end;justify-self:center;transform:translateY(calc(50% + (var(--seat-grid-gap) / 2)))}.seat-change-panel{margin-bottom:16px}.seat-change-current{outline:4px solid #64748b;outline-offset:2px}.seat-change-target{outline:3px solid #166fe5;outline-offset:0}@media(min-width:761px)and (max-width:1180px){.seat-layout-grid{--seat-grid-gap: 10px;grid-template-columns:repeat(6,minmax(82px,1fr));grid-template-rows:repeat(3,minmax(118px,1fr));gap:10px}.seat-layout-grid .seat{min-height:118px;padding:10px 6px}.seat-layout-grid .seat:not(.seat-予約) .seat-id{font-size:1.25rem}.seat-layout-grid .seat:not(.seat-予約) .seat-type,.seat-layout-grid .seat:not(.seat-予約) .seat-status{font-size:.68rem}.seat-予約{min-height:118px}.reserved-seat-header{min-height:34px;padding:6px 4px}.seat-予約 .reserved-seat-header .seat-id{font-size:1.08rem}.reserved-seat-body{gap:3px;padding:5px 4px 6px}.reserved-seat-body .seat-customer-name{font-size:.68rem}.seat-reservation-time{font-size:.6rem}.reservation-people,.combined-badge,.connected-seat-badge{padding:3px 4px;font-size:.55rem}.seat-connection-marker{width:30px;height:30px;font-size:.5rem}}@media(max-width:760px){.seat-section{overflow-x:auto;padding-bottom:8px}.seat-layout-grid{--seat-grid-gap: 12px;width:800px;min-width:800px;grid-template-columns:repeat(6,120px);grid-template-rows:repeat(3,130px);gap:12px}.seat-layout-grid .seat{min-height:130px}}.seat-layout-grid .seat.selected,.seat-layout-grid .seat.combined-reservation.selected{outline:3px solid #166fe5;outline-offset:0;box-shadow:0 8px 18px #166fe533}.seat-layout-grid .seat.selected:after,.seat-layout-grid .seat.combined-reservation.selected:after{content:none}@media(min-width:761px)and (max-width:1180px){.seat-layout-grid .seat.selected,.seat-layout-grid .seat.combined-reservation.selected{outline-width:3px;outline-offset:0}}@media(max-width:620px){.app-operation-workspace{display:block;margin-top:6px;overflow:visible}.app-seat-column,.app-reservation-column{width:100%;height:auto;min-height:0;overflow:visible}.app-seat-column .seat-section{overflow:visible;padding:8px}.seat-layout-grid,.app-seat-column .seat-layout-grid{display:grid;width:100%;min-width:0;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:none;grid-auto-rows:88px;gap:6px}.seat-layout-grid .seat,.app-seat-column .seat-layout-grid .seat{grid-row:auto!important;grid-column:auto!important;width:100%;height:88px;min-height:88px;padding:6px 5px;aspect-ratio:auto;align-self:stretch;justify-self:stretch;border-radius:12px}.seat-layout-grid .seat:not(.seat-予約){gap:2px}.seat-layout-grid .seat:not(.seat-予約) .seat-id{font-size:1.05rem}.seat-layout-grid .seat:not(.seat-予約) .seat-type,.seat-layout-grid .seat:not(.seat-予約) .seat-status{font-size:.58rem}.seat-capacity{font-size:.55rem}.seat-予約{height:88px;min-height:88px}.reserved-seat-header{min-height:25px;padding:3px 4px}.seat-予約 .reserved-seat-header .seat-id{font-size:.9rem}.reserved-seat-body{gap:1px;padding:3px 4px 4px}.reserved-seat-body .seat-customer-name{min-height:1.8em;font-size:.62rem;line-height:.95}.seat-reservation-time{font-size:.54rem}.reservation-bottom-row{gap:2px;margin-top:0}.reservation-people,.combined-badge,.connected-seat-badge{padding:2px 4px;font-size:.49rem}.seat-layout-grid .seat-type-o{border-radius:12px}.seat-connection-marker{display:none}}@media(max-width:360px){.seat-layout-grid,.app-seat-column .seat-layout-grid{grid-auto-rows:82px;gap:5px}.seat-layout-grid .seat,.app-seat-column .seat-layout-grid .seat{height:82px;min-height:82px}}@media(max-width:620px){.app-seat-column .seat-section{padding:6px}.seat-layout-grid,.app-seat-column .seat-layout-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:76px;gap:4px}.seat-layout-grid .seat,.app-seat-column .seat-layout-grid .seat{height:76px;min-height:76px;padding:4px 3px;border-radius:9px}.seat-layout-grid .seat:not(.seat-予約){gap:1px}.seat-layout-grid .seat:not(.seat-予約) .seat-id{font-size:.9rem}.seat-layout-grid .seat:not(.seat-予約) .seat-type,.seat-layout-grid .seat:not(.seat-予約) .seat-status{font-size:.48rem}.seat-capacity{font-size:.46rem}.seat-予約,.app-seat-column .seat-予約{height:76px;min-height:76px}.reserved-seat-header{min-height:21px;padding:2px 3px}.seat-予約 .reserved-seat-header .seat-id{font-size:.76rem}.reserved-seat-body{gap:0;padding:2px 3px 3px}.reserved-seat-body .seat-customer-name{min-height:1.6em;font-size:.52rem;line-height:.9}.seat-reservation-time{font-size:.46rem}.reservation-people,.combined-badge,.connected-seat-badge{padding:1px 3px;font-size:.42rem}.seat-layout-grid .seat-type-o{border-radius:9px}}@media(max-width:360px){.seat-layout-grid,.app-seat-column .seat-layout-grid{grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:72px;gap:3px}.seat-layout-grid .seat,.app-seat-column .seat-layout-grid .seat{height:72px;min-height:72px}}.seat-layout-grid .seat.seat-private-layout{border-color:#7c3aed;background:linear-gradient(145deg,#ede9fe,#ddd6fe);color:#4c1d95;box-shadow:inset 0 0 0 1px #7c3aed1f,0 5px 14px #5b21b624}.seat-layout-grid .seat.seat-private-layout .seat-type{color:#6d28d9;font-weight:900}.seat-layout-grid .seat.seat-private-layout .seat-status{color:#4c1d95;font-weight:900}.seat-layout-grid .seat.seat-layout-extra{border:3px solid #d97706;background:linear-gradient(145deg,#fef3c7,#fde68a);color:#78350f;box-shadow:inset 0 0 0 1px #d977062e,0 6px 16px #92400e2e}.seat-layout-grid .seat.seat-layout-extra .seat-id,.seat-layout-grid .seat.seat-layout-extra .seat-type,.seat-layout-grid .seat.seat-layout-extra .seat-status{color:#78350f;font-weight:900}.timeline-panel{min-width:0;padding:16px;border:1px solid #d9e3ee;border-radius:18px;background:#f7fafc;box-shadow:0 8px 24px #0f172a14;color:#213b55}.timeline-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}.timeline-toolbar h2{margin:0;font-size:1.1rem;color:#173b5f}.timeline-toolbar p{margin:3px 0 0;color:#60758a;font-size:.78rem}.timeline-scale-switch{display:flex;gap:6px}.timeline-scale-switch button{min-height:36px;padding:0 13px;border:1px solid #cbd8e6;border-radius:10px;background:#fff;color:#24415d;font-weight:800;cursor:pointer}.timeline-scale-switch button.is-active{border-color:#1473e6;background:#1473e6;color:#fff}.operation-view-switch{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;gap:8px;margin:0 0 10px;overflow:visible}.operation-view-switch button{width:100%;min-width:0;min-height:40px;padding:0 10px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;font-size:.82rem;font-weight:800;line-height:1.15;white-space:normal;cursor:pointer}.operation-view-switch button.is-active{border-color:#1473e6;background:#1473e6;color:#fff;box-shadow:inset 0 0 0 1px #ffffff2e}.timeline-scroll{overflow:auto;max-height:calc(100dvh - 240px);border:1px solid #d8e3ee;border-radius:12px;background:#fff}.timeline-canvas{position:relative;min-height:760px}.timeline-header-row{position:sticky;z-index:6;top:0;height:38px;background:#eef4fa;border-bottom:1px solid #ccd9e6;color:#49647d}.timeline-tick{position:absolute;top:0;height:100%;border-left:1px solid #d9e3ee}.timeline-tick.is-hour{border-left-color:#aebfd0}.timeline-tick span{position:absolute;top:8px;left:5px;font-size:11px;white-space:nowrap}.timeline-body{position:relative}.timeline-seat-row{position:relative;border-bottom:1px solid #e3ebf3;background:#fff}.timeline-seat-row:nth-child(2n){background:#fbfdff}.timeline-seat-label{position:sticky;z-index:5;left:0;display:flex;height:100%;flex-direction:column;align-items:center;justify-content:center;background:#f3f7fb;border-right:1px solid #cfdce8;color:#173b5f}.timeline-seat-label strong{font-size:14px}.timeline-seat-label span{font-size:9px;color:#6c8296}.timeline-row-grid{position:absolute;top:0;height:100%}.timeline-grid-line{position:absolute;top:0;bottom:0;border-left:1px solid #edf2f7}.timeline-grid-line.is-hour{border-left-color:#d1dde8}.timeline-reservation{position:absolute;z-index:3;top:5px;height:44px;overflow:hidden;padding:4px 7px;border:1px solid #80ace5;border-radius:8px;color:#123b68;text-align:left;cursor:pointer;background:#dbeafe}.timeline-reservation.arrived{border-color:#6fc49d;background:#d9f5e8;color:#155c3f}.timeline-reservation.paid{border-color:#aab8c6;background:#e8edf2;color:#506579}.timeline-reservation.provisional{border-color:#e0ad48;border-style:dashed;background:repeating-linear-gradient(135deg,#fff3cf 0,#fff3cf 8px,#ffe7a4 8px,#ffe7a4 16px);color:#79520a}.timeline-reservation strong,.timeline-reservation span,.timeline-reservation small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-reservation strong{font-size:11px}.timeline-reservation span{font-size:9px}.timeline-reservation small{font-size:8px;opacity:.76}.timeline-cleanup{position:absolute;z-index:2;top:8px;height:38px;border:1px dashed #a6b8c9;border-left:0;border-radius:0 7px 7px 0;background:repeating-linear-gradient(135deg,#f0f4f8 0,#f0f4f8 5px,#e5ebf1 5px,#e5ebf1 10px);pointer-events:none}.timeline-now-line{position:absolute;z-index:4;top:0;bottom:0;width:2px;background:#ef476f;pointer-events:none}.timeline-now-line span{position:sticky;top:42px;display:inline-block;transform:translate(-50%);padding:2px 4px;border-radius:5px;background:#ef476f;color:#fff;font-size:9px}@media(max-width:900px){.operation-view-switch{gap:6px}.operation-view-switch button{min-height:42px;padding:0 6px;font-size:.74rem}}@media(max-width:620px){.timeline-panel{padding:8px;border-radius:12px}.timeline-toolbar{align-items:flex-start;flex-direction:column;gap:6px}.timeline-scroll{max-height:calc(100dvh - 230px)}.operation-view-switch{grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:4px 0 7px}.operation-view-switch button{display:flex!important;align-items:center;justify-content:center;min-width:0!important;min-height:34px;padding:0 1px!important;font-size:.56rem!important;line-height:1!important;white-space:nowrap!important;word-break:normal!important;overflow:hidden!important;overflow-wrap:normal!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important}.operation-view-switch .operation-view-label{display:block!important;width:100%!important;max-width:100%!important;white-space:nowrap!important;word-break:keep-all!important;overflow-wrap:normal!important;writing-mode:horizontal-tb!important;text-orientation:mixed!important;text-align:center!important;font-size:clamp(7px,2.35vw,10px)!important;line-height:1!important;letter-spacing:-.06em!important}.operation-view-switch .operation-view-label-layout{font-size:clamp(7px,2.25vw,9.5px)!important;letter-spacing:-.09em!important}}.timeline-rule-band{position:absolute;z-index:1;top:0;bottom:0;pointer-events:auto}.timeline-rule-band.is-reception-block{background:repeating-linear-gradient(135deg,#ef444414 0,#ef444414 7px,#ef444426 7px,#ef444426 14px);border-left:1px dashed rgba(185,28,28,.45);border-right:1px dashed rgba(185,28,28,.45)}.timeline-rule-band.is-blocked{background:repeating-linear-gradient(135deg,#7c3aed14 0,#7c3aed14 8px,#7c3aed26 8px,#7c3aed26 16px);border-left:1px solid rgba(109,40,217,.38);border-right:1px solid rgba(109,40,217,.38)}.timeline-rule-band.is-special-open{background:#10b98114;border-left:1px solid rgba(5,150,105,.35);border-right:1px solid rgba(5,150,105,.35)}.timeline-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;flex-wrap:wrap}.timeline-mode-switch{display:inline-flex;gap:4px;padding:3px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc}.timeline-mode-switch button,.timeline-scale-switch button{min-height:34px;border:0;border-radius:8px;padding:6px 10px;background:transparent;color:#334155;font-weight:700}.timeline-mode-switch button.is-active,.timeline-scale-switch button.is-active{background:#0f172a;color:#fff}.timeline-operation-hint{margin:0 16px 10px;padding:8px 12px;border:1px solid #dbeafe;border-radius:10px;background:#eff6ff;color:#1e3a8a;font-size:13px;font-weight:700}.timeline-swap-suggestions{margin:0 16px 10px;display:flex;align-items:center;gap:6px;overflow-x:auto;white-space:nowrap}.timeline-swap-suggestions button{border:1px solid #cbd5e1;border-radius:999px;padding:6px 10px;background:#fff;font-weight:700}.timeline-seat-row.is-drop-target .timeline-row-grid{background:#0ea5e91c;box-shadow:inset 0 0 0 2px #0284c7}.timeline-reservation{touch-action:none;user-select:none;-webkit-user-select:none}.timeline-reservation.is-dragging{z-index:15;opacity:.78;box-shadow:0 8px 18px #0f172a47}.timeline-reservation.is-swap-target{z-index:14;outline:3px solid #f59e0b;outline-offset:2px}@media(max-width:1100px){.timeline-toolbar{align-items:flex-start}.timeline-controls{max-width:58%}.timeline-mode-switch button,.timeline-scale-switch button{min-height:38px;padding-inline:9px}}.timeline-header-seat-spacer{position:sticky;left:0;z-index:7;height:100%;box-sizing:border-box;border-right:1px solid #cfdce8;background:#f3f7fb}.timeline-tick.is-end span{left:auto;right:5px;transform:translate(0);text-align:right}@media(min-width:900px)and (max-width:1366px){.app-page>.timeline-panel{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden;box-sizing:border-box}.app-page>.timeline-panel .timeline-toolbar,.app-page>.timeline-panel .timeline-operation-hint,.app-page>.timeline-panel .timeline-swap-suggestions{flex:0 0 auto}.app-page>.timeline-panel .timeline-scroll{min-height:0;max-height:none;flex:1 1 auto;overflow-x:auto;overflow-y:auto;padding-bottom:calc(12px + env(safe-area-inset-bottom));overscroll-behavior:contain;-webkit-overflow-scrolling:touch;box-sizing:border-box}}.timeline-tick span{left:0;transform:translate(-50%)}.timeline-tick.is-start span{left:5px;transform:none}.timeline-tick.is-end span{left:auto;right:5px;transform:none;text-align:right}.timeline-private-bookings{display:flex;gap:8px;overflow-x:auto;margin:0 16px 10px}.timeline-private-bookings>div{display:flex;align-items:center;gap:8px;min-width:max-content;padding:8px 12px;border:1px solid #7c3aed;border-radius:10px;background:#f3e8ff;color:#5b21b6;font-weight:800}.timeline-private-bookings strong{padding:3px 7px;border-radius:999px;background:#6d28d9;color:#fff;font-size:.75rem}.timeline-private-bookings>div{border:2px solid #6d28d9;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#4c1d95;box-shadow:0 4px 12px #5b21b629}.timeline-private-bookings strong{background:#5b21b6}.timeline-private-row{border-bottom:2px solid #c4b5fd;background:#faf8ff!important}.timeline-private-label{background:#ede9fe;border-right-color:#a78bfa;color:#5b21b6}.timeline-private-reservation{position:absolute;z-index:4;top:5px;height:44px;overflow:hidden;padding:4px 7px;border:2px solid #6d28d9;border-radius:8px;background:linear-gradient(135deg,#ede9fe,#ddd6fe);color:#4c1d95;text-align:left;cursor:pointer;box-shadow:0 3px 9px #5b21b629}.timeline-private-reservation strong,.timeline-private-reservation span,.timeline-private-reservation small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.timeline-private-reservation strong{font-size:11px}.timeline-private-reservation span{font-size:9px}.timeline-private-reservation small{font-size:8px;opacity:.8}.external-inbox-backdrop{position:fixed;z-index:3500;top:0;right:0;bottom:0;left:0;display:flex;align-items:stretch;justify-content:stretch;overflow:hidden;padding:8px;background:#0f172aa6;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.external-import-form-card{width:100%;height:100%;max-width:none;max-height:none;margin:0;border-radius:18px;background:#fff;box-shadow:0 28px 70px #0f172a66}.external-import-header-actions{display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:8px}.external-import-received-at{max-width:280px;overflow:hidden;color:#526078;font-size:.7rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.external-import-message-slot{min-height:28px;flex:0 0 28px;margin-bottom:4px;padding:5px 9px;border-radius:8px;color:transparent;font-size:.74rem;font-weight:800;line-height:18px;box-sizing:border-box}.external-import-message-slot.has-message{background:#fff4f2;color:#b42318}.external-import-form-card>.empty-state{display:flex;min-height:0;flex:1 1 auto;align-items:center;justify-content:center}.external-import-form-actions{margin-top:6px}.external-import-form-actions .external-ignore-button{margin-right:auto}.external-import-form-card .recommendation-choice-card{cursor:pointer}.external-import-form-card .recommendation-choice-card:disabled{cursor:not-allowed}@media(min-width:761px)and (max-width:1180px){.external-inbox-backdrop{padding:6px}.external-import-form-card{border-radius:14px}.external-import-received-at{max-width:220px;font-size:.64rem}.external-import-message-slot{min-height:24px;flex-basis:24px;padding:3px 7px;font-size:.68rem}}@media(max-height:650px){.external-import-received-at{display:none}.external-import-message-slot{min-height:22px;flex-basis:22px;margin-bottom:2px;padding-top:2px;padding-bottom:2px}}@media(max-width:760px){.external-inbox-backdrop{padding:4px}.external-import-header-actions .secondary-button,.external-import-received-at{display:none}}.external-import-form-card.reservation-create-layout{display:flex;min-height:0;overflow:hidden;flex-direction:column}.external-import-form-card.reservation-create-layout>.form-header{flex:0 0 auto}.external-import-form-card.reservation-create-layout>form{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden}.external-import-form-card .reservation-form-upper{flex:0 0 auto}.external-import-form-card .reservation-recommendation-area{display:grid;min-height:0;margin-top:6px;grid-template-rows:auto minmax(124px,1fr) auto;row-gap:6px;flex:1 1 auto;overflow:hidden}.external-import-form-card .recommendation-top-three{min-height:0;height:100%;align-items:stretch}.external-import-form-card .recommendation-choice-card{width:100%;min-height:124px;height:100%;max-height:148px;padding-top:9px;padding-bottom:9px;overflow:hidden}.external-import-form-card .recommendation-card-content{height:100%;min-height:0}.external-import-form-card .recommendation-card-text,.external-import-form-card .recommendation-card-visual{min-height:0}.external-import-form-card .recommendation-mini-layout{min-height:0;padding:5px}.external-import-form-card .recommendation-mini-seat-grid{grid-template-rows:repeat(3,minmax(17px,1fr))}.external-import-form-card .recommendation-reasons-text{display:-webkit-box;overflow:hidden;line-height:1.2;-webkit-box-orient:vertical;-webkit-line-clamp:2}.external-import-form-card .manual-seat-selection-button{flex:0 0 auto;margin-top:0}.external-import-form-card .external-import-form-actions{min-height:42px;flex:0 0 42px;margin-top:6px;padding-top:0}@media(min-width:761px)and (max-width:1180px){.external-import-form-card .reservation-recommendation-area{grid-template-rows:auto minmax(116px,1fr) auto}.external-import-form-card .recommendation-choice-card{min-height:116px;max-height:138px}}@media(max-height:700px){.external-import-form-card .reservation-recommendation-area{grid-template-rows:auto minmax(106px,1fr) auto;row-gap:4px}.external-import-form-card .recommendation-choice-card{min-height:106px;max-height:122px}.external-import-form-card .external-import-form-actions{min-height:40px;flex-basis:40px;margin-top:4px}}.external-import-form-card{position:relative}.external-import-form-card>form{min-height:0;padding-bottom:78px;box-sizing:border-box}.external-import-form-card .external-import-form-actions{position:absolute;z-index:30;right:12px;bottom:24px;left:12px;display:flex;min-height:44px;height:44px;margin:0!important;padding:4px 0 0;align-items:center;background:#fff;border-top:1px solid rgba(148,163,184,.35);box-sizing:border-box}.external-import-form-card .external-import-form-actions button{min-height:38px;height:38px}@media(max-height:700px){.external-import-form-card>form{padding-bottom:70px}.external-import-form-card .external-import-form-actions{right:10px;bottom:18px;left:10px;min-height:42px;height:42px}.external-import-form-card .external-import-form-actions button{min-height:36px;height:36px}}.external-import-form-card .reservation-recommendation-area{flex:0 0 auto!important;min-height:0!important;height:auto!important;grid-template-rows:auto auto auto!important;align-content:start!important;overflow:visible!important}.external-import-form-card .recommendation-top-three{min-height:0!important;height:auto!important;flex:0 0 auto!important}.external-import-form-card .recommendation-choice-card{height:124px!important;min-height:124px!important;max-height:124px!important}.external-import-form-card .manual-seat-selection-button{margin-top:4px!important}.external-import-form-card>form{padding-bottom:0!important}.external-import-form-card .external-import-form-actions{position:static!important;right:auto!important;bottom:auto!important;left:auto!important;min-height:44px;height:auto!important;margin-top:8px!important;padding-top:6px!important;border-top:1px solid rgba(148,163,184,.35);background:#fff}.external-import-form-card .external-import-form-actions{background:transparent!important;border-top-color:#94a3b838!important}.external-inbox-backdrop{align-items:center!important;justify-content:center!important}.external-import-form-card.reservation-create-layout{width:calc(100vw - 24px)!important;height:auto!important;min-height:0!important;max-height:calc(100dvh - 24px)!important;overflow:hidden!important;flex:0 1 auto!important}.external-import-form-card.reservation-create-layout>form{min-height:0!important;flex:0 1 auto!important;overflow:visible!important}.external-import-form-card .reservation-recommendation-area{flex:0 0 auto!important;height:auto!important}.external-import-form-card .external-import-form-actions{margin-bottom:0!important}@media(min-width:761px)and (max-width:1180px){.external-import-form-card.reservation-create-layout{width:calc(100vw - 16px)!important;max-height:calc(100dvh - 16px)!important}}.external-import-message-slot.has-message.success{background:#eef6ff!important;color:#166fe5!important}.external-import-message-slot.has-message.error{background:#fff4f2!important;color:#b42318!important}.external-import-warning{margin:0 18px 10px;padding:10px 12px;border:1px solid #e0a800;border-radius:8px;background:#fff8dd;color:#6f5200;font-weight:700}.external-daily-audit{margin:0 18px 10px;padding:12px 14px;border:1px solid #b9d7c2;border-radius:10px;background:#f2fbf5;color:#245b35}.external-daily-audit.has-differences{border-color:#e5b04b;background:#fff8e7;color:#704b00}.external-daily-audit-title{display:flex;justify-content:space-between;gap:12px;align-items:center}.external-daily-audit p{margin:6px 0 0;font-weight:700}.external-daily-audit ul{margin:8px 0;padding-left:20px}.external-daily-audit li+li{margin-top:5px}.external-daily-audit small{display:block;margin-top:7px;line-height:1.45}.external-import-form-card.reservation-create-layout{overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.external-import-form-card.reservation-create-layout>form{flex:0 0 auto!important;overflow:visible!important}@media(min-width:761px)and (max-width:1180px){.external-import-form-card.reservation-create-layout{scroll-behavior:smooth}}.external-seat-request-status{display:grid;gap:4px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;background:#f8fafc;font-size:.78rem;line-height:1.45}.external-seat-request-status strong{color:#172033}.external-seat-request-status span{color:#475569}.external-seat-request-status-selected{border-color:#93c5fd;background:#eff6ff}.external-seat-request-status-selected strong,.external-seat-request-status-selected span{color:#1d4ed8}.external-seat-request-status-conflict,.external-seat-request-status-unrecognized{border-color:#fca5a5;background:#fef2f2}.external-seat-request-status-conflict strong,.external-seat-request-status-conflict span,.external-seat-request-status-unrecognized strong,.external-seat-request-status-unrecognized span{color:#b91c1c}.external-daily-audit li{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.external-daily-audit li>span{flex:1 1 320px}.external-daily-audit li.is-acknowledged{opacity:.72}.daily-audit-ack-button{flex:0 0 auto;min-height:30px;padding:4px 9px;border:1px solid currentColor;border-radius:7px;background:#fff;color:inherit;font:inherit;font-size:12px;font-weight:700;cursor:pointer}.daily-audit-acknowledged{flex:0 0 auto;font-size:12px}.external-inbox-embedded{position:static;inset:auto;display:block;padding:0;background:transparent;overflow:visible}.external-inbox-embedded .external-import-form-card.is-embedded{width:100%;max-width:none;max-height:none;margin:0;overflow:visible;border-radius:14px;box-shadow:none}.external-inbox-embedded .form-header{position:static}.external-import-form-card.reservation-create-layout{scrollbar-gutter:stable;padding-bottom:max(12px,env(safe-area-inset-bottom))}.external-import-form-card.reservation-create-layout>form{overflow:visible}@media(min-width:768px)and (max-width:1366px){.external-import-form-card.reservation-create-layout{overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.external-import-form-card.reservation-create-layout .external-import-form-actions{margin-bottom:max(12px,env(safe-area-inset-bottom))}}.layout-management-view{min-height:0;overflow:auto;padding:14px 18px 34px;background:#f5f8fc;border:1px solid #d9e4f1;border-radius:18px}.layout-management-header{position:sticky;top:0;z-index:8;display:flex;align-items:center;justify-content:space-between;padding:8px 0 12px;background:#f5f8fc}.layout-management-header h2{margin:0}.layout-message{margin:0 0 10px;padding:10px 14px;border-radius:10px;background:#eaf4ff;font-weight:800}.layout-tabs{display:flex;gap:8px;margin-bottom:12px}.layout-tabs button{flex:1;padding:10px;border:1px solid #c8d7e8;border-radius:10px;background:#fff;font-weight:900}.layout-tabs button.is-active{background:#0b3158;color:#fff}.layout-editor-shell{display:grid;grid-template-columns:210px minmax(0,1fr);gap:12px}.layout-profile-list{display:flex;flex-direction:column;gap:7px}.layout-profile-list button{padding:10px;text-align:left;border:1px solid #cedceb;border-radius:9px;background:#fff;font-weight:800}.layout-profile-list button.is-active{border-color:#1479e8;background:#eaf4ff}.layout-profile-list .layout-add-profile{color:#0967c7}.layout-editor-main{min-width:0;padding:12px;border:1px solid #d5e1ee;border-radius:14px;background:#fff}.layout-editor-toolbar{display:flex;flex-wrap:wrap;align-items:end;gap:8px}.layout-editor-toolbar label{display:flex;flex:1;min-width:180px;flex-direction:column;gap:4px;font-weight:800}.layout-editor-toolbar input,.layout-seat-settings input,.layout-seat-settings select{padding:9px;border:1px solid #c8d8e8;border-radius:8px}.layout-help{margin:10px 0;color:#57708a;font-size:.86rem}.layout-edit-grid{position:relative;display:grid;grid-template-columns:repeat(6,minmax(82px,1fr));grid-template-rows:repeat(4,92px);gap:8px;padding:8px;border-radius:12px;background:#eaf0f7}.layout-cell{z-index:0;border:1px dashed #c4d2e2;border-radius:8px;background:#ffffff73}.layout-seat{z-index:2;display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center;border:2px solid #83a9cf;border-radius:12px;background:#fff;color:#0c2d4e;box-shadow:0 2px 5px #0a2d501f}.layout-seat.is-selected{border-color:#0878ed;outline:3px solid rgba(8,120,237,.18)}.layout-seat.is-extra{border-style:dashed;background:#fff8df}.layout-seat small{margin-top:4px}.layout-seat-settings{display:flex;flex-wrap:wrap;align-items:end;gap:10px;margin-top:12px;padding:10px;border-radius:10px;background:#f5f8fc}.layout-seat-settings label{display:flex;min-width:120px;flex-direction:column;gap:4px;font-size:.82rem;font-weight:800}.danger-button{padding:9px 12px;border:1px solid #e1a0a0;border-radius:8px;background:#fff0f0;color:#a12121;font-weight:900}.private-booking-form{margin-top:14px;padding:14px;border:1px solid #d5e1ee;border-radius:14px;background:#fff}.private-booking-title h3{margin:0}.private-booking-title p{margin:4px 0 12px;color:#5b7086}.private-booking-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.private-booking-grid label,.private-booking-memo{display:flex;flex-direction:column;gap:4px;font-weight:800}.private-booking-grid b{color:#d62828;font-size:.72rem}.private-booking-grid input,.private-booking-grid select,.private-booking-memo textarea{min-width:0;padding:9px;border:1px solid #c8d8e8;border-radius:8px}.private-booking-memo{margin-top:10px}.private-booking-actions{display:flex;justify-content:flex-end;margin-top:10px}@media(max-width:900px){.layout-management-view{padding:10px 12px 28px}.layout-editor-shell{grid-template-columns:1fr}.layout-profile-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.layout-edit-grid{grid-template-columns:repeat(6,minmax(70px,1fr));grid-template-rows:repeat(4,78px);overflow-x:auto}.private-booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.private-booking-grid{grid-template-columns:1fr}}.layout-management-view.is-private-mode{border-color:#c4b5fd;background:#faf8ff}.layout-management-view.is-private-mode .layout-management-header{background:#faf8ff}.layout-management-view.is-private-mode .layout-tabs button.is-active{border-color:#6d28d9;background:#6d28d9}.layout-management-view.is-private-mode .layout-profile-list button.is-active{border-color:#7c3aed;background:#ede9fe;color:#4c1d95}.layout-management-view.is-private-mode .layout-editor-main,.layout-management-view.is-private-mode .private-booking-form{border:2px solid #c4b5fd;background:#fdfcff}.layout-management-view .layout-seat.is-extra{border:3px solid #d97706;border-style:solid;background:linear-gradient(145deg,#fef3c7,#fde68a);color:#78350f;box-shadow:0 4px 10px #92400e33}.layout-management-view .layout-seat.is-extra.is-selected{border-color:#b45309;outline:4px solid rgba(245,158,11,.28)}.layout-management-view.is-private-mode .private-booking-title h3:before{content:"貸切 ";color:#6d28d9}.layout-management-view.is-embedded{border:0;border-radius:0;background:transparent;padding:0;min-height:0}.layout-management-view.is-embedded .layout-editor-shell{margin-top:0}.layout-normal-warning{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;padding:11px 13px;border:1px solid #f0b429;border-radius:10px;background:#fff8dc;color:#684b00}.layout-normal-warning strong{flex:0 0 auto;color:#b45309}.layout-effective-field{min-width:230px!important}.layout-pending-change{margin:9px 0;padding:8px 10px;border-radius:8px;background:#e8f3ff;color:#0b4f91;font-weight:800}.layout-conflicts{margin-top:12px;padding:12px;border:2px solid #e45858;border-radius:12px;background:#fff7f7}.layout-conflicts h3{margin:0 0 5px;color:#a51d1d}.layout-conflicts p{margin:0 0 10px}.layout-conflict-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #f2cccc}.layout-conflict-row:first-of-type{border-top:0}.layout-conflict-row div{display:flex;flex-direction:column;gap:3px}.layout-seat-settings .danger-button{margin-left:auto}@media(max-width:900px){.layout-conflict-row{align-items:stretch;flex-direction:column}.layout-effective-field{min-width:100%!important}}.layout-management-view.is-private-mode .private-booking-title h3:before{content:none!important}.private-booking-existing{margin-top:14px;padding:14px;border:2px solid #c4b5fd;border-radius:14px;background:#faf8ff}.private-booking-list{display:grid;gap:8px;margin-top:10px}.private-booking-list article{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid #d8ccfa;border-radius:10px;background:#fff}.private-booking-list article.is-editing{border-color:#6d28d9;background:#f3e8ff}.private-booking-list article>div{display:flex;min-width:0;flex-direction:column;gap:3px}.private-booking-list article span{color:#6b5b89;font-size:.78rem}.private-booking-snapshot-editor{margin-top:12px;padding:12px;border:2px solid #a78bfa;border-radius:12px;background:#fdfcff}.private-booking-snapshot-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.private-booking-snapshot-heading h4{margin:0;color:#5b21b6}.private-booking-snapshot-heading p{margin:3px 0 0;color:#6b5b89;font-size:.78rem}.private-booking-actions{gap:8px}@media(min-width:900px)and (max-width:1366px){.private-booking-grid input,.private-booking-grid select{width:100%;height:42px!important;min-height:42px!important;max-height:42px;box-sizing:border-box;padding-block:0!important;line-height:42px;font-size:16px}.private-booking-grid input[type=date],.private-booking-grid input[type=time]{-moz-appearance:auto;appearance:auto;-webkit-appearance:none;padding:0 10px!important}.private-booking-list article{align-items:stretch;flex-direction:column}.private-booking-snapshot-heading{align-items:stretch;flex-direction:column}}.reservation-management-page{padding:18px;border:1px solid #d9e3ee;border-radius:20px;background:#f7fafc}.reservation-management-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px}.reservation-management-header h2{margin:2px 0 4px}.reservation-management-header p{margin:0;color:#60758a}.reservation-management-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:14px}.reservation-management-tabs button{min-height:44px;border:1px solid #cbd8e6;border-radius:10px;background:#fff;color:#24415d;font-weight:900}.reservation-management-tabs button.is-active{background:#0c345d;color:#fff}.reservation-management-tabs span{display:inline-flex;min-width:22px;height:22px;align-items:center;justify-content:center;border-radius:999px;background:#e9f2fb;color:#0c345d}.reservation-management-list{display:grid;gap:8px}.management-reservation-row,.management-history-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #d9e3ee;border-radius:12px;background:#fff}.management-reservation-row>div,.management-history-row>div{display:flex;align-items:center;gap:12px;flex-wrap:wrap}@media(max-width:820px){.reservation-management-page{padding:10px}.reservation-management-header{flex-direction:column}.reservation-management-tabs{gap:4px}.reservation-management-tabs button{min-width:0;padding:4px;font-size:.78rem}.management-reservation-row,.management-history-row{align-items:flex-start;flex-direction:column;gap:6px}}.reservation-management-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reservation-management-overview button{display:flex;min-height:130px;flex-direction:column;align-items:flex-start;justify-content:center;gap:6px;padding:18px;border:1px solid #d9e3ee;border-radius:16px;background:#fff;color:#24415d;text-align:left}.reservation-management-overview span{font-weight:900}.reservation-management-overview strong{font-size:1.9rem;color:#0c345d}.reservation-management-overview small{color:#60758a}@media(max-width:820px){.reservation-management-overview{grid-template-columns:1fr}.reservation-management-overview button{min-height:92px}}.reservation-management-tabs{grid-template-columns:repeat(5,1fr)}.reservation-management-overview{grid-template-columns:repeat(4,minmax(0,1fr))}.reception-rules-panel{display:grid;gap:14px}.reception-rules-intro h3{margin:0 0 4px}.reception-rules-intro p{margin:0;color:#60758a}.management-inline-message{padding:9px 12px;border:1px solid #cbddec;border-radius:10px;background:#eef7ff;color:#24415d}.reception-rule-form{display:grid;grid-template-columns:1.15fr .8fr .8fr .9fr 1fr 1.3fr auto;gap:8px;align-items:end;padding:12px;border:1px solid #d9e3ee;border-radius:14px;background:#fff}.reception-rule-form label{display:grid;gap:4px}.reception-rule-form label>span{font-size:.72rem;font-weight:900;color:#526c83}.reception-rule-form input,.reception-rule-form select{width:100%;min-width:0;height:40px;border:1px solid #cbd8e6;border-radius:9px;background:#fff;padding:0 9px;color:#24415d}.reception-rule-form button{height:40px;white-space:nowrap}.reception-rule-list{display:grid;gap:8px}.reception-rule-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid #d9e3ee;border-radius:12px;background:#fff}.reception-rule-row>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.reception-rule-row span{padding:3px 7px;border-radius:999px;background:#eef4fa;color:#36536d;font-size:.78rem}.reception-rule-row small{color:#60758a}@media(max-width:1050px){.reception-rule-form{grid-template-columns:repeat(3,minmax(0,1fr))}.reception-rule-form button{align-self:end}.reservation-management-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.reservation-management-tabs{grid-template-columns:repeat(5,minmax(0,1fr))}.reservation-management-overview{grid-template-columns:1fr}.reception-rule-form{grid-template-columns:1fr 1fr}.reception-rule-reason,.reception-rule-form button{grid-column:1/-1}.reception-rule-row{align-items:flex-start;flex-direction:column}.reception-rule-row>button{align-self:flex-end}}.reception-rule-section{display:grid;gap:10px;padding:14px;border:1px solid #d9e3ee;border-radius:16px;background:#fafdff}.special-operation-section{margin-top:4px}.special-operation-form{display:grid;grid-template-columns:.8fr 1.05fr .72fr .72fr 1.15fr 1.2fr auto auto;gap:8px;align-items:end;padding:12px;border:1px solid #d9e3ee;border-radius:14px;background:#fff}.special-operation-form label{display:grid;gap:4px}.special-operation-form label>span{font-size:.72rem;font-weight:900;color:#526c83}.special-operation-form input:not([type=checkbox]),.special-operation-form select{width:100%;min-width:0;height:40px;border:1px solid #cbd8e6;border-radius:9px;background:#fff;padding:0 9px;color:#24415d}.special-operation-check{display:flex!important;min-height:40px;align-items:center;justify-content:center;grid-auto-flow:column;gap:7px;padding:0 8px;border:1px solid #cbd8e6;border-radius:9px;background:#f8fbfe}.special-operation-check input{width:18px;height:18px}.special-operation-form button{height:40px;white-space:nowrap}.special-operation-row .operation-type-badge{background:#e7f1ff;color:#0d5fb8}.special-operation-row b{font-size:.86rem;color:#24415d}@media(max-width:1150px){.special-operation-form{grid-template-columns:repeat(4,minmax(0,1fr))}.special-operation-title,.special-operation-check,.special-operation-form button{grid-column:span 2}}@media(max-width:820px){.special-operation-form{grid-template-columns:1fr 1fr}.special-operation-title,.special-operation-check,.special-operation-form button{grid-column:1/-1}.reception-rule-section{padding:10px}}.reservation-management-tabs{grid-template-columns:repeat(6,minmax(0,1fr))}.reservation-management-overview{grid-template-columns:repeat(5,minmax(0,1fr))}.management-failure-tools{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 12px;border:1px solid #d9e3ee;border-radius:12px;background:#f8fbfe}.management-failure-tools p{margin:0;color:#60758a}.management-failure-row{display:grid;gap:8px;padding:12px 14px;border:1px solid #efcfaa;border-radius:12px;background:#fffaf4}.management-failure-row>div:first-child{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.management-failure-row>div:first-child span{padding:3px 7px;border-radius:999px;background:#fff0d8;color:#7a4d12;font-size:.78rem;font-weight:900}.management-failure-row small{color:#60758a}.management-failure-row p{margin:0;color:#7a3f23}.management-failure-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;color:#60758a;font-size:.82rem}.management-failure-meta button{margin-left:auto}@media(max-width:1050px){.reservation-management-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.reservation-management-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.reservation-management-overview{grid-template-columns:1fr}.management-failure-tools{align-items:flex-start;flex-direction:column}.management-failure-meta button{margin-left:0}}.management-audit-tools{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 14px;border:1px solid #d8e1ea;border-radius:12px;background:#fff}.management-audit-tools p{margin:0;font-size:.85rem;color:#475569}.management-audit-tools select{min-width:150px;min-height:40px}.management-audit-row{display:grid;gap:8px;padding:14px 16px;border:1px solid #d8e1ea;border-radius:12px;background:#fff}.management-audit-main,.management-audit-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.management-audit-main strong{flex:1 1 260px}.management-audit-main span{font-weight:800;color:#0f766e}.management-audit-meta{font-size:.78rem;color:#64748b}.gmail-mode-banner{display:flex;align-items:center;gap:12px;margin:-2px 0 12px;padding:10px 14px;border:1px solid #cbd8e6;border-radius:12px;background:#fff;color:#24415d}.gmail-mode-banner strong{white-space:nowrap}.gmail-mode-banner span{font-size:.84rem}.gmail-mode-banner.is-test{border-color:#9dc5e8;background:#eef7ff}.gmail-mode-banner.is-live{border-color:#8bc8a9;background:#effaf4}.reception-rule-form.is-editing,.special-operation-form.is-editing{outline:2px solid #79aee0;outline-offset:2px}.reception-rule-row.is-editing{border-color:#79aee0;background:#f2f8ff}.reception-form-actions,.reception-row-actions,.management-failure-actions{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.reception-form-actions{min-width:max-content}.reception-row-actions{justify-content:flex-end}.danger-button{border-color:#e7b1b1!important;color:#a23c3c!important}.management-failure-actions{margin-left:auto}.management-failure-actions .primary-button,.management-failure-actions .secondary-button{min-height:36px}.management-failure-meta{align-items:center}@media(max-width:820px){.gmail-mode-banner{align-items:flex-start;flex-direction:column;gap:3px}.reception-form-actions{grid-column:1/-1;width:100%}.reception-form-actions button{flex:1}.reception-row-actions{align-self:stretch;width:100%}.reception-row-actions button{flex:1}.management-failure-actions{width:100%;margin-left:0}.management-failure-actions button{flex:1}}.management-audit-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.management-audit-filters input{min-width:180px;min-height:40px;border:1px solid #cbd8e6;border-radius:9px;padding:0 10px}.management-audit-detail{border-top:1px solid #e4ebf2;padding-top:8px}.management-audit-detail summary{cursor:pointer;font-size:.82rem;font-weight:900;color:#2563a8;-webkit-user-select:none;user-select:none}.management-audit-diff{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:9px}.management-audit-diff section,.management-audit-metadata{min-width:0;padding:10px;border:1px solid #e1e8ef;border-radius:10px;background:#f8fbfe}.management-audit-detail h4{margin:0 0 6px;font-size:.75rem;color:#526c83}.management-audit-detail pre{margin:0;max-height:260px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:.72rem;line-height:1.45;color:#334155}.management-audit-metadata{margin-top:10px}@media(max-width:820px){.management-audit-tools{align-items:stretch;flex-direction:column}.management-audit-filters{display:grid;grid-template-columns:1fr 1fr}.management-audit-filters input{min-width:0}.management-audit-diff{grid-template-columns:1fr}}.reservation-management-page{box-sizing:border-box}.management-hub-content .reservation-management-page{height:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding-right:3px}.reservation-management-tabs{grid-template-columns:repeat(7,minmax(0,1fr))!important;width:100%;max-width:100%;overflow:visible!important}.reservation-management-tabs button{min-width:0!important;padding:6px 4px;font-size:clamp(.66rem,.82vw,.82rem);line-height:1.15;white-space:normal;overflow-wrap:anywhere}@media(max-width:1050px){.reservation-management-tabs{gap:4px}.reservation-management-tabs button{padding:5px 2px;font-size:.67rem}}@media(max-width:820px){.reservation-management-tabs{grid-template-columns:repeat(7,minmax(0,1fr))!important;gap:2px}.reservation-management-tabs button{min-height:42px;padding:3px 1px;font-size:.6rem}.reservation-management-tabs span{min-width:18px;height:18px;font-size:.62rem}}.management-hub-content .reservation-management-page,.reservation-management-page *{box-sizing:border-box}.management-hub-content .reservation-management-page{width:100%;max-width:100%;overflow-x:hidden!important}.reservation-management-page input,.reservation-management-page select,.reservation-management-page textarea{max-width:100%;min-width:0}.customer-management-view{padding:16px;background:#f7fafc;border:1px solid #d8e3ef;border-radius:18px;min-height:0;overflow:auto}.customer-management-header{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:14px}.customer-management-header h2{margin:0}.customer-management-header p{margin:4px 0 0}.customer-search-row{display:grid;grid-template-columns:minmax(240px,1fr) auto auto;gap:10px;align-items:center;margin-bottom:12px}.customer-search-row input{min-width:0}.customer-regular-filter{display:flex;align-items:center;gap:6px;white-space:nowrap}.customer-message{padding:10px 12px;margin-bottom:10px;border-radius:10px;background:#eef6ff}.customer-management-grid{display:grid;grid-template-columns:minmax(250px,.78fr) minmax(0,1.5fr);gap:14px;min-height:520px}.customer-list-panel,.customer-detail-panel{background:#fff;border:1px solid #d8e3ef;border-radius:14px;padding:12px;min-width:0}.customer-list-heading{font-weight:800;display:flex;justify-content:space-between;margin-bottom:8px}.customer-list{display:flex;flex-direction:column;gap:7px;max-height:620px;overflow:auto}.customer-list-item{position:relative;text-align:left;border:1px solid #d8e3ef;background:#fff;border-radius:10px;padding:10px 12px;display:grid;gap:2px;color:#17263a}.customer-list-item.is-selected{box-shadow:inset 0 0 0 2px #1e78df}.customer-list-item em{position:absolute;right:8px;top:8px;font-style:normal;font-size:11px;padding:2px 6px;border-radius:999px;background:#e9f4ff;color:#0b63c7}.customer-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px}.customer-detail-grid label{display:grid;gap:5px;font-weight:700}.customer-detail-grid textarea{min-height:72px;resize:vertical}.customer-wide{grid-column:1 / -1}.customer-checkbox-field{display:flex!important;align-items:center;gap:8px!important;align-self:end;min-height:44px}.customer-detail-actions{display:flex;justify-content:flex-end;margin-top:12px}.customer-history-section{border-top:1px solid #e3ebf3;margin-top:14px;padding-top:12px}.customer-history-section h3{margin:0 0 8px}.customer-history-list{display:grid;gap:7px;max-height:300px;overflow:auto}.customer-history-item{display:grid;grid-template-columns:170px 1fr 1fr;gap:8px;align-items:center;padding:8px 10px;border:1px solid #e0e8f0;border-radius:9px}.customer-history-item small{grid-column:1 / -1;color:#586b80}.customer-empty{color:#718197;text-align:center;padding:24px 8px}@media(max-width:1100px){.customer-management-grid{grid-template-columns:1fr}.customer-list{max-height:260px}}@media(max-width:820px){.customer-management-view{padding:10px}.customer-management-header{align-items:center}.customer-management-header p{display:none}.customer-search-row{grid-template-columns:1fr auto}.customer-regular-filter{grid-column:1 / 2}.customer-detail-grid{grid-template-columns:1fr}.customer-wide{grid-column:auto}.customer-history-item{grid-template-columns:1fr 1fr}}.customer-search-row{grid-template-columns:minmax(240px,1fr) auto 150px auto}.customer-sort{min-height:40px}.customer-summary-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}.customer-summary-row>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 13px;border:1px solid #d8e3ef;border-radius:12px;background:#fff}.customer-summary-row span{font-size:.78rem;color:#64748b;font-weight:800}.customer-summary-row strong{font-size:1.3rem;color:#0c345d}.customer-list-badges{position:absolute;right:8px;top:8px;display:flex;gap:4px}.customer-list-item em{position:static}.customer-list-item .caution-badge{background:#fff0dc;color:#995b12}.customer-list-item.has-caution{border-color:#e7c38f}@media(max-width:820px){.customer-search-row{grid-template-columns:1fr auto}.customer-sort{grid-column:1/2}.customer-summary-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.customer-summary-row>div{align-items:flex-start;flex-direction:column;gap:2px;padding:8px}.customer-summary-row span{font-size:.68rem}.customer-summary-row strong{font-size:1.05rem}}.management-hub-content .customer-management-view{height:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.customer-history-equipment{font-size:12px;font-weight:700;color:#4d6875}.customer-summary-row{flex-wrap:wrap}.settings-page{box-sizing:border-box;max-height:calc(100dvh - 132px - env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:20px;padding-bottom:max(20px,env(safe-area-inset-bottom,0px));border:1px solid #d9e3ee;border-radius:20px;background:#f7fafc;box-shadow:0 12px 30px #1d375a12}.settings-page-header{position:sticky;top:0;z-index:20;display:grid;grid-template-columns:auto minmax(180px,1fr) auto;align-items:center;gap:14px;margin:-20px -20px 16px;padding:12px 20px;border-bottom:1px solid #d9e3ee;background:#f7fafcf7;box-shadow:0 6px 16px #1d375a14;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.settings-page-title{min-width:max-content}.settings-page-header h2{margin:2px 0 0}.settings-header-message{min-width:0;padding:7px 10px;border-radius:9px;color:#1f5f3d;background:#e8f7ef;font-size:.86rem;font-weight:800;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-header-message:has(span:only-child){background:transparent}.settings-header-actions{display:flex;align-items:center;gap:8px}.settings-header-actions .primary-button,.settings-header-actions .secondary-button{white-space:nowrap}.settings-header-actions .primary-button{min-width:150px}.settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.settings-card{min-width:0;padding:16px;border:1px solid #d9e3ee;border-radius:16px;background:#fff}.settings-card h3{margin:0 0 14px}.settings-card label{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(0,1fr);align-items:center;gap:12px;min-width:0;margin-top:10px;font-weight:800}.settings-card label>span{min-width:0}.settings-card input,.settings-card select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;min-height:42px;padding:8px 10px;border:1px solid #cbd8e6;border-radius:10px;background:#fff;font:inherit}.settings-field-cutoff{grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important}.settings-field-cutoff>span{white-space:normal;overflow-wrap:anywhere}.settings-cutoff-control{box-sizing:border-box;width:100%;max-width:220px;min-width:0;overflow:hidden}.settings-cutoff-control input[type=time]{display:block;box-sizing:border-box;inline-size:100%;width:100%;max-inline-size:100%;max-width:100%;min-inline-size:0;min-width:0;-webkit-appearance:none;-moz-appearance:none;appearance:none}.settings-number-row{display:flex;align-items:center;gap:8px;min-width:0}.settings-number-row input{flex:1 1 auto}.settings-number-row small{flex:0 0 auto;white-space:nowrap}.settings-note{margin:10px 0 0;color:#60758a;font-size:.82rem}.settings-status-line{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding-top:10px;border-top:1px solid #e8eef5}@media(max-width:820px){.settings-page{max-height:calc(100dvh - 160px - env(safe-area-inset-bottom,0px));padding:12px;padding-bottom:max(12px,env(safe-area-inset-bottom,0px));border-radius:14px}.settings-page-header{grid-template-columns:auto minmax(0,1fr) auto}.settings-grid{grid-template-columns:1fr;gap:10px}.settings-card{padding:12px}.settings-card label{grid-template-columns:minmax(0,1fr) minmax(130px,.9fr);gap:8px}.settings-field-cutoff{grid-template-columns:minmax(0,1fr)!important}.settings-cutoff-control{max-width:200px}}@media(max-width:520px){.settings-page{max-height:calc(100dvh - 150px - env(safe-area-inset-bottom,0px))}.settings-page-header{gap:8px}.settings-header-actions .primary-button,.settings-header-actions .secondary-button{min-height:36px;padding:7px 10px;font-size:.82rem}.settings-card label{grid-template-columns:minmax(0,1fr) minmax(118px,.82fr)}.settings-field-cutoff{grid-template-columns:minmax(0,1fr)!important}.settings-cutoff-control{max-width:200px}.settings-cutoff-control input[type=time]{width:100%;font-size:16px}}.settings-hours-card{grid-column:1 / -1}.settings-hours-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.settings-hours-row{display:grid;grid-template-columns:30px minmax(110px,1fr) 22px minmax(110px,1fr);align-items:center;gap:8px;min-width:0;padding:10px 12px;border:1px solid #d9e3ee;border-radius:10px;background:#fbfdff}.settings-hours-row strong{color:#24415d;text-align:center}.settings-hours-row>span{text-align:center;color:#60758a;font-weight:800}.settings-hours-row input[type=time]{display:block;box-sizing:border-box;width:100%;min-width:110px;height:40px;padding:6px 8px;font-size:16px}.settings-admin-hours{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}.settings-admin-hours label{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:10px}@media(max-width:900px){.settings-hours-grid{grid-template-columns:1fr}}@media(max-width:700px){.settings-admin-hours{grid-template-columns:1fr}.settings-admin-hours label{grid-template-columns:minmax(0,1fr) 140px}}@media(hover:none)and (pointer:coarse)and (min-width:821px){.settings-page{max-height:calc(100dvh - 126px - env(safe-area-inset-bottom,0px));padding-top:16px}.settings-page-header{top:0;grid-template-columns:auto minmax(180px,1fr) auto;margin:-16px -20px 16px;padding:10px 20px}.settings-page-title .section-label{margin-bottom:0}.settings-page-title h2{font-size:1.25rem}.settings-header-message{font-size:.82rem}.settings-header-actions{gap:8px}.settings-header-actions .primary-button{min-width:140px}.settings-hours-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-hours-row{grid-template-columns:38px minmax(0,1fr) 24px minmax(0,1fr)}.settings-hours-row input[type=time]{min-width:0}}@media(hover:none)and (pointer:coarse)and (min-width:821px){.settings-hours-card{overflow:visible}.settings-hours-grid{grid-template-columns:minmax(0,1fr);gap:8px;width:100%}.settings-hours-row{box-sizing:border-box;width:100%;grid-template-columns:44px minmax(0,1fr) 28px minmax(0,1fr);gap:10px;padding:8px 12px;overflow:hidden}.settings-hours-row strong,.settings-hours-row>span{min-width:0;white-space:nowrap}.settings-hours-row input[type=time]{display:block;box-sizing:border-box;inline-size:100%;width:100%;min-inline-size:0;min-width:0;max-inline-size:100%;max-width:100%;height:42px;padding:6px 10px;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.settings-admin-hours{grid-template-columns:minmax(0,1fr);gap:8px}.settings-admin-hours label{grid-template-columns:minmax(180px,1fr) minmax(180px,260px);gap:12px}.settings-admin-hours input[type=time]{inline-size:100%;width:100%;min-inline-size:0;min-width:0;max-width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none}}@media(hover:none)and (pointer:coarse)and (min-width:821px){.settings-hours-card{grid-column:auto;align-self:start}}.settings-layout-management{grid-column:1 / -1;margin-top:14px;padding:14px;border:1px solid #d6e2ef;border-radius:16px;background:#fff}.settings-layout-heading h3{margin:0 0 4px}.settings-layout-heading p{margin:0 0 10px;color:#60758b}.settings-layout-management .layout-management-view{border:0;padding:0;background:transparent}.settings-page{display:flex;min-height:0;flex-direction:column;overflow:hidden}.settings-page-header{flex:0 0 auto}.settings-workspace{display:grid;min-height:0;flex:1 1 auto;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;overflow:hidden}.settings-index,.settings-detail{min-width:0;min-height:0;border:1px solid #d9e3ee;border-radius:16px;background:#fff}.settings-index{display:flex;flex-direction:column;padding:14px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.settings-index-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid #e5edf5}.settings-index-heading>span{color:#60758a;font-size:.76rem;font-weight:900;letter-spacing:.05em}.settings-index-heading>strong{color:#0b3158;font-size:.9rem}.settings-index-list{display:grid;gap:8px}.settings-index-list>button{display:grid;width:100%;grid-template-columns:42px minmax(0,1fr);align-items:center;gap:10px;padding:12px;border:1px solid #d5e1ee;border-radius:12px;background:#fbfdff;color:#24415d;text-align:left;cursor:pointer}.settings-index-list>button:hover{border-color:#8ab8e6;background:#f1f7fd}.settings-index-list>button.is-active{border-color:#1479e8;background:#eaf4ff;box-shadow:inset 4px 0 #1479e8}.settings-index-number{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:10px;background:#eef4fa;color:#0b3158;font-size:.76rem;font-weight:900}.settings-index-list button.is-active .settings-index-number{background:#1479e8;color:#fff}.settings-index-list button>span:last-child{display:grid;min-width:0;gap:2px}.settings-index-list button strong{font-size:.93rem}.settings-index-list button small{overflow:hidden;color:#6b7f92;font-size:.73rem;text-overflow:ellipsis;white-space:nowrap}.settings-index-current-operator{display:grid;gap:4px;margin-top:auto;padding:12px;border:1px solid #b9d7f4;border-radius:12px;background:#eef7ff}.settings-index-current-operator span,.settings-index-current-operator small{color:#60758a;font-size:.75rem}.settings-index-current-operator strong{color:#0b3158;font-size:1.05rem}.settings-detail{padding:14px;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.settings-detail form{margin:0}.settings-detail .settings-card-single,.settings-detail .settings-hours-card,.settings-detail .settings-layout-management{width:100%;margin:0;box-sizing:border-box}.settings-detail .settings-hours-grid,.settings-detail .settings-admin-hours{grid-template-columns:minmax(0,1fr)}.settings-detail .settings-admin-hours label{grid-template-columns:minmax(0,1fr) minmax(130px,180px)}.settings-layout-management{padding:14px}.settings-layout-management .layout-editor-shell{grid-template-columns:minmax(0,1fr)}.settings-layout-management .layout-profile-list{display:none}.settings-layout-management .layout-edit-grid{grid-template-columns:repeat(6,minmax(66px,1fr));overflow-x:auto}.operator-management-card{display:grid;gap:12px}.operator-management-list{display:grid;gap:8px}.operator-management-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:9px;border:1px solid #d9e3ee;border-radius:11px;background:#fbfdff}.operator-management-row.is-active{border-color:#1479e8;background:#eef7ff}.operator-order{display:inline-flex;width:30px;height:30px;align-items:center;justify-content:center;border-radius:9px;background:#e8eef5;color:#24415d;font-size:.76rem;font-weight:900}.operator-management-row input,.operator-add-row input{box-sizing:border-box;width:100%;min-width:0;min-height:40px;padding:8px 10px;border:1px solid #cbd8e6;border-radius:9px;background:#fff;font:inherit}.operator-active-badge,.operator-inactive-label{display:inline-flex;min-height:28px;align-items:center;padding:4px 8px;border-radius:999px;font-size:.7rem;font-weight:900;white-space:nowrap}.operator-active-badge{background:#1479e8;color:#fff}.operator-inactive-label{background:#edf2f7;color:#60758a}.operator-row-actions{display:flex;align-items:center;gap:5px}.operator-row-actions .secondary-button,.operator-row-actions .danger-button{min-width:34px;min-height:34px;padding:5px 8px}.operator-add-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;padding-top:12px;border-top:1px solid #e5edf5}.operator-selection-rule{margin:0;padding:10px 12px;border:1px solid #f0c36b;border-radius:10px;background:#fff8df;color:#6d4d00;font-size:.78rem;font-weight:800}@media(hover:none)and (pointer:coarse)and (min-width:821px){.settings-page{padding:14px}.settings-page-header{margin:-14px -14px 12px;padding:9px 14px}.settings-workspace{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:10px}.settings-index,.settings-detail{border-radius:12px}.settings-index,.settings-detail{padding:10px}.settings-index-list{gap:6px}.settings-index-list>button{grid-template-columns:36px minmax(0,1fr);padding:9px}.settings-index-number{width:30px;height:30px}.operator-management-row{grid-template-columns:30px minmax(0,1fr) auto}.operator-management-row .operator-row-actions{grid-column:2 / -1;justify-content:flex-end}}@media(max-width:700px){.settings-workspace{grid-template-columns:minmax(0,1fr);overflow:visible}.settings-page{overflow-y:auto}.settings-index,.settings-detail{overflow:visible}}.child-equipment-settings-list{display:grid;gap:10px;margin-top:12px}.child-equipment-settings-row{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(90px,.55fr) minmax(130px,.8fr) minmax(130px,.8fr);gap:8px;padding:10px;border:1px solid #d9e3ee;border-radius:12px;background:#fbfdff}.child-equipment-settings-row label{display:grid!important;grid-template-columns:1fr!important;align-items:stretch!important;gap:5px!important;margin:0!important}.child-equipment-settings-row label>span{font-size:.72rem;color:#526c83}.settings-page.is-embedded{height:100%;max-height:100%;border-radius:12px;box-shadow:none}.settings-page.is-embedded .settings-page-header{top:0}.equipment-age-range{color:#64748b;font-size:.68rem;font-weight:700;white-space:nowrap}@media(max-width:1050px){.child-equipment-settings-row{grid-template-columns:1fr 1fr}.child-equipment-settings-row label:first-child{grid-column:1/-1}}@media(max-width:820px){.child-equipment-settings-row{grid-template-columns:1fr 1fr}.settings-page.is-embedded{max-height:none;height:auto;min-height:100%}}.operator-management-row{grid-template-columns:34px minmax(0,1fr) minmax(110px,140px) auto auto}.operator-role-field{display:grid;gap:4px;min-width:0;margin:0;font-size:.7rem;font-weight:900;color:#526c83}.operator-role-field select{width:100%;min-width:0;min-height:38px;padding:6px 8px;border:1px solid #cbd8e6;border-radius:9px;background:#fff;color:#24415d;font:inherit}.child-equipment-settings-row{width:100%;max-width:100%;box-sizing:border-box;grid-template-columns:repeat(2,minmax(0,1fr))}.child-equipment-settings-row label,.child-equipment-settings-row input,.child-equipment-settings-row .settings-number-row{min-width:0;max-width:100%;box-sizing:border-box}.child-equipment-settings-row label:first-child{grid-column:1 / -1}.child-equipment-settings-row input{width:100%}@media(hover:none)and (pointer:coarse)and (min-width:821px){.operator-management-row{grid-template-columns:30px minmax(0,1fr) minmax(100px,125px) auto}.operator-management-row .operator-row-actions{grid-column:2 / -1}.child-equipment-settings-row{grid-template-columns:repeat(2,minmax(0,1fr))}}.settings-hours-row{grid-template-columns:42px minmax(108px,130px) minmax(110px,1fr) 24px minmax(110px,1fr)}.settings-hours-row.is-closed{opacity:.68}.settings-hours-row.is-closed input[type=time]{background:#eef1f4}.settings-business-day-select{min-width:108px}.system-operations-block{display:grid;gap:10px;margin-top:14px}.settings-operation-message{font-weight:700}.settings-version-card{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:baseline;padding:12px 14px;border:1px solid #dbe2e8;border-radius:12px;background:#f8fafb}.settings-version-card strong{font-size:18px}.settings-version-card span{font-weight:700}.settings-version-card small{width:100%;color:#62707c}.settings-backup-list{display:grid;gap:8px;max-height:330px;overflow:auto}.settings-backup-row{display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid #e0e6eb;border-radius:10px;padding:10px 12px}.settings-backup-row>div{min-width:0;display:grid;gap:3px}.settings-backup-row strong{overflow-wrap:anywhere}.settings-backup-row small{color:#65727d}.settings-release-notes{border:1px solid #dfe5ea;border-radius:10px;padding:10px 12px}.settings-release-notes summary{cursor:pointer;font-weight:800}.settings-release-notes section{border-top:1px solid #e7ebef;padding-top:10px;margin-top:10px}.settings-release-notes h4{margin:0 0 4px}.settings-release-notes ul{margin:6px 0 0;padding-left:20px}.settings-divider{border:0;border-top:1px solid #dfe5ea;width:100%;margin:12px 0}.reservation-no-show-button{border-color:#8b5e52}.settings-service-periods{display:grid;gap:8px;margin-top:14px;padding:12px;border:1px solid #d9e3ee;border-radius:12px;background:#f8fbfe}.settings-service-periods-heading{display:flex;align-items:baseline;gap:10px;margin-bottom:2px}.settings-service-periods-heading strong{color:#24415d}.settings-service-periods-heading small{color:#60758a;font-weight:700}.settings-service-period-row{display:grid;grid-template-columns:minmax(130px,.8fr) minmax(120px,1fr) 24px minmax(120px,1fr);align-items:center;gap:8px}.settings-service-period-row>strong{color:#24415d}.settings-service-period-row>span{text-align:center;color:#60758a;font-weight:800}.settings-service-period-row input[type=time]{width:100%;min-width:0;font-size:16px}@media(max-width:700px){.settings-service-period-row{grid-template-columns:minmax(110px,.8fr) minmax(0,1fr) 18px minmax(0,1fr)}.settings-service-periods-heading{display:grid;gap:2px}}.settings-pin-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(140px,.7fr) minmax(140px,.7fr) auto;gap:10px;align-items:end;padding:12px;border:1px solid #d7e1ea;border-radius:12px;background:#f8fbfd}.settings-pin-card>div{align-self:center}.settings-pin-card strong{display:block;margin-bottom:3px}.settings-pin-card .settings-note{margin:0}.settings-pin-card label{display:grid!important;grid-template-columns:1fr!important;gap:4px!important;margin:0!important}.settings-pin-card label>span{font-size:.72rem;color:#526c83}.settings-pin-card button{min-height:40px;white-space:nowrap}@media(max-width:1100px){.settings-pin-card{grid-template-columns:1fr 1fr}.settings-pin-card>div{grid-column:1/-1}}@media(max-width:700px){.settings-pin-card{grid-template-columns:1fr}.settings-pin-card>div{grid-column:auto}}.settings-current-role{display:inline-flex;width:fit-content;align-items:center;min-height:26px;margin-top:5px;padding:3px 9px;border-radius:999px;font-size:.72rem;font-weight:900}.settings-current-role.is-admin{color:#155e75;background:#cffafe;border:1px solid #67e8f9}.settings-current-role.is-general{color:#475569;background:#f1f5f9;border:1px solid #cbd5e1}.operator-management-row{grid-template-columns:34px minmax(0,1fr) auto!important;grid-template-areas:"order fields status" "order actions actions";align-items:center}.operator-management-row .operator-order{grid-area:order;align-self:start;margin-top:22px}.operator-main-fields{grid-area:fields;display:grid;grid-template-columns:minmax(0,1fr) minmax(118px,150px);gap:8px;min-width:0}.operator-field,.settings-card .operator-field{display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-items:stretch!important;gap:4px!important;min-width:0;margin:0!important;color:#526c83;font-size:.7rem;font-weight:900}.operator-field>span{display:block;min-height:16px;color:#526c83;font-size:.7rem;font-weight:900;line-height:1.2}.operator-field input,.operator-role-field select{display:block;width:100%;min-width:0;min-height:40px}.operator-management-row .operator-active-badge,.operator-management-row .operator-inactive-label{grid-area:status;align-self:end;margin-bottom:6px}.operator-management-row .operator-row-actions{grid-area:actions!important;grid-column:auto!important;justify-self:end;justify-content:flex-end;margin-top:2px}@media(max-width:1100px){.operator-management-row{grid-template-columns:30px minmax(0,1fr)!important;grid-template-areas:"order fields" "order status" "order actions"}.operator-main-fields{grid-template-columns:minmax(0,1fr) minmax(112px,140px)}.operator-management-row .operator-active-badge,.operator-management-row .operator-inactive-label{justify-self:start;margin:2px 0 0}.operator-management-row .operator-row-actions{justify-self:end}}@media(max-width:700px){.operator-main-fields{grid-template-columns:minmax(0,1fr)}.operator-management-row .operator-order{margin-top:20px}}.settings-top-message{margin:0 0 10px;padding:9px 12px;border:1px solid #c9d8e6;border-radius:9px;background:#eef5fb;color:#173a57;font-weight:800}.settings-standalone-actions{display:flex;justify-content:flex-end;margin-bottom:10px}.settings-index-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px;min-height:0}.settings-major-list{display:grid;align-content:start;gap:7px;min-width:0;padding-right:8px;border-right:1px solid #e5edf5}.settings-major-list>button{min-height:52px;padding:9px 8px;border:1px solid #d5e1ee;border-radius:11px;background:#f8fbfe;color:#24415d;font-weight:900;line-height:1.25;text-align:left;cursor:pointer;writing-mode:horizontal-tb}.settings-major-list>button.is-active{border-color:#0c4f8a;background:#0c4f8a;color:#fff}.settings-minor-list{align-content:start;min-width:0}.settings-minor-list>button{grid-template-columns:34px minmax(0,1fr);padding:9px}.settings-minor-list .settings-index-number{width:28px;height:28px}.settings-index-current-operator{display:none!important}.settings-card h3,.settings-pin-card strong,.audit-log-heading h3{writing-mode:horizontal-tb!important;text-orientation:mixed!important;white-space:nowrap;word-break:keep-all}.settings-pin-card>div{min-width:0}@media(max-width:1100px){.settings-index-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.settings-major-list>button{font-size:.78rem;padding:8px 6px}.settings-minor-list>button small{white-space:normal;line-height:1.25}}@media(max-width:700px){.settings-index-split{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}.settings-period-select-row{grid-template-columns:42px minmax(92px,118px) minmax(0,1fr) minmax(112px,auto)!important}.settings-period-choice-list{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));gap:6px;min-width:0}.settings-period-choice-list button{min-width:0;min-height:38px;padding:5px 7px;border:1px solid #cbd8e6;border-radius:9px;background:#fff;color:#526c83;font-weight:800;cursor:pointer;white-space:nowrap}.settings-period-choice-list button.is-selected{border-color:#1479e8;background:#eaf4ff;color:#0b5dab;box-shadow:inset 0 0 0 1px #1479e8}.settings-period-choice-list button:disabled{opacity:.42;cursor:not-allowed;background:#eef1f4}.settings-derived-hours{color:#526c83;font-size:.74rem;font-weight:900;white-space:nowrap;text-align:right}.settings-service-periods-standalone{margin-top:4px}.settings-service-period-row{grid-template-columns:minmax(110px,.7fr) minmax(110px,1fr) 24px minmax(110px,1fr) minmax(82px,auto)!important}.settings-service-period-row.is-unused{opacity:.7;background:#eef1f4}.settings-service-period-row.is-unused input{background:#e5e9ed}.period-unused-button,.period-enable-button{min-height:40px;padding:6px 10px;border-radius:9px;font-weight:900;white-space:nowrap;cursor:pointer}.period-unused-button{border:1px solid #d27a7a;background:#fff4f4;color:#9f2f2f}.period-enable-button{border:1px solid #6ea7d8;background:#eef7ff;color:#155f9b}.settings-pin-card>div{grid-column:1/-1!important;width:100%}.settings-pin-card .settings-note{writing-mode:horizontal-tb!important;text-orientation:mixed!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere;width:100%}@media(max-width:1050px){.settings-period-select-row{grid-template-columns:42px minmax(92px,110px) minmax(0,1fr)!important}.settings-derived-hours{grid-column:2/-1;text-align:left}}@media(max-width:700px){.settings-period-choice-list{grid-template-columns:repeat(2,minmax(70px,1fr))}.settings-service-period-row{grid-template-columns:minmax(92px,1fr) minmax(0,1fr) 18px minmax(0,1fr)!important}.settings-service-period-row>button{grid-column:2/-1;justify-self:end}}.settings-connected-sites{display:flex;flex-wrap:wrap;align-items:center;gap:7px;margin:4px 0 12px;padding:10px 12px;border:1px solid #d9e3ee;border-radius:10px;background:#f8fbfe}.settings-connected-sites strong{margin-right:4px;color:#24415d}.settings-connected-sites span{padding:4px 8px;border-radius:999px;background:#e8f2fb;color:#195b91;font-size:.76rem;font-weight:900}.settings-holiday-row{border-style:dashed}.settings-holiday-row>strong{color:#c62828}.settings-pin-card .settings-note{writing-mode:horizontal-tb!important;text-orientation:mixed!important;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere!important}@media(hover:none)and (pointer:coarse)and (min-width:821px)and (max-width:1366px){.settings-period-select-row{grid-template-columns:38px minmax(78px,96px) minmax(0,1fr)!important;gap:6px!important;overflow:visible!important}.settings-period-choice-list{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:5px!important}.settings-period-choice-list button{padding:5px 4px!important;font-size:.76rem!important;white-space:normal!important}.settings-derived-hours{grid-column:2/-1!important;text-align:left!important;white-space:normal!important}.settings-service-period-row{grid-template-columns:minmax(76px,90px) minmax(0,1fr) 16px minmax(0,1fr)!important;gap:6px!important}.settings-service-period-row>button{grid-column:2/-1!important;justify-self:end!important;min-height:34px!important;padding:4px 8px!important}.settings-service-period-row input[type=time]{min-width:0!important;width:100%!important;padding:5px 4px!important;font-size:16px!important}}.audit-log-panel{min-width:0}.audit-log-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}.audit-log-heading h3{margin:0}.audit-log-filters{display:flex;gap:8px;min-width:min(100%,420px)}.audit-log-filters input,.audit-log-filters select{min-width:0;min-height:40px;border:1px solid #cbd8e6;border-radius:9px;padding:7px 10px;background:#fff}.audit-log-filters input{flex:1 1 220px}.audit-log-list{display:grid;gap:9px;margin-top:12px}.audit-log-row{padding:11px;border:1px solid #d7e2ed;border-radius:11px;background:#fbfdff}.audit-log-main,.audit-log-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.audit-log-main{justify-content:space-between}.audit-log-main strong{color:#173b5f}.audit-log-main>span{padding:3px 8px;border-radius:999px;background:#eaf4ff;color:#0b5fa9;font-size:.76rem;font-weight:900}.audit-log-meta{margin-top:6px;color:#64788b;font-size:.72rem}.audit-log-meta time{margin-left:auto}.audit-log-detail{margin-top:8px}.audit-log-detail summary{cursor:pointer;color:#0b5fa9;font-weight:800}.audit-log-diff{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}.audit-log-diff section,.audit-log-metadata{min-width:0;padding:8px;border-radius:9px;background:#f3f7fb}.audit-log-diff h4,.audit-log-metadata h4{margin:0 0 5px}.audit-log-diff pre,.audit-log-metadata pre{margin:0;max-height:260px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:.7rem}.audit-log-metadata{margin-top:8px}@media(max-width:900px){.audit-log-heading{align-items:stretch;flex-direction:column}.audit-log-filters{width:100%;min-width:0}.audit-log-diff{grid-template-columns:1fr}.audit-log-meta time{width:100%;margin-left:0}}.analytics-view{min-height:0;flex:1;overflow:auto;padding:18px 22px 28px;background:#f4f7fa}.analytics-header{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;gap:16px;margin:-18px -22px 16px;padding:14px 22px;background:#f4f7faf7;border-bottom:1px solid #d7e0e8}.analytics-header h2{margin:0;font-size:23px;color:#14283a}.analytics-eyebrow{margin:0 0 2px;font-size:11px;color:#6b7c8d;letter-spacing:.08em;text-transform:uppercase}.analytics-header-actions{display:flex;gap:8px}.analytics-filter{display:flex;align-items:end;gap:10px;flex-wrap:wrap;padding:12px;margin-bottom:14px;background:#fff;border:1px solid #d8e1e9;border-radius:10px}.analytics-filter label{display:grid;gap:4px;font-size:12px;font-weight:700;color:#485d70}.analytics-filter input{min-height:36px;padding:5px 8px;border:1px solid #bcc9d5;border-radius:7px;background:#fff}.analytics-presets{display:flex;gap:6px;margin-right:8px}.analytics-presets button{min-height:36px;padding:0 12px;border:1px solid #bcc9d5;border-radius:7px;background:#fff;font-weight:700;color:#29465f}.analytics-metrics{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:10px;margin-bottom:14px}.analytics-metric{background:#fff;border:1px solid #d8e1e9;border-radius:10px;padding:12px 14px;box-shadow:0 2px 6px #1e384e0d}.analytics-metric span{display:block;color:#607487;font-size:12px;font-weight:700}.analytics-metric strong{display:block;margin-top:3px;color:#152c40;font-size:24px}.analytics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.analytics-panel{min-width:0;margin-bottom:12px;padding:12px;background:#fff;border:1px solid #d8e1e9;border-radius:10px}.analytics-panel h3{margin:0 0 8px;color:#203b53;font-size:15px}.analytics-table-wrap{overflow-x:auto}.analytics-table{width:100%;border-collapse:collapse;font-size:12px}.analytics-table th,.analytics-table td{padding:7px 8px;border-bottom:1px solid #e3e9ef;text-align:left;white-space:nowrap}.analytics-table th{color:#52687b;background:#f6f8fa;font-size:11px}.analytics-table th:nth-child(2),.analytics-table th:nth-child(3),.analytics-table td:nth-child(2),.analytics-table td:nth-child(3){text-align:right;width:58px}.analytics-bar-cell{width:34%}.analytics-bar{display:block;height:9px;border-radius:999px;background:#5f8fb7;min-width:4px}.analytics-empty,.analytics-loading{padding:24px;text-align:center!important;color:#758697}.analytics-error{margin-bottom:12px;padding:10px 12px;border-radius:8px;background:#fff0f0;color:#a33a3a;border:1px solid #efcaca}@media(max-width:1100px){.analytics-view{padding:12px 14px 22px}.analytics-header{margin:-12px -14px 12px;padding:10px 14px}.analytics-metrics{grid-template-columns:repeat(2,minmax(120px,1fr))}.analytics-grid{grid-template-columns:1fr}}.analytics-equipment-summary{display:flex;flex-wrap:wrap;gap:8px 16px;margin:-2px 0 14px;padding:10px 12px;background:#fff;border:1px solid #d8e1e9;border-radius:10px;color:#607487;font-size:12px}.analytics-equipment-summary strong{color:#203b53;margin-left:4px}.management-hub-content .analytics-view{height:100%;max-height:100%;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.analytics-sales-table th:nth-child(2),.analytics-sales-table td:nth-child(2),.analytics-sales-table th:nth-child(3),.analytics-sales-table td:nth-child(3){text-align:right;width:auto}.management-hub{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;gap:10px;padding:12px;border:1px solid #d7e1ec;border-radius:16px;background:#f7fafc;overflow:hidden}.management-hub-header{display:flex;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px}.management-hub-header h2{margin:2px 0 0}.management-hub-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;flex:0 0 auto}.management-hub-tabs button{min-height:40px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#334155;font-weight:900;cursor:pointer}.management-hub-tabs button.is-active{border-color:#0c4f8a;background:#0c4f8a;color:#fff}.management-hub-content{min-height:0;flex:1 1 auto;overflow:hidden}.management-hub-content>.reservation-management-page,.management-hub-content>.customer-management-view,.management-hub-content>.settings-page,.management-hub-content>.analytics-view{height:100%;max-height:100%;box-sizing:border-box}@media(max-width:820px){.management-hub{padding:8px}.management-hub-header{display:none}.management-hub-tabs{gap:4px}.management-hub-tabs button{min-height:34px;padding:0 4px;font-size:.68rem}.management-hub-content{overflow:auto;-webkit-overflow-scrolling:touch}}.management-hub.is-calendar,.management-hub.is-calendar .management-hub-content{flex:0 0 auto;min-height:auto;overflow:visible}.management-hub.is-calendar .calendar-view{min-height:auto;overflow:visible}.management-hub-tabs button{white-space:nowrap}.management-hub-tabs button.is-active:last-child{border-color:#b91c1c;background:#b91c1c;color:#fff}.management-hub-tabs button.is-active:last-child:hover{border-color:#991b1b;background:#991b1b}.offline-banner{position:fixed;left:50%;top:8px;transform:translate(-50%);z-index:5000;width:min(920px,calc(100% - 24px));padding:10px 14px;border-radius:10px;background:#fff3cd;border:1px solid #f2b705;color:#5f4300;font-weight:800;text-align:center;box-shadow:0 8px 22px #0000001f}.app-login-shell{min-height:100dvh;display:grid;place-items:center;padding:24px;background:#f4f7fb}.app-login-card{width:min(420px,100%);display:grid;gap:16px;padding:28px;border-radius:18px;background:#fff;box-shadow:0 18px 50px #0f172a24}.app-login-brand{font-weight:800;letter-spacing:.04em}.app-login-card h1{margin:0;font-size:1.6rem}.app-login-description{margin:0;color:#475569}.app-login-card label{display:grid;gap:7px;font-weight:700}.app-login-card input{min-height:46px;padding:10px 12px;border:1px solid #cbd5e1;border-radius:10px;font-size:16px}.app-login-card button{min-height:48px;border:0;border-radius:10px;background:#0f172a;color:#fff;font-size:16px;font-weight:800}.app-login-card button:disabled{opacity:.55}.app-login-error{padding:10px 12px;border-radius:10px;background:#fee2e2;color:#991b1b;font-weight:700}*{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#172033;background:#f4f7fb;font-synthesis:none;text-rendering:optimizeLegibility}body{margin:0;min-width:320px;min-height:100vh;overscroll-behavior-y:contain;background:radial-gradient(circle at top left,#e8f4ff 0,transparent 32%),#f4f7fb;-webkit-overflow-scrolling:touch}button,input,select,textarea{font:inherit;touch-action:manipulation}button{border:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button:disabled{cursor:not-allowed}.page{width:min(1180px,calc(100% - 32px));margin:0 auto;padding:48px 0 80px}.page-header{margin-bottom:32px;text-align:center}.page-header h1{margin:4px 0 8px;font-size:clamp(2rem,5vw,3.25rem);line-height:1;letter-spacing:-.04em}.eyebrow,.section-label{margin:0;color:#1473e6;font-size:.76rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.page-description{margin:0;color:#687389}.message{margin:0 auto 24px;padding:14px 18px;border:1px solid #b7ddc7;border-radius:12px;background:#ebfff3;color:#17643a;font-weight:700;text-align:center}.message-error{border-color:#f2b8b8;background:#fff0f0;color:#b42318}.message-success{border-color:#b7ddc7;background:#ebfff3;color:#17643a}.seat-section,.seat-detail,.reservation-form-card,.reservation-list-section{border:1px solid #dfe6ef;border-radius:20px;background:#fffffff0;box-shadow:0 18px 45px #1d375a14}.seat-section,.reservation-list-section{padding:28px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:24px}.section-heading h2,.seat-detail h2,.reservation-form-card h2{margin:4px 0 0}.empty-state{padding:38px 20px;border:1px dashed #cbd5e1;border-radius:14px;color:#788397;text-align:center}.app-page{width:calc(100% - 16px);max-width:none;margin:0 auto;padding:8px 0 32px}.app-operation-workspace{display:grid;grid-template-columns:minmax(0,2.1fr) minmax(320px,.9fr);align-items:start;gap:14px;margin-top:14px}.app-seat-column,.app-reservation-column{min-width:0;overflow:hidden;border:1px solid #dfe6ef;border-radius:20px;background:#fffffff5;box-shadow:0 12px 32px #1d375a14}.app-seat-column,.app-reservation-column{padding:18px}.app-panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.app-panel-heading h2{margin:4px 0 0;font-size:1.3rem}.seat-status-legend{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-end;gap:8px 12px}.seat-status-legend span{display:inline-flex;align-items:center;gap:5px;color:#526078;font-size:.76rem;font-weight:800;white-space:nowrap}.legend-dot{display:inline-block;width:10px;height:10px;flex-shrink:0;border-radius:50%}.legend-empty{background:#20bf6b}.legend-reserved{background:#f59e0b}.legend-occupied{background:#ef4444}.legend-connected{background:#1769d2}.app-seat-layout-area{min-width:0}.app-seat-column .seat-section{padding:0;overflow:visible;border:0;border-radius:0;background:transparent;box-shadow:none}.app-reservation-list-area{max-height:calc(100vh - 245px);min-height:480px;overflow-y:auto;overscroll-behavior:contain;padding-right:3px}.app-reservation-column .reservation-list-section{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.app-reservation-column .reservation-list-section>.section-heading{display:none}.app-reservation-column .reservation-count{display:inline-flex;align-items:center;justify-content:center;min-width:48px;padding:6px 10px;border-radius:999px;background:#eaf2ff;color:#1769d2;font-size:.78rem;font-weight:900}.app-seat-column .seat-detail{margin-top:14px}@media(min-width:900px)and (max-width:1400px){.app-operation-workspace{grid-template-columns:minmax(0,2.15fr) minmax(300px,.85fr);gap:10px}.app-seat-column,.app-reservation-column{padding:14px}.app-panel-heading{margin-bottom:10px}.app-panel-heading h2{font-size:1.15rem}.seat-status-legend{gap:6px 9px}.seat-status-legend span{font-size:.68rem}.app-reservation-list-area{max-height:calc(100vh - 215px);min-height:500px}}@media(max-width:899px){.app-operation-workspace{grid-template-columns:1fr}.app-reservation-list-area{max-height:none;min-height:0;overflow:visible}}.primary-button,.secondary-button{min-height:48px;padding:0 20px;border-radius:10px;font-size:.95rem;font-weight:800;line-height:1.2;cursor:pointer}.primary-button{background:#166fe5;color:#fff}.primary-button:hover:not(:disabled){background:#0f5fc8}.primary-button:disabled{background:#a8b0bd}.secondary-button{background:#e9eef5;color:#344054}.close-button{width:48px;height:48px;flex-shrink:0;border-radius:50%;background:#edf1f6;color:#566174;font-size:1.5rem;cursor:pointer}@media(hover:none){.primary-button:hover:not(:disabled){background:#166fe5}}.reservation-form-card{margin-top:22px;padding:28px}.form-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:24px}.form-header p:last-child{margin:7px 0 0;color:#687389}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.field{display:flex;flex-direction:column;gap:8px}.field>span{font-size:.9rem;font-weight:800}.field input,.field select,.field textarea{width:100%;border:1px solid #cfd8e5;border-radius:10px;background:#fff;padding:12px 13px;color:#172033;outline:none}.field textarea{min-height:110px;resize:vertical;font-size:16px}.field input:focus,.field select:focus,.field textarea:focus{border-color:#166fe5;box-shadow:0 0 0 3px #166fe524}.field-full{grid-column:1 / -1}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:24px}.manual-seat-selection-button{width:100%;min-height:48px;margin-top:16px;font-size:.92rem;font-weight:900}.manual-seat-modal-backdrop{position:fixed;z-index:3000;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:8px;background:#0f172a9e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);overscroll-behavior:none;touch-action:none}.manual-seat-modal{display:flex;width:min(1100px,calc(100vw - 16px));height:min(720px,calc(100dvh - 16px));max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:hidden;flex-direction:column;border:1px solid rgba(148,163,184,.4);border-radius:18px;background:#fff;box-shadow:0 24px 60px #0f172a57;overscroll-behavior:none;touch-action:manipulation}.manual-seat-modal-header{display:flex;min-height:0;flex:0 0 auto;align-items:flex-start;justify-content:space-between;gap:14px;padding:8px 14px 7px;border-bottom:1px solid #dbe3ee}.manual-seat-modal-header h2{margin:1px 0 0;font-size:1.18rem;line-height:1.15}.manual-seat-modal-header .section-label{margin:0;font-size:.66rem}.manual-seat-modal-datetime{margin:4px 0 0;color:#526078;font-size:.78rem;font-weight:800;line-height:1.2}.manual-seat-modal .close-button{width:38px;height:38px;min-height:38px;flex:0 0 38px}.manual-seat-modal-message-slot{display:flex;min-height:44px;flex:0 0 44px;align-items:center;padding:4px 16px 0}.manual-seat-modal-message-slot .message{width:100%;margin:0;padding:7px 10px;font-size:.76rem}.manual-seat-modal-message-slot .message.is-hidden{visibility:hidden}.manual-seat-modal-layout{display:flex;min-height:0;overflow:hidden;flex:1 1 auto;align-items:stretch;justify-content:stretch;padding:14px 20px;background:#f4f7fb;overscroll-behavior:none;touch-action:manipulation}.manual-seat-modal-layout .seat-section{width:100%;height:100%;min-height:0;overflow:hidden;padding:0}.manual-seat-modal-layout .seat-layout-grid{width:calc(100% - 12px);min-width:0;max-height:calc(100% - 12px);margin:6px auto;overflow:visible;transform-origin:center center}.manual-seat-modal-layout .seat-layout-grid .seat{width:100%;height:100%;min-width:0;min-height:130px;aspect-ratio:auto;align-self:stretch;justify-self:stretch}.manual-seat-modal-layout .seat-type-o{border-radius:16px;aspect-ratio:auto;align-self:stretch;justify-self:stretch}.manual-seat-modal-layout .seat-change-panel{display:none}.manual-seat-modal-footer{display:flex;min-height:0;flex:0 0 auto;align-items:center;justify-content:space-between;gap:12px;padding:7px 14px;border-top:1px solid #dbe3ee;background:#fff}.manual-seat-selection-summary{display:flex;min-width:0;flex-wrap:wrap;align-items:center;gap:5px 9px;color:#526078;font-size:.76rem;font-weight:800}.manual-seat-selection-summary strong{color:#166fe5;font-size:.92rem;font-weight:900}.manual-seat-modal-actions{display:flex;flex:0 0 auto;gap:8px}.manual-seat-modal-actions button{min-height:40px;padding:8px 13px}@media(min-width:761px)and (max-width:1180px){.manual-seat-modal{width:calc(100vw - 12px);height:calc(100dvh - 12px);max-width:calc(100vw - 12px);max-height:calc(100dvh - 12px);border-radius:14px}.manual-seat-modal-layout{padding:10px 14px}}@media(max-height:650px){.manual-seat-modal-header{padding:7px 12px 6px}.manual-seat-modal-header h2{font-size:1rem}.manual-seat-modal-datetime{font-size:.7rem}.manual-seat-modal-layout{padding:8px 12px}.manual-seat-modal-footer{padding:6px 12px}}@media(max-width:760px){.manual-seat-modal-backdrop{padding:4px}.manual-seat-modal{width:calc(100vw - 8px);height:calc(100dvh - 8px);max-width:calc(100vw - 8px);max-height:calc(100dvh - 8px);border-radius:10px}.manual-seat-modal-header{padding:7px 9px 6px}.manual-seat-modal-layout{padding:8px}.manual-seat-modal-footer{gap:7px;padding:6px 9px}.manual-seat-selection-summary{font-size:.66rem}.manual-seat-selection-summary strong{font-size:.78rem}.manual-seat-modal-actions{gap:5px}.manual-seat-modal-actions button{min-height:36px;padding:6px 8px;font-size:.72rem}}@media(max-height:650px){.manual-seat-modal-message-slot{min-height:38px;flex-basis:38px;padding:3px 12px 0}.manual-seat-modal-message-slot .message{padding:5px 8px;font-size:.7rem}}@media(max-width:760px){.manual-seat-modal-message-slot{min-height:38px;flex-basis:38px;padding:3px 9px 0}}.reservation-child-equipment,.reservation-policy-options{padding:12px;border:1px solid #dbe4ee;border-radius:12px;background:#f8fbfe}.reservation-equipment-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.reservation-equipment-grid label{display:grid;gap:5px}.reservation-equipment-grid label>span{color:#5b6f83;font-size:.78rem;font-weight:800}.reservation-child-equipment>small{color:#697b8e;font-size:.76rem}.reservation-policy-options{display:grid;gap:9px}.reservation-checkbox-row{display:flex;align-items:center;gap:9px;font-size:.86rem;font-weight:800}.reservation-checkbox-row input[type=checkbox]{width:20px;min-height:20px;height:20px;flex:0 0 20px;padding:0}@media(max-width:760px){.reservation-equipment-grid{grid-template-columns:1fr}}.customer-phone-lookup-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}.customer-lookup-button{white-space:nowrap;min-height:42px;padding-inline:12px}@media(min-width:1367px){.reservation-form-card.reservation-create-layout{margin-top:14px;padding:20px 24px 18px}.reservation-create-layout .reservation-recommendation-area{position:relative;display:grid;margin-top:14px;padding-top:12px;border-top:1px solid rgba(148,163,184,.35);row-gap:10px}.reservation-create-layout .reservation-recommendation-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.reservation-create-layout .reservation-recommendation-heading h3{margin:2px 0 0;font-size:1rem}.reservation-create-layout .reservation-seat-selection-status{display:inline-flex;min-height:30px;align-items:center;justify-content:center;padding:4px 12px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.72rem;font-weight:900;white-space:nowrap}.reservation-create-layout .recommendation-seat-legend{display:flex;align-items:center;justify-content:center;gap:18px;color:#475569;font-size:.68rem;font-weight:800}.reservation-create-layout .recommendation-seat-legend-item{display:inline-flex;align-items:center;gap:5px}.reservation-create-layout .recommendation-seat-legend-color{display:inline-block;width:11px;height:11px;border:1px solid #cbd5e1;border-radius:3px;background:#fff}.reservation-create-layout .recommendation-seat-legend-color.recommended{border-color:#166fe5;background:#dbeafe;box-shadow:inset 0 0 0 1px #166fe5}.reservation-create-layout .recommendation-seat-legend-color.reserved{border-color:#ef4444;background:#fee2e2}.reservation-create-layout .recommendation-top-three{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.reservation-create-layout .recommendation-choice-card{display:flex;min-width:0;min-height:120px;padding:10px 12px;border:2px solid #d8e0ea;border-radius:12px;background:#fff;color:#1f2937;text-align:left;cursor:pointer;overflow:hidden}.reservation-create-layout .recommendation-choice-card.selected{border-color:#166fe5;background:#eff6ff;box-shadow:inset 0 0 0 2px #166fe5}.reservation-create-layout .recommendation-card-content{display:grid;width:100%;min-width:0;grid-template-columns:minmax(100px,.9fr) minmax(155px,1.35fr);gap:10px}.reservation-create-layout .recommendation-card-text,.reservation-create-layout .recommendation-card-visual,.reservation-create-layout .recommendation-reasons{display:flex;min-width:0;flex-direction:column}.reservation-create-layout .recommendation-card-text{justify-content:center;align-items:flex-start;gap:4px}.reservation-create-layout .recommendation-card-visual{justify-content:space-between;gap:6px}.reservation-create-layout .recommendation-reasons-label{color:#64748b;font-size:.58rem;font-weight:900}.reservation-create-layout .recommendation-reasons-text{overflow:hidden;color:#334155;font-size:.66rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.reservation-create-layout .recommendation-mini-layout{margin-top:auto;padding:6px;border:1px solid #d8e0ea;border-radius:8px;background:#f8fafc}.reservation-create-layout .recommendation-mini-seat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(3,20px);gap:3px}.reservation-create-layout .recommendation-mini-seat,.reservation-create-layout .recommendation-mini-seat-empty{display:inline-flex;min-width:0;align-items:center;justify-content:center;border-radius:3px;font-size:.52rem;font-weight:900}.reservation-create-layout .recommendation-mini-seat{border:1px solid #cbd5e1;background:#fff;color:#475569}.reservation-create-layout .recommendation-mini-seat.highlighted{border-color:#166fe5;background:#dbeafe;color:#174a89;box-shadow:inset 0 0 0 1px #166fe5}.reservation-create-layout .recommendation-mini-seat.reserved{border-color:#ef4444;background:#fee2e2;color:#b42318}.reservation-create-layout .recommendation-choice-card.selected .recommendation-mini-seat.highlighted{border-color:#0f766e;background:#ccfbf1;color:#115e59}.reservation-create-layout .recommendation-rank{padding:3px 7px;border-radius:999px;background:#eef2f7;font-size:.62rem;font-weight:900}.reservation-create-layout .recommendation-choice-card.selected .recommendation-rank{background:#166fe5;color:#fff}.reservation-create-layout .recommendation-seat-name{font-size:1.05rem;font-weight:900}.reservation-create-layout .recommendation-seat-type,.reservation-create-layout .recommendation-capacity{font-size:.7rem;font-weight:800}.reservation-create-layout .recommendation-select-label{display:inline-flex;min-height:26px;align-items:center;justify-content:center;margin-top:2px;padding:4px 10px;border-radius:7px;background:#1769d2;color:#fff;font-size:.66rem;font-weight:900;white-space:nowrap}.reservation-create-layout .recommendation-choice-card.selected .recommendation-select-label{background:#0f766e}.reservation-create-layout .manual-seat-selection-button{min-height:40px;margin-top:0}}.reservation-manual-seat-actions{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px 14px;margin-top:16px}.reservation-manual-seat-actions .manual-seat-selection-button{margin-top:0}.reservation-unassigned-row{min-height:48px;padding:0 14px;border:1px solid #cfd8e5;border-radius:10px;background:#fff;white-space:nowrap}.reservation-unassigned-reason{grid-column:1 / -1;width:100%;min-height:46px;padding:10px 12px;border:1px solid #cfd8e5;border-radius:10px;background:#fff;font-size:16px;box-sizing:border-box}.required-badge{display:inline-flex;align-items:center;margin-left:6px;color:#d92d20;font-size:.72rem;font-style:normal;font-weight:900;line-height:1;vertical-align:middle}.equipment-time-note{color:#64748b;font-size:.78em;font-weight:600}.equipment-remaining{display:inline-flex;margin-left:6px;padding:1px 6px;border-radius:999px;background:#eef6ff;color:#0f67c7;font-size:.78em;font-weight:800}.reservation-private-edit-note{margin:5px 0 0;color:#6b4aa5;font-size:.78rem;font-weight:700;line-height:1.4}.legend{display:flex;flex-wrap:wrap;gap:14px;color:#5d687b;font-size:.88rem;font-weight:700}.legend span{display:flex;align-items:center;gap:6px}.legend-color{width:10px;height:10px;border-radius:999px}.legend-color.available{background:#20bf68}.legend-color.reserved{background:#f4a51c}.legend-color.occupied{background:#ef4b4b}.legend-color.combined{background:#1769d2}.seat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:14px}.seat{display:flex;min-height:155px;flex-direction:column;align-items:center;justify-content:center;padding:18px;border-radius:16px;color:#fff;cursor:pointer;touch-action:manipulation;transition:transform .16s ease,box-shadow .16s ease,outline .16s ease}.seat:hover{transform:translateY(-4px);box-shadow:0 12px 24px #1720332e}.seat.selected{outline:4px solid #166fe5;outline-offset:4px}.seat-空席{background:linear-gradient(145deg,#26c971,#16ad5a)}.seat-予約{position:relative;min-height:155px;padding:14px 12px 16px;background:linear-gradient(145deg,#ffb027,#ed9300)}.seat-仮予約{position:relative;min-height:155px;padding:14px 12px 16px;background:repeating-linear-gradient(135deg,#f7b84b 0,#f7b84b 14px,#d99724 14px,#d99724 28px)}.seat-仮予約 .seat-id{width:100%;padding-bottom:10px;border-bottom:1px dashed rgba(255,255,255,.65);font-size:1.45rem;line-height:1;text-align:center}.seat-provisional-badge{position:absolute;top:8px;right:8px;padding:3px 6px;border:1px dashed rgba(255,255,255,.85);border-radius:999px;background:#0f172a47;font-size:.62rem;font-weight:900}.seat-使用中{background:linear-gradient(145deg,#ff5a5a,#df3737)}.seat-id{font-size:1.55rem;font-weight:900}.seat-予約 .seat-id{width:100%;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.45);font-size:1.45rem;line-height:1;text-align:center}.seat-type{margin-top:15px;font-weight:700}.seat-status{margin-top:12px;font-size:.88rem;font-weight:800}.seat-reservation-info{display:flex;width:100%;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:10px;margin-top:10px}.seat-customer-name{display:block;width:100%;overflow:hidden;font-size:.92rem;font-weight:900;line-height:1.25;text-align:center;text-overflow:ellipsis;white-space:nowrap}.seat-reservation-summary{display:flex;width:100%;align-items:center;justify-content:center;gap:12px;font-size:.88rem;font-weight:900}.seat-reservation-summary span:first-child{font-size:.95rem}.seat-detail{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:28px;margin-top:22px;padding:24px 28px}.seat-detail-items{display:flex;gap:28px}.seat-detail-items p{display:flex;min-width:80px;flex-direction:column;gap:4px;margin:0}.seat-detail-items span{color:#788397;font-size:.78rem}@media(hover:none){.seat:hover{transform:none;box-shadow:none}}.reservation-list-section{margin-top:22px}.reservation-count{display:inline-flex;min-width:54px;justify-content:center;padding:7px 11px;border-radius:999px;background:#edf4ff;color:#166fe5;font-weight:800}.reservation-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.reservation-card{position:relative;overflow:hidden;padding:20px;border:1px solid #dfe6ef;border-radius:15px;background:#fbfcfe;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.reservation-card:hover{transform:translateY(-2px);box-shadow:0 12px 26px #1720331a}.reservation-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.reservation-card-badges{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.reservation-card h3{margin:5px 0 0;font-size:1.12rem}.reservation-seat,.reservation-route{display:inline-flex;align-items:center;border-radius:999px;font-size:.75rem;font-weight:800}.reservation-seat{padding:5px 9px;background:#166fe5;color:#fff}.reservation-route{padding:6px 10px;background:#edf1f6;color:#596579}.reservation-card dl{margin:0}.reservation-card dl>div{display:flex;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid #e6ebf2}.reservation-card dt{color:#788397;font-size:.83rem}.reservation-card dd{margin:0;font-size:.88rem;font-weight:700;text-align:right}.reservation-memo{margin:16px 0 0;padding:12px;border-radius:10px;background:#f0f4f8;color:#5e697a;font-size:.88rem;white-space:pre-wrap}.reservation-card-actions button{min-height:44px}.reservation-card-actions .primary-button{color:#fff}.reservation-card-actions .secondary-button{color:#344054}.reservation-card-actions .secondary-button:last-child{color:#b42318}.paid-reservation-section{margin-top:28px;padding-top:22px;border-top:1px solid #dfe6ef}.paid-reservation-toggle{display:flex;width:100%;min-height:58px;align-items:center;justify-content:space-between;gap:16px;padding:14px 18px;border:1px solid #d5dbe3;border-radius:14px;background:#f3f5f8;color:#475467;font-weight:900;cursor:pointer;transition:background .16s ease,border-color .16s ease}.paid-reservation-toggle:hover{border-color:#b8c1cd;background:#e9edf2}.paid-reservation-toggle:focus-visible{outline:3px solid rgba(22,111,229,.22);outline-offset:3px}.paid-reservation-list{margin-top:16px}.paid-reservation-list .reservation-card{opacity:.9}.reservation-customer-summary{display:flex;align-items:baseline;gap:12px}.reservation-expand-indicator{display:inline-flex;min-width:30px;min-height:30px;align-items:center;justify-content:center;font-size:1.35rem;font-weight:900;line-height:1}.reservation-card-actions{margin-top:10px}.reservation-card.reservation-card-private{border:2px solid #7c3aed;background:linear-gradient(135deg,#f5f3ff,#ede9fe);box-shadow:0 8px 22px #5b21b626}.reservation-card.reservation-card-private:hover{border-color:#6d28d9;box-shadow:0 12px 28px #5b21b63d}.reservation-private-badge{display:inline-flex;align-items:center;padding:5px 9px;border-radius:999px;background:#6d28d9;color:#fff;font-size:.75rem;font-weight:900;letter-spacing:.02em}.reservation-card-private .reservation-seat{background:#8b5cf6}.reservation-status{display:inline-flex;min-height:28px;align-items:center;justify-content:center;padding:5px 10px;border:1px solid transparent;border-radius:999px;font-size:.75rem;font-weight:900;line-height:1}.reservation-status-reserved{border-color:#f5b942;background:#fff4d8;color:#9a5b00}.reservation-card:has(.reservation-status-reserved){border-color:#f1c56b;background:linear-gradient(180deg,#fffaf0 0,#fff 110px)}.reservation-card:has(.reservation-status-reserved):before{position:absolute;top:0;bottom:0;left:0;width:5px;background:#f4a51c;content:""}.reservation-status-arrived{border-color:#f09292;background:#ffe3e3;color:#b42318}.reservation-card:has(.reservation-status-arrived){border-color:#ef9d9d;background:linear-gradient(180deg,#fff3f3 0,#fff 110px);box-shadow:0 10px 24px #b423181a}.reservation-card:has(.reservation-status-arrived):before{position:absolute;top:0;bottom:0;left:0;width:5px;background:#ef4b4b;content:""}.reservation-status-paid{border-color:#c8d0db;background:#edf1f5;color:#596579}.reservation-card-paid,.reservation-card:has(.reservation-status-paid){border-color:#d5dbe3;background:#f6f8fa;box-shadow:none}.reservation-card-paid:before,.reservation-card:has(.reservation-status-paid):before{position:absolute;top:0;bottom:0;left:0;width:5px;background:#98a2b3;content:""}.reservation-card-paid h3,.reservation-card:has(.reservation-status-paid) h3{color:#667085}.reservation-card-paid dl,.reservation-card-paid .reservation-memo{opacity:.82}.reservation-status-cancelled{border-color:#d7dde5;background:#f4f6f8;color:#8a94a3;text-decoration:line-through}.reservation-status-provisional{border:1px dashed rgba(217,119,6,.8);background:#f59e0b29;color:#92400e}.reservation-status-no-show{border-color:#8d6e63;background:#efebe9;color:#5d4037}.reservation-card:has(.reservation-status-no-show){border-color:#bcaaa4;background:#faf7f6}.app-page{width:min(1440px,calc(100% - 32px));padding-top:24px}.app-header{position:relative;z-index:10;overflow:hidden;margin-bottom:18px;border:1px solid rgba(255,255,255,.1);border-radius:22px;background:radial-gradient(circle at top right,rgba(37,99,235,.32),transparent 38%),linear-gradient(135deg,#07182f,#0b2749 58%,#10355e);box-shadow:0 18px 44px #05183038;color:#fff}.app-header-main{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;align-items:center;gap:22px;padding:20px 24px 16px}.app-brand{display:flex;min-width:0;align-items:center;gap:14px}.app-brand-icon{display:block;width:60px;height:60px;flex-shrink:0;overflow:hidden;border:0;border-radius:17px;background:transparent;box-shadow:0 8px 20px #0000003d}.app-brand-icon img{display:block;width:100%;height:100%;object-fit:cover}.app-brand-text{min-width:0}.app-brand-text p{margin:0 0 4px;color:#9fc0df;font-size:.69rem;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.app-brand-text h1{overflow:hidden;margin:0;font-size:clamp(1.55rem,2.6vw,2.25rem);line-height:1;letter-spacing:-.035em;text-overflow:ellipsis;white-space:nowrap}.app-datetime-panel{display:flex;align-items:stretch;gap:10px}.app-datetime-field{display:flex;min-width:150px;flex-direction:column;gap:5px;padding:8px 11px;border:1px solid rgba(173,204,235,.24);border-radius:12px;background:#ffffff14}.app-datetime-field span{color:#a9c4df;font-size:.68rem;font-weight:800}.app-datetime-field input{width:100%;min-height:30px;padding:0;border:0;background:transparent;color:#fff;color-scheme:dark;font-size:.94rem;font-weight:900;outline:none}.app-new-reservation-button{display:inline-flex;min-height:52px;align-items:center;justify-content:center;gap:8px;padding:0 20px;border-radius:13px;background:#fff;box-shadow:0 8px 20px #0000002e;color:#0c345d;font-weight:900;cursor:pointer}.app-new-reservation-button span{color:#1671e8;font-size:1.45rem;line-height:1}.app-new-reservation-button:disabled{background:#ffffff61;box-shadow:none;color:#ffffffa6;cursor:not-allowed}.app-header-sub{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 24px;border-top:1px solid rgba(255,255,255,.09);background:#0000001a}.app-header-sub p{margin:0;color:#b8cce0;font-size:.78rem}.app-operation-status{display:inline-flex;flex-shrink:0;align-items:center;gap:8px;color:#d9e9f7;font-size:.78rem;font-weight:900}.app-status-dot{width:9px;height:9px;border-radius:50%;background:#38d67a;box-shadow:0 0 0 4px #38d67a29}.app-recommendation-toolbar{margin-bottom:18px;padding:18px 20px;border:1px solid #d9e3ee;border-radius:18px;background:#fffffff2;box-shadow:0 12px 30px #1d375a12}.app-toolbar-heading{margin-bottom:12px}.app-toolbar-heading h2{margin:3px 0 0;font-size:1.08rem}.app-recommendation-toolbar .reservation-form-card{margin:0;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.app-recommendation-toolbar .section-heading{display:none}.app-recommendation-toolbar .form-grid{grid-template-columns:repeat(3,minmax(150px,1fr));gap:12px}.app-recommendation-toolbar .field{gap:5px}.app-recommendation-toolbar .field>span{font-size:.75rem}.app-recommendation-toolbar .field input,.app-recommendation-toolbar .field select{min-height:46px}.app-seat-workspace{position:relative}.app-seat-workspace .seat-section{margin:0;padding:22px;border-radius:22px;box-shadow:0 18px 40px #1d375a1a}.app-seat-workspace .section-heading{margin-bottom:18px}.app-seat-workspace .section-heading h2{font-size:1.35rem}.app-operator-button{white-space:nowrap;max-width:180px;overflow:hidden;text-overflow:ellipsis}.app-operator-switcher{display:inline-flex;max-width:100%;align-items:center;gap:5px;flex-wrap:wrap}.app-operator-label{font-size:.72rem;font-weight:900;color:#dbeafe}.app-operator-button.is-active{background:#146fd1;color:#fff;border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa33}.app-operator-add-button{white-space:nowrap}.app-operator-switcher{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.app-operator-button{flex:0 0 auto}.app-operator-button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-appearance:none;-moz-appearance:none;appearance:none}.app-header-sub{display:grid;grid-template-columns:auto auto minmax(160px,1fr) auto;align-items:center}.app-operator-switcher-centered{min-width:0;justify-self:center;justify-content:center;margin-inline:12px}.app-operation-status.is-closed .app-status-dot,.app-operation-status.is-unknown .app-status-dot,.app-operation-status.is-loading .app-status-dot{background:#a8b5c1;box-shadow:0 0 0 4px #a8b5c126}.app-operation-status.is-private .app-status-dot{background:#d9a34a;box-shadow:0 0 0 4px #d9a34a2b}.app-operator-button:disabled{cursor:not-allowed;opacity:.48;filter:grayscale(.15)}.app-operator-button.is-active:disabled{opacity:1!important;cursor:not-allowed}.app-operator-label{color:#ff6b6b!important;font-weight:900;white-space:nowrap}.app-feedback-button{display:inline-flex;align-items:center;justify-content:center;gap:7px}.app-store-name{width:100%;min-width:0;overflow:hidden;color:#fff;font-size:1.05rem;font-weight:900;line-height:1.15;text-align:center;text-overflow:ellipsis;white-space:nowrap}.app-header-center-stack .app-header-message-area{width:100%}@media(min-width:761px)and (max-width:1180px){.page{width:calc(100% - 28px);padding:28px 0 60px}.page-header{margin-bottom:22px}.page-header h1{font-size:2.35rem}.seat-section,.reservation-list-section,.reservation-form-card{padding:22px}.section-heading{gap:18px;margin-bottom:20px}.seat-grid{gap:12px}.seat{min-height:130px;padding:14px 10px}.seat-予約{min-height:138px;padding:11px 9px 13px}.seat-id{font-size:1.3rem}.seat-予約 .seat-id{padding-bottom:7px;font-size:1.2rem}.seat-customer-name{font-size:.82rem}.seat-reservation-time{font-size:.75rem}.reservation-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.reservation-card{padding:18px}.reservation-card-actions{justify-content:stretch}.reservation-card-actions button{flex:1 1 135px}.seat-detail{grid-template-columns:1fr auto;gap:18px;padding:22px}.seat-detail-items{grid-column:1 / -1;flex-wrap:wrap}}@media(min-width:821px)and (max-width:1366px){.app-page{width:calc(100% - 20px);padding:12px 0 44px}.app-header{margin-bottom:12px;border-radius:18px}.app-header-main{grid-template-columns:minmax(220px,1fr) auto auto;gap:12px;padding:14px 16px 12px}.app-brand{gap:10px}.app-brand-icon{width:52px;height:52px;border-radius:14px}.app-brand-icon span:first-child{left:8px;font-size:1.75rem}.app-brand-icon span:last-child{right:7px;bottom:7px;font-size:1.3rem}.app-brand-text h1{font-size:1.65rem}.app-brand-text p{font-size:.6rem}.app-datetime-panel{gap:7px}.app-datetime-field{min-width:132px;padding:7px 9px}.app-new-reservation-button{min-height:48px;padding:0 16px;font-size:.88rem}.app-header-sub{padding:8px 16px}.app-recommendation-toolbar{margin-bottom:12px;padding:14px 16px;border-radius:16px}.app-toolbar-heading{margin-bottom:9px}.app-recommendation-toolbar .form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.app-recommendation-toolbar .field input,.app-recommendation-toolbar .field select{min-height:44px}.app-seat-workspace .seat-section{padding:17px;border-radius:18px}}@media(max-width:900px){.app-header-main{grid-template-columns:1fr auto}.app-datetime-panel{grid-column:1 / -1;width:100%;order:3}.app-datetime-field{flex:1}.app-new-reservation-button{align-self:center}.app-header-sub{align-items:flex-start;flex-direction:column;gap:6px}.reservation-card-actions{justify-content:stretch}.reservation-card-actions button{min-height:50px;flex:1 1 150px;padding-right:14px;padding-left:14px}.paid-reservation-toggle{min-height:64px;font-size:1rem}.reservation-live-info{gap:8px;padding:12px}.reservation-live-info>div{min-height:76px;padding:10px 6px}.reservation-live-info strong{font-size:1.05rem}}@media(max-width:760px){.page{width:min(100% - 20px,1180px);padding-top:28px}.seat-section,.reservation-list-section,.reservation-form-card{padding:20px}.section-heading{align-items:flex-start;flex-direction:column}.seat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.seat{min-height:135px}.seat-予約{min-height:145px;padding:12px 10px 14px}.seat-予約 .seat-id{font-size:1.3rem}.seat-customer-name{font-size:.84rem}.seat-reservation-summary{gap:8px;font-size:.8rem}.seat-reservation-summary span:first-child{font-size:.88rem}.seat-detail{grid-template-columns:1fr;gap:18px;padding:22px}.seat-detail-items{justify-content:space-between}.form-grid{grid-template-columns:1fr}.field-full{grid-column:auto}.form-actions{flex-direction:column-reverse}.form-actions button{width:100%}}@media(max-width:560px){.reservation-list{grid-template-columns:1fr}.reservation-card-actions{flex-direction:column}.reservation-card-actions button{width:100%;flex-basis:auto}.reservation-card-header{flex-direction:column}.reservation-route{align-self:flex-start}.reservation-live-info{grid-template-columns:1fr}.reservation-live-info>div{min-height:58px}}@media(max-width:620px){html,body,#root{min-width:0;width:100%}body{overflow-x:hidden}.app-page{width:100%;max-width:none;padding:4px 6px 28px}.app-header-main{gap:9px}.app-brand{min-width:0}.app-brand-text p{display:none}.app-header-controls{width:100%;display:grid;grid-template-columns:1fr;gap:8px}.app-datetime-panel{width:100%}.app-feedback-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.app-feedback-actions button{min-width:0;min-height:42px;padding:0 6px;font-size:11px}.app-operation-workspace{display:block;height:auto;min-height:0}.app-seat-column,.app-reservation-column{width:100%;max-width:none;height:auto;max-height:none;overflow:visible}.app-reservation-column{margin-top:10px}.app-seat-column .seat-section,.app-reservation-column .reservation-list-section{border-radius:14px}.reservation-form-overlay,.external-reservation-overlay,.feedback-modal-overlay{align-items:flex-start;padding:max(8px,env(safe-area-inset-top)) 6px 8px}}@media(max-width:620px){.app-page{padding:3px 5px 20px}.app-header{margin-bottom:6px;border-radius:11px}.app-header-main{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 7px;padding:6px 7px}.app-brand{grid-column:1 / -1;gap:6px}.app-brand-icon{width:28px;height:28px;border-radius:8px}.app-brand-text h1{font-size:1rem;line-height:1}.app-brand-text p,.app-header-message-area:empty{display:none}.app-header-message-area{grid-column:1 / -1;min-height:0;padding:0}.app-header-message-area span{min-height:24px;padding:3px 7px;font-size:.62rem}.app-header-controls{grid-column:1 / -1;display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%;gap:5px}.app-datetime-panel{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(76px,.75fr) auto;width:100%;gap:4px}.app-datetime-field{width:auto;min-width:0;gap:1px;padding:3px 5px;border-radius:7px}.app-datetime-field span{font-size:.5rem}.app-datetime-field input,.app-datetime-field select{min-height:24px;height:24px;font-size:.72rem}.app-current-time-button{min-width:58px;min-height:32px;height:32px;padding:0 5px;border-radius:7px;font-size:.54rem}.app-new-reservation-button{width:auto;min-width:76px;min-height:32px;height:32px;gap:2px;padding:0 7px;border-radius:8px;font-size:.65rem}.app-new-reservation-button span{font-size:1rem}.app-header-sub{display:grid;grid-template-columns:auto 1fr;gap:5px;padding:5px 7px}.app-operation-status{font-size:.6rem}.app-status-dot{width:6px;height:6px}.app-header-summary{display:none}.app-feedback-actions{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.app-feedback-actions button{min-width:0;min-height:30px;height:30px;padding:0 3px;border-radius:7px;font-size:.58rem}.app-feedback-unconfirmed-badge{min-width:16px;height:16px;padding:0 4px;font-size:9px}}@media(max-width:620px){.app-header-main{grid-template-columns:1fr;gap:4px;padding:5px 6px}.app-brand{grid-column:1}.app-header-controls{grid-column:1;display:grid;grid-template-columns:minmax(0,1fr) 58px;align-items:end;gap:4px;min-width:0;margin-left:0}.app-datetime-panel{display:grid!important;grid-template-columns:minmax(0,1.18fr) minmax(68px,.72fr) 58px;align-items:end;gap:3px;min-width:0;overflow:visible}.app-datetime-field{display:flex!important;visibility:visible!important;min-width:0!important;padding:2px 4px}.app-datetime-field:nth-child(2){display:flex!important;visibility:visible!important}.app-datetime-field span{display:block!important;font-size:.48rem;line-height:1}.app-datetime-field input,.app-datetime-field select{display:block!important;width:100%;min-width:0;min-height:22px;height:22px;padding:0;font-size:.66rem;line-height:1}.app-current-time-button,.app-current-time-button.is-following,.app-current-time-button:disabled{display:inline-flex!important;visibility:visible!important;min-width:58px;width:58px;min-height:31px;height:31px;align-items:center;justify-content:center;padding:0 3px;opacity:1!important;white-space:nowrap;font-size:.5rem}.app-new-reservation-button{width:58px;min-width:58px;max-width:58px;min-height:31px;height:31px;gap:1px;padding:0 2px;font-size:.54rem;white-space:nowrap}.app-new-reservation-button span{font-size:.86rem}}@media(max-width:620px){.app-page{padding-top:max(8px,env(safe-area-inset-top));padding-right:max(5px,env(safe-area-inset-right));padding-bottom:max(20px,env(safe-area-inset-bottom));padding-left:max(5px,env(safe-area-inset-left))}.app-header-main{padding:4px 5px;gap:3px}.app-brand-icon{width:24px;height:24px}.app-brand-text h1{font-size:.88rem}.app-header-controls{grid-template-columns:minmax(0,1fr) 60px;gap:3px;align-items:end}.app-datetime-panel{grid-template-columns:minmax(116px,1.2fr) minmax(70px,.72fr) 54px!important;gap:2px;align-items:end}.app-datetime-field{display:grid!important;grid-template-rows:auto 22px;gap:1px;padding:2px 3px;min-width:0}.app-datetime-field span{display:block!important;font-size:.46rem;line-height:1;white-space:nowrap}.app-datetime-field input,.app-datetime-field select{box-sizing:border-box;width:100%!important;min-width:0!important;height:22px!important;min-height:22px!important;padding:0 2px!important;font-size:.66rem!important;line-height:22px}.app-current-time-button,.app-current-time-button.is-following,.app-current-time-button:disabled{width:54px!important;min-width:54px!important;height:34px!important;min-height:34px!important;padding:0 2px!important;font-size:.48rem!important;line-height:1.05;white-space:normal}.app-new-reservation-button{width:60px!important;min-width:60px!important;max-width:60px!important;height:34px!important;min-height:34px!important;padding:0 2px!important;font-size:.52rem!important}.app-new-reservation-button span{font-size:.8rem!important}.app-header-sub{padding:3px 5px;gap:3px}}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}body{overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}button,input,select,textarea{touch-action:manipulation}button{-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.primary-button,.secondary-button{min-height:48px;padding:0 20px;font-size:.95rem;line-height:1.2}.close-button{width:48px;height:48px;flex-shrink:0}.field input,.field select{min-height:50px;font-size:16px}.field textarea{min-height:110px;font-size:16px}.reservation-card-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:18px}.reservation-card-actions .primary-button,.reservation-card-actions .secondary-button{min-height:46px;padding:0 16px}.seat-change-panel,.seat-swap-panel{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:22px;padding:18px 20px;border:1px solid #b7d2f5;border-radius:14px;background:#edf5ff}.seat-change-panel strong,.seat-swap-panel strong{display:block;color:#174a89;font-size:1rem}.seat-change-panel p,.seat-swap-panel p{margin:6px 0 0;color:#52647b;line-height:1.5}.seat-change-panel .reservation-card-actions,.seat-swap-panel .reservation-card-actions{flex-shrink:0;margin-top:0}.reservation-swap-source{border:3px solid #166fe5;background:#edf5ff;box-shadow:0 0 0 3px #166fe51a}.reservation-swap-candidate{border:3px solid #20a85a;background:#effcf4}.reservation-swap-disabled{filter:grayscale(.25)}.seat-change-current{outline:4px solid #166fe5;outline-offset:3px}.seat-change-target{outline:5px solid #20bf68;outline-offset:3px;box-shadow:0 0 0 5px #20bf682e}.seat{touch-action:manipulation}.seat:active{transform:scale(.97)}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.close-button:active:not(:disabled){transform:scale(.97)}@media(hover:hover)and (pointer:fine){.secondary-button:hover:not(:disabled){background:#dce4ee}}@media(hover:none){.seat:hover{transform:none;box-shadow:none}.primary-button:hover:not(:disabled){background:#166fe5}}@media(max-width:900px){.app-header-main{grid-template-columns:1fr auto}.app-datetime-panel{grid-column:1 / -1;width:100%;order:3}.app-datetime-field{flex:1}.app-new-reservation-button{align-self:center}.app-header-sub{align-items:flex-start;flex-direction:column;gap:6px}.reservation-live-info{gap:8px;padding:12px}.reservation-live-info>div{min-height:76px;padding:10px 6px}.reservation-live-info strong{font-size:1.05rem}}@media(max-width:820px){.page{width:calc(100% - 20px);padding:22px 0 50px}.page-header{margin-bottom:20px}.page-header h1{font-size:2rem}.seat-section,.reservation-list-section,.reservation-form-card{padding:18px;border-radius:16px}.message{margin-bottom:16px;padding:13px 14px}.legend{gap:10px;font-size:.8rem}.seat-change-panel,.seat-swap-panel{align-items:stretch;flex-direction:column;gap:14px;padding:16px}.seat-change-panel .reservation-card-actions,.seat-swap-panel .reservation-card-actions,.seat-change-panel button,.seat-swap-panel button{width:100%}.reservation-list{grid-template-columns:1fr}.reservation-card-actions{justify-content:stretch}.reservation-card-actions button{flex:1 1 140px}}@media(min-width:768px)and (max-width:1180px){.app-feedback-actions{gap:6px}.app-feedback-admin-button,.app-feedback-button{min-height:30px;padding:0 10px;font-size:11px}}@media(max-width:620px){.app-page{width:calc(100% - 12px);padding-top:6px}.app-header{border-radius:15px}.app-header-main{grid-template-columns:1fr;padding:13px}.app-brand-icon{width:48px;height:48px}.app-brand-text h1{font-size:1.45rem}.app-new-reservation-button{width:100%}.app-datetime-panel{flex-direction:column}.app-datetime-field{width:100%}.app-header-sub{padding:9px 13px}.app-header-sub p{display:none}.app-recommendation-toolbar .form-grid{grid-template-columns:1fr}}@media(max-width:560px){.reservation-live-info{grid-template-columns:1fr}.reservation-live-info>div{min-height:58px}}@media(max-width:520px){.seat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.seat{min-height:125px;padding:12px 8px}.seat-予約{min-height:135px}.seat-id{font-size:1.2rem}.reservation-card-actions{flex-direction:column}.reservation-card-actions button{width:100%;flex-basis:auto}.form-actions{gap:10px}.primary-button,.secondary-button{width:100%}}.app-feedback-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.app-feedback-admin-button,.app-feedback-button{min-height:34px;padding:0 13px;border-radius:8px;font-size:12px;font-weight:800;white-space:nowrap;cursor:pointer}.app-feedback-admin-button{display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#334155;background:#f8fafc;border:1px solid #cbd5e1}.app-feedback-unconfirmed-badge{display:inline-flex;min-width:20px;height:20px;align-items:center;justify-content:center;padding:0 6px;border-radius:999px;color:#fff;background:#dc2626;box-shadow:0 1px 2px #0f172a33;font-size:11px;font-weight:900;line-height:1}.app-feedback-admin-button:hover{color:#0f172a;background:#e2e8f0;border-color:#94a3b8}.app-feedback-button{color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd}.app-feedback-button:hover{color:#1e40af;background:#dbeafe;border-color:#60a5fa}.app-feedback-admin-button:active,.app-feedback-button:active{transform:translateY(1px)}.app-header-main{grid-template-columns:minmax(240px,1fr) minmax(260px,1.2fr) auto}.app-header-message-area{display:flex;min-width:0;min-height:42px;align-items:center;justify-content:center;padding:0 12px;text-align:center}.app-header-message-area span{display:inline-flex;max-width:100%;min-height:34px;align-items:center;justify-content:center;padding:7px 16px;border:1px solid transparent;border-radius:10px;font-size:.82rem;font-weight:800;line-height:1.2}.app-header-message-success span{color:#166534;background:#dcfce7;border-color:#86d7a3}.app-header-message-error span{color:#b42318;background:#fff0f0;border-color:#f1b3b3}.app-header-message-warning span{color:#9a5b00;background:#fff8e7;border-color:#f1c56b}.app-header-controls{display:flex;align-items:center;justify-content:flex-end;gap:10px;margin-left:auto}@media(min-width:900px)and (max-width:1366px){.app-header-main{grid-template-columns:minmax(210px,1fr) minmax(220px,1.15fr) auto}.app-header-message-area{min-height:36px;padding:0 6px}.app-header-message-area span{min-height:29px;padding:5px 11px;border-radius:8px;font-size:.68rem}.app-header-controls{gap:6px}}@media(min-width:900px)and (max-width:1366px){.app-header,.app-header-main,.app-header-controls,.app-datetime-panel{overflow:visible}.app-header-controls{align-items:center}.app-datetime-panel{position:relative;z-index:2;align-items:center}.app-datetime-panel:focus-within{z-index:20}.app-datetime-field select{min-height:29px;height:29px;padding:2px 4px;border:0;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;background-image:none;color:#fff;font-size:.92rem;font-weight:800;line-height:1;text-align:center;text-align-last:center}.app-datetime-field select::-ms-expand{display:none}.app-current-time-button{display:inline-flex;min-width:94px;min-height:36px;height:36px;align-self:center;align-items:center;justify-content:center;flex-shrink:0;padding:0 10px;border:1px solid #93c5fd;border-radius:9px;background:#eff6ff;color:#1d4ed8;font-size:.64rem;font-weight:900;line-height:1;white-space:nowrap;cursor:pointer}.app-current-time-button.is-following,.app-current-time-button:disabled{border-color:#86d7a3;background:#dcfce7;color:#166534;cursor:default;opacity:1}.app-current-time-button:not(:disabled):active{transform:scale(.97)}}.app-operator-button.is-active,.app-operator-button.is-active:hover,.app-operator-button.is-active:focus,.app-operator-button.is-active:focus-visible,.app-operator-button.is-active:active{color:#fff!important;background:#0b5fb8!important;border-color:#76b7f2!important;box-shadow:0 0 0 2px #76b7f238!important;transform:none!important}.app-operator-button{-webkit-tap-highlight-color:transparent!important;touch-action:manipulation;-webkit-appearance:none;-moz-appearance:none;appearance:none}.app-operator-button.is-active,.app-operator-button.is-active:hover,.app-operator-button.is-active:focus,.app-operator-button.is-active:focus-visible,.app-operator-button.is-active:active{color:#fff!important;background:#0b5fb8!important;border-color:#76b7f2!important;box-shadow:0 0 0 2px #76b7f238!important;filter:none!important;opacity:1!important;transform:none!important}@media(min-width:900px)and (max-width:1366px){.app-header-sub{display:grid;grid-template-columns:auto auto minmax(140px,1fr) auto;gap:8px}.app-operator-switcher-centered{justify-self:center;justify-content:center;max-width:100%;margin-inline:4px}}.app-operator-button:disabled{cursor:not-allowed!important;opacity:.48}.app-operator-button.is-active:disabled{opacity:1!important}.app-header-center-stack{display:grid;min-width:0;align-content:center;justify-items:center;gap:2px}.app-store-name{width:100%;min-width:0;overflow:hidden;color:#fff;font-size:1.05rem;font-weight:900;line-height:1.15;letter-spacing:.02em;text-align:center;text-overflow:ellipsis;white-space:nowrap}.app-header-center-stack .app-header-message-area{width:100%;min-height:30px;padding:0 6px}@media(min-width:900px)and (max-width:1366px){.app-store-name{font-size:.9rem}.app-header-center-stack{gap:0}.app-header-center-stack .app-header-message-area{min-height:28px}}.seat-layout-title-row{display:flex;align-items:center;gap:12px}.seat-layout-summary{display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.seat-layout-summary span{display:inline-flex;min-height:24px;align-items:center;padding:3px 8px;border:1px solid #d8e1ec;border-radius:999px;color:#526176;background:#f8fafc;font-size:.72rem;font-weight:700;line-height:1}.seat-layout-summary strong{margin:0 2px;color:#172033;font-size:.82rem;font-weight:900}@media(min-width:900px)and (max-width:1366px){html,body,#root{width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}body{position:static}.app-page{display:flex;width:calc(100% - 16px);height:100dvh;max-width:none;max-height:100dvh;flex-direction:column;margin:0 auto;padding:8px 0;overflow:hidden;box-sizing:border-box}.app-header{flex:0 0 auto;margin-bottom:5px;border-radius:12px}.app-header-main{grid-template-columns:auto auto auto;align-items:center;justify-content:space-between;gap:10px;padding:6px 10px 5px}.app-header-main,.app-header-sub{flex-shrink:0}.app-brand{gap:7px;min-width:0}.app-brand-icon{width:36px;height:36px;border-radius:9px}.app-brand-icon span:first-child{left:6px;font-size:1.18rem}.app-brand-icon span:last-child{right:5px;bottom:4px;font-size:.86rem}.app-brand-text h1{margin:0;font-size:1.15rem;line-height:1;white-space:nowrap}.app-brand-text p{margin:0 0 3px;font-size:.48rem;line-height:1}.app-datetime-panel{gap:5px;margin-left:auto}.app-datetime-field{display:flex;min-width:106px;min-height:45px;height:45px;flex-direction:column;justify-content:center;padding:3px 6px;border-radius:9px;box-sizing:border-box}.app-datetime-field label,.app-datetime-field>span{font-size:.56rem;line-height:1}.app-datetime-field input,.app-datetime-field select{display:block;width:100%;min-height:29px;height:29px;max-height:29px;padding:2px 4px;font-size:.92rem;line-height:1;box-sizing:border-box}.app-datetime-field input[type=date]{min-height:29px;height:29px;max-height:29px}.app-new-reservation-button{display:inline-flex;visibility:visible;min-height:36px;height:36px;flex-shrink:0;padding:0 12px;border-radius:9px;opacity:1;font-size:.74rem}.app-header-sub{min-height:0;padding:4px 10px}.app-header-sub p{margin:0;font-size:.64rem;line-height:1.1}.app-feedback-actions{gap:5px}.app-feedback-admin-button,.app-feedback-button{min-height:27px;height:27px;padding:0 8px;border-radius:7px;font-size:.62rem}.app-operation-workspace{display:grid;min-height:0;height:auto;flex:1 1 auto;grid-template-columns:minmax(0,2.2fr) minmax(300px,.8fr);align-items:stretch;gap:8px;margin-top:5px;overflow:hidden}.app-seat-column,.app-reservation-column{min-height:0;height:100%;padding:10px;border-radius:14px}.app-panel-heading{gap:8px;margin-bottom:6px}.app-panel-heading h2{font-size:1rem;line-height:1.1}.seat-layout-title-row{gap:8px}.seat-layout-summary{gap:5px}.seat-layout-summary span{min-height:21px;padding:2px 6px;font-size:.62rem}.seat-layout-summary strong{font-size:.7rem}.section-label{font-size:.62rem;line-height:1}.app-seat-column{display:flex;flex-direction:column;overflow:hidden}.app-seat-column .seat-section{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden}.seat-status-legend{gap:5px 9px}.seat-status-legend span{gap:4px;font-size:.67rem}.legend-dot{width:8px;height:8px}.app-seat-column .seat-grid,.app-seat-column .seat-layout-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(3,116px);gap:8px}.app-seat-column .seat,.app-seat-column .seat-予約{width:calc(100% - 6px);min-width:0;min-height:110px;height:110px;align-self:center;justify-self:center;padding:7px 6px;border-radius:11px}.app-seat-column .seat-id{font-size:1.05rem;line-height:1}.app-seat-column .reserved-seat-header{display:flex;width:100%;min-width:0;min-height:36px;align-items:center;justify-content:center;gap:6px;padding:6px 5px}.app-seat-column .seat-予約 .seat-id{width:auto;flex:0 0 auto;padding:0;font-size:.98rem;line-height:1}.app-seat-column .reserved-seat-connected-label{display:inline-flex;min-width:0;max-width:calc(100% - 34px);min-height:19px;align-items:center;justify-content:center;overflow:hidden;padding:3px 6px;border:1px solid rgba(255,255,255,.9);border-radius:999px;color:#fff;background:#1769d2;font-size:.55rem;font-weight:900;line-height:1;text-overflow:ellipsis;white-space:nowrap;box-sizing:border-box}.app-seat-column .seat-type{margin-top:7px;font-size:.68rem}.app-seat-column .seat-status{margin-top:6px;font-size:.65rem}.app-seat-column .reserved-seat-body{display:flex;width:100%;min-width:0;min-height:0;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:4px;margin-top:0;padding:7px 5px 8px;box-sizing:border-box}.app-seat-column .seat-customer-name{display:-webkit-box;width:100%;min-height:1.1em;overflow:hidden;margin:0;font-size:.68rem;line-height:1.1;text-align:center;word-break:break-word;-webkit-box-orient:vertical;-webkit-line-clamp:2}.app-seat-column .seat-reservation-time{display:block;width:100%;margin:0;font-size:.62rem;line-height:1.2;text-align:center;white-space:nowrap}.app-seat-column .reservation-bottom-row{display:flex;width:100%;min-width:0;align-items:center;justify-content:center;gap:0;margin-top:1px}.app-seat-column .reservation-people{display:inline-flex;min-height:21px;align-items:center;justify-content:center;margin:0;padding:3px 7px;font-size:.72rem;line-height:1}.app-seat-column .seat-change-source-badge{position:absolute;right:4px;bottom:4px;width:auto;font-size:.58rem}.seat.selected,.seat.combined-reservation.selected,.seat-change-current{outline:none;box-shadow:inset 0 0 0 5px #166fe5,inset 0 0 0 8px #166fe52e}.seat-change-target{outline:none;box-shadow:inset 0 0 0 5px #20bf68,inset 0 0 0 8px #20bf682e}.app-seat-column .seat-detail{display:grid;width:100%;min-height:76px;height:76px;max-height:76px;flex:0 0 auto;grid-template-columns:minmax(180px,1fr) 90px 90px auto;grid-template-areas:"selected type status action";align-items:center;gap:18px;margin-top:auto;margin-bottom:0;padding:8px 18px;border:1px solid #d6e0ec;border-radius:12px;background:#fff;overflow:hidden;box-sizing:border-box}.app-seat-column .seat-detail>div:first-child{grid-area:selected;display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center}.app-seat-column .seat-detail>div:first-child .section-label{margin:0 0 6px;color:#166fe5;font-size:.6rem;font-weight:900;line-height:1;letter-spacing:.16em;text-transform:uppercase}.app-seat-column .seat-detail>div:first-child h2{margin:0;font-size:1rem;line-height:1}.app-seat-column .seat-detail-items{display:contents}.app-seat-column .seat-detail-items>p{display:flex;min-width:0;margin:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px}.app-seat-column .seat-detail-items>p:nth-child(1){grid-area:type}.app-seat-column .seat-detail-items>p:nth-child(2){grid-area:status}.app-seat-column .seat-detail-items span{display:block;margin:0;color:#8a94a6;font-size:.58rem;line-height:1}.app-seat-column .seat-detail-items strong{display:block;margin:0;color:#172033;font-size:.72rem;font-weight:900;line-height:1.1;white-space:nowrap}.app-seat-column .seat-detail>button{grid-area:action;justify-self:end;min-width:138px;min-height:38px;height:38px;padding:0 14px;border-radius:8px;font-size:.68rem;white-space:nowrap}.app-reservation-column{display:flex;flex-direction:column;overflow:hidden}.app-reservation-column .app-panel-heading{flex:0 0 auto}.app-reservation-list-area{min-height:0;height:auto;max-height:none;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;padding-right:3px;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.app-reservation-column .reservation-list{grid-template-columns:1fr;gap:10px}.app-reservation-column .reservation-card{padding:10px;border-radius:13px}.app-reservation-column .reservation-card:hover{transform:none}.app-reservation-column .reservation-card-header{gap:9px;margin-bottom:6px}.app-reservation-column .reservation-card h3{margin-top:3px;font-size:.96rem}.app-reservation-column .reservation-card-badges{gap:5px}.app-reservation-column .reservation-seat,.app-reservation-column .reservation-route{padding:4px 7px;font-size:.66rem}.app-reservation-column .reservation-card dl>div{gap:10px;padding:6px 0}.app-reservation-column .reservation-card dt{font-size:.74rem}.app-reservation-column .reservation-card dd{font-size:.78rem}.app-reservation-column .reservation-memo{margin-top:10px;padding:9px;font-size:.76rem}.app-reservation-column .reservation-card-actions{justify-content:flex-end;gap:7px;margin-top:7px}.app-reservation-column .reservation-card-actions button{min-height:34px;height:34px;flex:0 1 auto;padding:0 10px;font-size:.76rem}.app-reservation-column .reservation-live-info{gap:6px;margin-top:9px;padding:8px}.app-reservation-column .reservation-live-info>div{min-height:50px;gap:3px;padding:6px 4px}.app-reservation-column .reservation-live-info span{font-size:.65rem}.app-reservation-column .reservation-live-info strong{font-size:.78rem}.app-reservation-column .paid-reservation-section{margin-top:10px;padding-top:9px}.app-reservation-column .paid-reservation-toggle{min-height:40px;padding:7px 10px;font-size:.8rem}.app-page:has(>.reservation-form-card) .app-operation-workspace,.app-page:has(>.reservation-form-card) .app-recommendation-toolbar{display:none}.app-page>.reservation-form-card{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;margin-top:0;padding:12px 18px 10px;overflow:hidden}.reservation-form-card .form-header{flex:0 0 auto;gap:10px;margin-bottom:10px}.reservation-form-card .form-header h2{margin:2px 0 0;font-size:1.3rem;line-height:1.1}.reservation-form-card .form-header p{margin-top:3px;font-size:.8rem;line-height:1.2}.reservation-form-card .section-label{font-size:.66rem;line-height:1}.reservation-form-card .close-button{width:42px;height:42px;min-height:42px}.reservation-form-card form{display:flex;min-height:0;flex:1 1 auto;flex-direction:column}.reservation-form-card .form-grid{flex:1 1 auto;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:8px 14px}.reservation-form-card .field{gap:4px}.reservation-form-card .field>span{font-size:.76rem;line-height:1.1}.reservation-form-card .field input,.reservation-form-card .field select{min-height:40px;height:40px;padding:7px 11px;border-radius:8px;font-size:16px}.reservation-form-card .field textarea{min-height:54px;height:54px;padding:8px 11px;border-radius:8px;resize:none;font-size:16px;line-height:1.25}.reservation-form-card .form-actions{flex:0 0 auto;gap:10px;margin-top:8px;padding-top:8px;border-top:1px solid #e2e8f0}.reservation-form-card .form-actions button{min-height:42px;height:42px;padding:0 18px;font-size:.8rem}}@media(min-width:900px)and (max-width:1366px){.app-page>.reservation-form-card.reservation-create-layout{min-height:0;height:auto;max-height:100%;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.app-page>.reservation-form-card.reservation-create-layout>form{min-height:auto;flex:0 0 auto;overflow:visible!important}.app-page>.reservation-form-card.reservation-create-layout .reservation-recommendation-area{min-height:auto;flex:0 0 auto;overflow:visible;grid-template-rows:auto auto auto}.app-page>.reservation-management-page{min-height:0;flex:1 1 auto;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(32px + env(safe-area-inset-bottom));box-sizing:border-box}}.seat-layout-equipment-summary{display:inline-flex;align-items:center;gap:5px}.seat-layout-equipment-summary strong{white-space:nowrap}@media(max-width:1100px){.seat-layout-summary{flex-wrap:wrap}.seat-layout-equipment-summary{width:100%}}@media(min-width:768px)and (max-width:1366px)and (orientation:landscape){.app-seat-column .seat-section{min-height:0}.app-seat-column .seat-grid,.app-seat-column .seat-layout-grid{min-height:0;height:100%;flex:1 1 auto;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:6px}.app-seat-column .seat,.app-seat-column .seat-予約{width:calc(100% - 4px);min-height:0;height:auto;max-height:none;padding:4px 5px}.app-seat-column .reserved-seat-header{min-height:28px;padding:3px 4px}.app-seat-column .reserved-seat-body{gap:2px;padding:3px 4px 4px}.app-seat-column .seat-customer-name{min-height:1.8em;font-size:.68rem}.app-seat-column .seat-reservation-time,.app-seat-column .reservation-people,.app-seat-column .seat-status,.app-seat-column .seat-type{font-size:.58rem}}@media(min-width:768px)and (max-width:1366px)and (orientation:landscape){.app-seat-column .seat-grid,.app-seat-column .seat-layout-grid{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:8px}.app-seat-column .seat-layout-grid .seat,.app-seat-column .seat-grid .seat,.app-seat-column .seat,.app-seat-column .seat-予約{box-sizing:border-box;width:100%;min-width:0;min-height:0;height:100%;max-height:none;margin:0;padding:7px 6px;align-self:stretch;justify-self:stretch}.app-seat-column .seat-type-o{width:100%;height:100%;aspect-ratio:auto;align-self:stretch;justify-self:stretch}.app-seat-column .seat-予約{padding:0}.app-seat-column .reserved-seat-header{min-height:31px;padding:5px 4px}.app-seat-column .reserved-seat-body{gap:3px;padding:5px 4px 6px}.app-seat-column .seat-id,.app-seat-column .seat-予約 .reserved-seat-header .seat-id{font-size:.9rem}.app-seat-column .seat-layout-grid .seat:not(.seat-予約) .seat-id{font-size:.95rem}.app-seat-column .seat-layout-grid .seat:not(.seat-予約) .seat-type,.app-seat-column .seat-layout-grid .seat:not(.seat-予約) .seat-status,.app-seat-column .seat-reservation-time,.app-seat-column .reservation-people,.app-seat-column .seat-status,.app-seat-column .seat-type{font-size:.64rem}.app-seat-column .seat-customer-name{min-height:2em;font-size:.72rem}}@media(min-width:768px)and (max-width:1366px)and (orientation:landscape){.app-seat-column .app-seat-layout-area{display:flex;min-height:0;flex:1 1 auto;overflow:hidden}.app-seat-column .seat-section{width:100%;height:100%;min-height:0;flex:1 1 auto}.app-seat-column .seat-grid,.app-seat-column .seat-layout-grid{width:100%;height:100%;min-height:0;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);align-items:stretch}.app-seat-column .seat-layout-grid .seat,.app-seat-column .seat-grid .seat{width:100%;height:100%;min-height:0;max-height:none;align-self:stretch;justify-self:stretch;aspect-ratio:auto}}@media(min-width:900px)and (max-width:1366px){html.ocean-calendar-scroll,html.ocean-calendar-scroll body,html.ocean-calendar-scroll body #root{height:auto;min-height:100%;max-height:none;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:auto}html.ocean-calendar-scroll body{min-height:100dvh}.app-page.app-page-calendar-scroll{display:flex;width:calc(100% - 16px);height:auto;min-height:100dvh;max-height:none;overflow:visible;padding-bottom:calc(32px + env(safe-area-inset-bottom))}.app-page.app-page-calendar-scroll>.management-hub{flex:0 0 auto;overflow:visible}}@media(min-width:900px)and (max-width:1366px){.app-page.app-page-calendar-scroll>.calendar-view{flex:0 0 auto;width:100%;overflow:visible}}@media(min-width:900px)and (max-width:1366px){.app-page>.reservation-form-card.reservation-edit-layout{min-height:0;max-height:100%;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(18px + env(safe-area-inset-bottom))}.app-page>.reservation-form-card.reservation-edit-layout>form{min-height:auto;flex:0 0 auto;overflow:visible!important}.app-page>.calendar-view{min-height:0;flex:1 1 auto;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding-bottom:calc(24px + env(safe-area-inset-bottom));box-sizing:border-box}}.reservation-live-info{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:16px;padding:14px;border:1px solid #f1b3b3;border-radius:12px;background:#fff7f7}.reservation-live-info>div{display:flex;min-height:66px;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px;border-radius:10px;background:#fff;text-align:center}.reservation-live-info span{color:#788397;font-size:.76rem;font-weight:800}.reservation-live-info strong{color:#b42318;font-size:1rem;font-weight:900}.reservation-time-overtime{border:1px solid #ef4b4b;background:#fff0f0!important}.reservation-time-overtime span,.reservation-time-overtime strong{color:#b42318}.reservation-live-info-warning{display:flex;min-height:70px;flex-direction:column;align-items:flex-start;justify-content:center;border-color:#f1c56b;background:#fff8e7;color:#9a5b00}.reservation-live-info-warning strong,.reservation-live-info-warning span{color:#9a5b00}@media(min-width:900px)and (max-width:1366px){.app-reservation-column .reservation-card{position:relative}.app-reservation-column .reservation-compact-main{padding-right:40px}.app-reservation-column .reservation-expand-indicator{position:absolute;top:7px;right:8px;z-index:2;display:inline-flex;width:34px;height:34px;min-width:34px;min-height:34px;align-items:center;justify-content:center;font-size:1.75rem;font-weight:900;line-height:1;cursor:pointer}.app-reservation-column .reservation-card:not(.reservation-card-expanded) .reservation-card-actions{margin-top:0;transform:translateY(-12px)}.app-reservation-column .reservation-card-expanded .reservation-card-actions{margin-top:18px;transform:none}.app-reservation-column .reservation-card-actions{pointer-events:none}.app-reservation-column .reservation-card-actions button{width:auto!important;flex:0 0 auto!important;pointer-events:auto}}@media(min-width:900px)and (max-width:1366px){.reservation-form-card:not(.reservation-create-layout){padding-top:10px;padding-bottom:4px}.reservation-form-card:not(.reservation-create-layout) .form-header{margin-bottom:7px}.reservation-form-card:not(.reservation-create-layout) .form-header h2{font-size:1.2rem}.reservation-form-card:not(.reservation-create-layout) .form-header p{margin-top:2px;font-size:.74rem}.reservation-form-card:not(.reservation-create-layout) .form-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px 14px}.reservation-form-card:not(.reservation-create-layout) .field{width:100%;min-width:0;max-width:100%;overflow:hidden}.reservation-form-card:not(.reservation-create-layout) .field input,.reservation-form-card:not(.reservation-create-layout) .field select,.reservation-form-card:not(.reservation-create-layout) .field textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box}.reservation-form-card:not(.reservation-create-layout) input[type=date],.reservation-form-card:not(.reservation-create-layout) input[type=time]{display:block;inline-size:100%;width:100%;min-inline-size:0;min-width:0;max-inline-size:100%;max-width:100%;height:38px;min-height:38px;padding:5px 10px;text-align:center;box-sizing:border-box;-webkit-appearance:none;-moz-appearance:none;appearance:none}.reservation-form-card:not(.reservation-create-layout) input[type=date]::-webkit-date-and-time-value,.reservation-form-card:not(.reservation-create-layout) input[type=time]::-webkit-date-and-time-value{min-width:0;text-align:center}.reservation-form-card:not(.reservation-create-layout) .field input:not([type=date]):not([type=time]),.reservation-form-card:not(.reservation-create-layout) .field select{min-height:38px;height:38px;padding:5px 10px}.reservation-form-card:not(.reservation-create-layout) .field>.empty-state{display:flex;width:100%;min-height:38px;height:38px;align-items:center;justify-content:center;margin:0;padding:5px 10px;border-radius:8px;box-sizing:border-box;font-size:.82rem;line-height:1}.reservation-form-card:not(.reservation-create-layout) .field textarea{min-height:48px;height:48px;padding:7px 10px}.reservation-form-card:not(.reservation-create-layout) .form-actions{gap:10px;margin-top:5px;padding-top:5px}.reservation-form-card:not(.reservation-create-layout) .form-actions button{min-height:38px;height:38px;padding:0 16px}}@media(min-width:900px)and (max-width:1366px){.reservation-form-card.reservation-create-layout{display:flex;width:100%;height:100%;min-height:0;padding:10px 12px 8px;overflow:hidden;flex-direction:column;box-sizing:border-box}.reservation-form-card.reservation-create-layout>.form-header{min-height:44px;margin-bottom:6px;flex:0 0 auto}.reservation-form-card.reservation-create-layout .form-header h2{margin:0;font-size:1.14rem;line-height:1.1}.reservation-form-card.reservation-create-layout .form-header .section-label{margin-bottom:2px;font-size:.6rem}.reservation-form-card.reservation-create-layout .reservation-selected-seat{margin:4px 0 0;font-size:.72rem;line-height:1.15}.reservation-form-card.reservation-create-layout>form{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;overflow:hidden}.reservation-create-layout .reservation-form-upper{display:flex;min-height:0;flex:0 0 auto;flex-direction:column}.reservation-create-layout .reservation-compact-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1.2fr) minmax(120px,.62fr) minmax(140px,.82fr);gap:8px 10px;align-items:start}.reservation-create-layout .reservation-compact-grid .field{min-width:0;gap:4px}.reservation-create-layout .reservation-compact-grid .field>span{font-size:.68rem;font-weight:800;line-height:1.1}.reservation-create-layout .reservation-compact-grid input,.reservation-create-layout .reservation-compact-grid select{width:100%;min-width:0;height:44px;min-height:44px;max-height:44px;padding:0 12px;border-radius:9px;font-size:.82rem;line-height:44px;box-sizing:border-box}.reservation-create-layout .reservation-compact-grid select{padding-right:32px}.reservation-create-layout .reservation-compact-grid input[type=date],.reservation-create-layout .reservation-compact-grid input[type=time]{display:block;inline-size:100%;width:100%;min-inline-size:0;min-width:0;max-inline-size:100%;max-width:100%;padding:0 12px;text-align:center;line-height:44px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.reservation-create-layout .reservation-compact-grid input[type=date]::-webkit-date-and-time-value,.reservation-create-layout .reservation-compact-grid input[type=time]::-webkit-date-and-time-value{display:inline-block;width:100%;min-height:44px;line-height:44px;text-align:center}.reservation-create-layout .reservation-compact-grid input[type=date]::-webkit-calendar-picker-indicator,.reservation-create-layout .reservation-compact-grid input[type=time]::-webkit-calendar-picker-indicator{margin:0}.reservation-create-layout .reservation-compact-grid .field-full{grid-column:1 / -1}.reservation-create-layout .reservation-compact-grid textarea{width:100%;min-width:0;height:52px;min-height:52px;max-height:52px;padding:10px 12px;border-radius:9px;font-size:.82rem;line-height:1.2;resize:none;box-sizing:border-box}.reservation-create-layout .edit-combined-seat-info{margin-top:8px;padding:10px 12px;border-radius:10px;font-size:.72rem}.reservation-create-layout .reservation-recommendation-area{position:relative;display:grid;min-height:0;margin-top:6px;padding-top:6px;border-top:1px solid rgba(148,163,184,.35);grid-template-rows:auto minmax(104px,1fr) auto;row-gap:6px;flex:1 1 auto;overflow:hidden}.reservation-create-layout .reservation-recommendation-heading{display:flex;min-height:32px;align-items:center;justify-content:space-between;gap:10px;margin-bottom:0}.reservation-create-layout .reservation-recommendation-heading h3{margin:0;font-size:.96rem;line-height:1.1}.reservation-create-layout .reservation-recommendation-heading .section-label{margin:0 0 2px;font-size:.58rem}.reservation-create-layout .reservation-seat-selection-status{display:inline-flex;min-height:28px;align-items:center;justify-content:center;padding:4px 10px;border:1px solid #bfdbfe;border-radius:999px;background:#eff6ff;color:#1d4ed8;font-size:.66rem;font-weight:900;line-height:1;white-space:nowrap}.reservation-create-layout .recommendation-seat-legend{position:absolute;top:9px;left:50%;z-index:2;display:flex;min-height:20px;align-items:center;justify-content:center;gap:14px;padding:0 8px;background:#fff;color:#475569;font-size:.58rem;font-weight:800;line-height:1;text-align:center;white-space:nowrap;transform:translate(-50%);pointer-events:none}.reservation-create-layout .recommendation-seat-legend-item{display:inline-flex;align-items:center;gap:4px}.reservation-create-layout .recommendation-seat-legend-color{display:inline-block;width:10px;height:10px;flex:0 0 auto;border:1px solid #cbd5e1;border-radius:3px;box-sizing:border-box}.reservation-create-layout .recommendation-seat-legend-color.recommended{border-color:#166fe5;background:#dbeafe;box-shadow:inset 0 0 0 1px #166fe5}.reservation-create-layout .recommendation-seat-legend-color.reserved{border-color:#ef4444;background:#fee2e2;box-shadow:inset 0 0 0 1px #b423181f}.reservation-create-layout .recommendation-seat-legend-color.available{background:#fff}.reservation-create-layout .recommendation-top-three{display:grid;min-height:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;align-items:stretch}.reservation-create-layout .recommendation-choice-card{position:relative;display:flex;min-width:0;min-height:104px;padding:8px 12px;border:2px solid #d8e0ea;border-radius:12px;background:#fff;color:#1f2937;align-items:stretch;justify-content:stretch;overflow:hidden;text-align:left;cursor:pointer;box-sizing:border-box;touch-action:manipulation}.reservation-create-layout .recommendation-choice-card:active{transform:scale(.99)}.reservation-create-layout .recommendation-choice-card.selected{border-color:#166fe5;background:#eff6ff;box-shadow:inset 0 0 0 2px #166fe5,0 6px 14px #166fe529}.reservation-create-layout .recommendation-card-content{display:grid;width:100%;min-width:0;height:100%;grid-template-columns:minmax(92px,.9fr) minmax(132px,1.35fr);align-items:stretch;gap:10px}.reservation-create-layout .recommendation-card-text{display:flex;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:4px;text-align:left}.reservation-create-layout .recommendation-card-visual{display:flex;min-width:0;height:100%;flex-direction:column;align-items:stretch;justify-content:space-between;gap:5px}.reservation-create-layout .recommendation-reasons{display:flex;min-width:0;flex-direction:column;align-items:flex-start;gap:2px;text-align:left}.reservation-create-layout .recommendation-reasons-label{color:#64748b;font-size:.5rem;font-weight:900;line-height:1}.reservation-create-layout .recommendation-reasons-text{display:block;width:100%;min-width:0;overflow:hidden;color:#334155;font-size:.58rem;font-weight:800;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.reservation-create-layout .recommendation-mini-layout{display:flex;min-width:0;margin-top:auto;flex-direction:column;align-items:stretch;justify-content:flex-end;gap:3px;padding:5px;border:1px solid #d8e0ea;border-radius:8px;background:#f8fafc}.reservation-create-layout .recommendation-mini-seat-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(3,18px);gap:2px}.reservation-create-layout .recommendation-mini-seat,.reservation-create-layout .recommendation-mini-seat-empty{display:inline-flex;min-width:0;align-items:center;justify-content:center;border-radius:3px;font-size:.46rem;font-weight:900;line-height:1}.reservation-create-layout .recommendation-mini-seat{border:1px solid #cbd5e1;background:#fff;color:#475569}.reservation-create-layout .recommendation-mini-seat.highlighted{border-color:#166fe5;background:#dbeafe;color:#174a89;box-shadow:inset 0 0 0 1px #166fe5}.reservation-create-layout .recommendation-choice-card.selected .recommendation-mini-seat.highlighted{border-color:#0f766e;background:#ccfbf1;color:#115e59;box-shadow:inset 0 0 0 1px #0f766e}.reservation-create-layout .recommendation-rank{display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;padding:3px 7px;border-radius:999px;background:#eef2f7;font-size:.58rem;font-weight:900;line-height:1;white-space:nowrap}.reservation-create-layout .recommendation-choice-card.selected .recommendation-rank{background:#166fe5;color:#fff}.reservation-create-layout .recommendation-seat-name{display:block;max-width:100%;flex:0 0 auto;overflow:hidden;font-size:1rem;font-weight:900;line-height:1.15;text-align:left;text-overflow:ellipsis;white-space:nowrap}.reservation-create-layout .recommendation-seat-type,.reservation-create-layout .recommendation-capacity{display:block;max-width:100%;flex:0 0 auto;overflow:hidden;font-size:.66rem;font-weight:800;line-height:1.2;text-align:left;text-overflow:ellipsis;white-space:nowrap}.reservation-create-layout .recommendation-select-label{display:inline-flex;max-width:100%;min-height:24px;flex:0 0 auto;align-items:center;justify-content:center;margin-top:2px;padding:4px 10px;border-radius:7px;background:#1769d2;color:#fff;font-size:.62rem;font-weight:900;line-height:1;white-space:nowrap}.reservation-create-layout .recommendation-choice-card.selected .recommendation-select-label{background:#0f766e}.reservation-create-layout .recommendation-empty-state{display:flex;min-height:104px;align-items:center;justify-content:center;padding:10px;text-align:center;font-size:.72rem;line-height:1.4}.reservation-create-layout .manual-seat-selection-button{display:flex;width:100%;min-height:36px;height:36px;align-items:center;justify-content:center;margin-top:0;padding:0 12px;flex:0 0 auto;font-size:.72rem}.reservation-create-layout .form-actions{min-height:42px;margin-top:6px;padding-top:6px;gap:8px;flex:0 0 auto}.reservation-create-layout .form-actions button{min-height:38px;height:38px;padding:0 16px;font-size:.78rem}.reservation-create-layout .recommendation-mini-seat.reserved{border-color:#ef4444;background:#fee2e2;color:#b42318;box-shadow:inset 0 0 0 1px #b423181f}}@media(min-width:900px)and (max-width:1366px){.app-seat-column .seat-detail .seat-detail-actions{grid-area:action;display:flex;min-width:0;align-items:center;justify-content:flex-end;gap:8px}.app-seat-column .seat-detail .seat-detail-actions button{width:auto;min-width:116px;min-height:38px;height:38px;padding:0 12px;border-radius:8px;font-size:.68rem;font-weight:800;line-height:1;white-space:nowrap}.app-seat-column .seat-detail .seat-detail-actions .primary-button{min-width:126px}.app-seat-column .seat-detail .seat-detail-actions button:disabled{cursor:not-allowed;opacity:.55}.reservation-form-card.reservation-walk-in-layout .reservation-form-upper{flex:1 1 auto}.reservation-form-card.reservation-walk-in-layout .reservation-recommendation-area{display:none}.reservation-form-card.reservation-walk-in-layout .reservation-compact-grid{grid-template-columns:minmax(0,1.35fr) minmax(120px,.65fr) minmax(0,1fr) minmax(0,1fr);align-content:start}.reservation-form-card.reservation-walk-in-layout .reservation-compact-grid .empty-state{display:flex;width:100%;height:44px;min-height:44px;align-items:center;justify-content:center;margin:0;padding:0 12px;border-radius:9px;box-sizing:border-box;font-size:.82rem;font-weight:800}.reservation-form-card.reservation-walk-in-layout input:disabled{color:#172033;background:#f1f5f9;opacity:1;-webkit-text-fill-color:#172033}}@media(min-width:700px)and (max-width:1400px)and (orientation:landscape){.reservation-form-card .reservation-equipment-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.reservation-form-card .reservation-child-equipment,.reservation-form-card .reservation-policy-options{padding:8px}.reservation-form-card .reservation-checkbox-row{font-size:.74rem}}@media(min-width:900px)and (max-width:1366px){.reservation-form-card .reservation-manual-seat-actions{grid-template-columns:minmax(0,1fr) auto;gap:8px 10px}.reservation-form-card .reservation-unassigned-row{min-height:42px;padding-inline:10px;font-size:.76rem}}@media(min-width:900px)and (max-width:1366px){html{width:100%;height:100%;overflow:hidden}body{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;overflow:hidden;overscroll-behavior:none}#root{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:hidden}.app-page{position:relative;width:calc(100% - 16px);height:100%;max-height:100%;margin:0 auto;padding:max(8px,env(safe-area-inset-top)) 0 max(8px,env(safe-area-inset-bottom));overflow:hidden;box-sizing:border-box}.app-reservation-list-area{overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;touch-action:pan-y}.app-seat-column,.app-seat-column .seat-section{overflow:hidden;overscroll-behavior:none}.app-seat-layout-area{display:flex;min-height:0;flex:1 1 auto;flex-direction:column;cursor:default}.app-seat-layout-area .seat-section{flex:0 0 auto}}@media(min-width:768px)and (max-width:1366px)and (orientation:landscape){.app-seat-column .app-seat-layout-area{min-height:0!important;flex:1 1 0!important;overflow:hidden!important}.app-seat-column .app-seat-layout-area .seat-section,.app-seat-column .seat-section{display:flex!important;width:100%!important;height:100%!important;min-height:0!important;flex:1 1 0!important;overflow:hidden!important}.app-seat-column .seat-grid,.app-seat-column .seat-layout-grid{box-sizing:border-box!important;width:100%!important;height:100%!important;min-height:0!important;flex:1 1 0!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;grid-template-rows:repeat(4,minmax(0,1fr))!important;grid-auto-rows:minmax(0,1fr)!important;align-items:stretch!important;justify-items:stretch!important;gap:6px!important}.app-seat-column .seat-layout-grid .seat,.app-seat-column .seat-grid .seat,.app-seat-column .seat,.app-seat-column .seat-予約,.app-seat-column .seat-type-o{box-sizing:border-box!important;width:100%!important;height:100%!important;min-width:0!important;min-height:0!important;max-width:none!important;max-height:none!important;margin:0!important;align-self:stretch!important;justify-self:stretch!important;aspect-ratio:auto!important}}
