.rm-reservation-form-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;align-items:start;width:100%;min-width:0}.rm-reservation-field{display:flex;flex-direction:column;min-width:0;max-width:100%}.rm-reservation-field--date,.rm-reservation-field--facility,.rm-reservation-field--participants{grid-column:span 2}.rm-reservation-field--duration,.rm-reservation-field--start-time{grid-column:span 3}.rm-reservation-field--end-preview{grid-column:1/-1}.rm-reservation-field-label{display:flex;align-items:center;height:18px;margin-bottom:6px;font-size:11px;font-weight:800;color:#475569;line-height:1}.rm-reservation-field-label em{margin-left:2px;font-style:normal;color:#dc2626}.rm-reservation-control{width:100%;min-width:0;max-width:100%;height:44px;min-height:44px;border:1px solid #cbd5e1;border-radius:10px;padding:0 13px;background:#ffffff;color:#0f172a;font-size:13px;font-weight:700;box-sizing:border-box;appearance:none}.rm-reservation-control:focus{border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.1);outline:none}.rm-reservation-control:disabled{background:#f1f5f9;color:#94a3b8;cursor:not-allowed}select.rm-reservation-control{background-image:linear-gradient(45deg,transparent 50%,#64748b 0),linear-gradient(135deg,#64748b 50%,transparent 0);background-position:calc(100% - 18px) 50%,calc(100% - 12px) 50%;background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:34px}.rm-reservation-date-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;min-height:44px}.rm-reservation-date-quick{display:flex;gap:6px;flex-shrink:0;align-items:center}.rm-date-quick-btn{height:32px;padding:0 11px;border-radius:8px;border:1px solid #cbd5e1;background:#ffffff;color:#475569;font-size:11px;font-weight:800;line-height:1;cursor:pointer;white-space:nowrap}.rm-date-quick-btn.is-active,.rm-date-quick-btn:hover{background:#eff6ff;border-color:#93c5fd;color:#2563eb}.rm-reservation-participant-stepper{display:grid;grid-template-columns:40px 1fr 40px;height:44px;min-height:44px;border:1px solid #cbd5e1;border-radius:10px;overflow:hidden;background:#ffffff;box-sizing:border-box}.rm-reservation-participant-stepper button{height:44px;border:0;background:#f8fafc;color:#0f172a;font-size:16px;font-weight:900;cursor:pointer}.rm-reservation-participant-stepper button:disabled{color:#94a3b8;cursor:not-allowed}.rm-reservation-participant-stepper span{display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;font-weight:900;color:#0f172a;border-left:1px solid #e2e8f0;border-right:1px solid #e2e8f0}.rm-reservation-field-help{min-height:16px;margin:5px 0 0;font-size:10px;font-weight:700;color:#64748b;line-height:1.3}.rm-reservation-start-buttons{min-height:44px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;padding:4px 0}.rm-reservation-start-buttons.is-disabled{min-height:44px}.rm-reservation-start-btn{height:44px;min-width:72px;padding:0 12px;border:1px solid #cbd5e1;border-radius:10px;background:#ffffff;color:#0f172a;font-size:13px;font-weight:700;cursor:pointer;box-sizing:border-box}.rm-reservation-start-btn.is-active{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;box-shadow:0 0 0 3px rgba(37,99,235,.1)}.rm-reservation-start-placeholder{display:flex;align-items:center;min-height:44px;width:100%;padding:0 13px;border:1px dashed #cbd5e1;border-radius:10px;background:#f8fafc;color:#94a3b8;font-size:12px;font-weight:700;box-sizing:border-box}.rm-reservation-end-preview{min-height:52px;padding:10px 14px;border:1px solid #dbeafe;border-radius:11px;background:#f8fbff;display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box}.rm-reservation-end-preview__label{display:block;font-size:11px;font-weight:700;color:#64748b;margin-bottom:4px}.rm-reservation-end-preview strong{font-size:14px;font-weight:900;color:#0f172a}.rm-next-day-badge{height:24px;padding:0 8px;border-radius:999px;background:#eef2ff;color:#4f46e5;border:1px solid #c7d2fe;font-size:10px;font-weight:800;display:inline-flex;align-items:center;white-space:nowrap;flex-shrink:0}.reservation-create-modal.reservation-modal,.reservation-create-modal.seat-detail-modal{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 40px);display:flex;flex-direction:column;overflow:hidden}.reservation-create-modal .seat-detail-modal-body{flex:1;min-height:0;overflow-y:auto;padding:20px 22px;max-height:none}.reservation-create-modal .reservation-modal-footer{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:14px 22px;border-top:1px solid #e2e8f0;background:#ffffff;flex-shrink:0}.reservation-create-modal .reservation-modal-cancel,.reservation-create-modal .reservation-modal-submit{width:auto;height:46px;border-radius:10px;font-size:13px;font-weight:800}@media (max-width:900px){.rm-reservation-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rm-reservation-field--date,.rm-reservation-field--duration,.rm-reservation-field--facility,.rm-reservation-field--participants,.rm-reservation-field--start-time{grid-column:span 1}.rm-reservation-field--end-preview{grid-column:1/-1}}@media (max-width:700px){.rm-reservation-form-grid{grid-template-columns:1fr}.rm-reservation-form-grid>*{grid-column:1/-1}.rm-reservation-date-row{grid-template-columns:minmax(0,1fr) auto}.reservation-create-modal .reservation-modal-footer{grid-template-columns:140px 1fr}}