/* Frontend Form Styles */
#srb-booking-form-wrapper { max-width: 700px; margin: 20px auto; padding: 25px; border: 1px solid #ddd; border-radius: 8px; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif; background: #fff; }
.srb-instructions { background-color: #eef7ff; border-left: 4px solid #b3d7ff; padding: 15px 20px; margin-bottom: 20px; font-size: 14px; color: #004085; }
.srb-instructions p { margin: 0; }
#srb-booking-form-wrapper h3 { border-bottom: 2px solid #f0f0f1; padding-bottom: 10px; margin-top: 25px; margin-bottom: 20px; font-size: 1.2em; }
#srb-booking-form-wrapper .form-row { margin-bottom: 15px; }
#srb-booking-form-wrapper label { display: block; margin-bottom: 5px; font-weight: 600; }
#srb-booking-form-wrapper input[type="text"], #srb-booking-form-wrapper input[type="email"], #srb-booking-form-wrapper input[type="tel"], #srb-booking-form-wrapper textarea { width: 100%; padding: 10px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box; }
#srb-booking-form-wrapper button { background-color: #0073aa; color: white; padding: 12px 20px; border: none; border-radius: 4px; cursor: pointer; font-size: 16px; transition: background-color 0.2s; }
#srb-booking-form-wrapper button:hover { background-color: #005a87; }
#srb-booking-form-wrapper button:disabled { background-color: #aaa; cursor: not-allowed; }
#srb-booking-messages .error, .notice.error { border-left: 4px solid #d63638; padding: 12px; background: #fbeaea; margin-bottom: 15px; }
#srb-booking-messages .success, .notice.success { border-left: 4px solid #4CAF50; padding: 12px; background: #eaf7ea; margin-bottom: 15px; }
#srb-availability-results ul { list-style: none; padding: 0; margin: 0; }
#srb-availability-results .room-option { border: 1px solid #ddd; padding: 15px; margin-bottom: 10px; border-radius: 5px; display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; transition: all 0.2s; }
#srb-availability-results .room-option.selected { border-color: #0073aa; background-color: #f0f8ff; box-shadow: 0 0 5px rgba(0,115,170,0.5); }
#srb-availability-results .room-option span { margin: 0 10px; color: #555; font-size: 0.9em; }
#srb-availability-results .select-room-btn { background-color: #2271b1; color: white; padding: 8px 15px; font-size: 14px; }

/* Admin Calendar Styles */
#srb-calendar-wrap .calendar-nav { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20px; }
#srb-booking-calendar { border-collapse: collapse; width: 100%; }
#srb-booking-calendar th, #srb-booking-calendar td { text-align: center; padding: 10px; border: 1px solid #e5e5e5; }
#srb-booking-calendar td { height: 80px; vertical-align: top; }
#srb-booking-calendar td.booked { background-color: #fff0f0; }
#srb-booking-calendar .booking-count { font-size: 12px; background: #d63638; color: white; padding: 3px; border-radius: 3px; margin-top: 5px; }

/* Upgrade Page Styles */
.srb-upgrade-wrap { max-width: 800px; }
.srb-upgrade-content { background: #fff; padding: 20px 30px; border: 1px solid #ddd; }
.srb-upgrade-content h2 { border-bottom: 1px solid #eee; padding-bottom: 10px; }
.srb-upgrade-content ul { list-style: none; padding-left: 0; }
.srb-upgrade-content ul li { font-size: 1.1em; margin-bottom: 10px; }