@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Roboto+Condensed:wght@700&display=swap";
.bookings-layout{background:linear-gradient(#f8f7f7 0%,#fff 100%);flex-direction:column;min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex}.bookings-header{background:#fff;border-bottom:1px solid #e5e5e5;padding:.75rem 1.5rem}.bookings-header-inner{justify-content:space-between;align-items:center;max-width:960px;margin:0 auto;display:flex}.bookings-logo-link{text-decoration:none;display:block}.bookings-logo-text{letter-spacing:-1px;font-family:Roboto Condensed,Arial,sans-serif;font-size:36px;font-weight:700}.logo-tech{color:#ce5d5b}.logo-bay{color:#212121}.bookings-nav{align-items:center;gap:1rem;display:flex}.bookings-nav-link{color:#333;border-radius:6px;padding:.5rem .75rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:background .2s}.bookings-nav-link:hover{background:#f0f0f0}.bookings-nav-btn{color:#fff;background:#ce5d5b;border-radius:6px;align-items:center;gap:.25rem;padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .2s;display:inline-flex}.bookings-nav-btn:hover{background:#b54e4c}@media (max-width:480px){.bookings-nav-link{display:none}}.bookings-main{flex:1;width:100%;max-width:640px;margin:0 auto;padding:2rem 1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.bookings-home{flex-direction:column;gap:1.5rem;display:flex}.bookings-hero{text-align:center;padding:1rem 0 .5rem}.bookings-hero-title{color:#212121;margin:0 0 .5rem;font-size:1.75rem;font-weight:700}.bookings-hero-subtitle{color:#666;margin:0;font-size:1rem}.bookings-divider{text-align:center;color:#999;align-items:center;font-size:.875rem;display:flex}.bookings-divider:before,.bookings-divider:after{content:"";border-bottom:1px solid #e5e5e5;flex:1}.bookings-divider span{padding:0 1rem}.booking-calendar-wrapper{width:100%;margin:.5rem 0;display:flex;overflow-x:hidden}.booking-calendar{box-sizing:border-box;background:#f9f9f9;border:1px solid #e5e5e5;border-radius:12px;width:100%;max-width:100%;padding:1rem}.booking-calendar [data-slot=calendar]{max-width:100%;width:100%!important}.booking-calendar .rdp-months,.booking-calendar>div>div,.booking-calendar .rdp-month{width:100%}.booking-calendar .rdp-week,.booking-calendar .rdp-weekdays{justify-content:space-between;width:100%;display:flex!important}.booking-calendar .rdp-weekday,.booking-calendar .rdp-day{justify-content:center;align-items:center;display:flex;flex:1 1 0!important;min-width:0!important}@media (max-width:480px){.booking-calendar{padding:.75rem .5rem}.booking-calendar [data-slot=calendar]{--cell-size:calc((100vw - 4rem)/7)!important;padding:.5rem!important}.booking-calendar .rdp-weekday,.booking-calendar th{padding:.25rem 0!important;font-size:.75rem!important}.booking-calendar .rdp-day button,.booking-calendar td button{max-width:2.5rem;max-height:2.5rem;width:calc(14.2857vw - .714286rem)!important;height:calc(14.2857vw - .714286rem)!important;min-width:unset!important;padding:0!important;font-size:.8rem!important}.booking-calendar .rdp-button_previous,.booking-calendar .rdp-button_next,.booking-calendar [class*=nav_button]{width:2rem!important;height:2rem!important;min-width:unset!important;padding:0!important}.booking-calendar .rdp-month_caption,.booking-calendar .rdp-caption_label,.booking-calendar [class*=caption]{font-size:.9rem!important}.booking-calendar table{table-layout:fixed!important;width:100%!important}.booking-calendar td,.booking-calendar th{padding:.125rem!important}.booking-calendar .rdp-week,.booking-calendar .rdp-weekdays{gap:0!important}.booking-selected-date{font-size:.8rem}}@media (max-width:360px){.booking-calendar [data-slot=calendar]{--cell-size:calc((100vw - 3rem)/7)!important;padding:.25rem!important}.booking-calendar .rdp-day button,.booking-calendar td button{max-width:2rem;max-height:2rem;width:calc(14.2857vw - .571429rem)!important;height:calc(14.2857vw - .571429rem)!important;font-size:.7rem!important}.booking-calendar .rdp-weekday,.booking-calendar th{font-size:.65rem!important}.booking-calendar .rdp-month_caption,.booking-calendar .rdp-caption_label{font-size:.8rem!important}}.booking-calendar,.booking-calendar *,.booking-calendar button{color:#333}.booking-calendar [data-disabled] button,.booking-calendar button:disabled{color:#bbb;opacity:.5}.booking-calendar [data-selected] button{color:#fff!important;background:#ce5d5b!important}.booking-calendar [class*=caption],.booking-calendar [class*=nav],.booking-calendar [class*=header],.booking-calendar>div>div{color:#333}.booking-calendar [class*=caption_label],.booking-calendar [class*=month]{color:#333;font-weight:600}.booking-calendar [class*=nav_button]{color:#333}.booking-calendar [class*=nav_button]:hover{background:#e0e0e0}.booking-calendar table{width:100%}.booking-calendar th{color:#666;padding:.5rem;font-weight:500}.booking-calendar td{padding:.25rem}.booking-calendar td button{aspect-ratio:1;border-radius:8px;width:100%;max-width:2.5rem;height:auto;max-height:2.5rem;font-size:.9rem}.booking-calendar .rdp-today,.booking-calendar [class*=today]{background:0 0!important}.booking-calendar .rdp-today button,.booking-calendar [class*=today] button{background:0 0!important;border:2px solid #ce5d5b!important}.booking-selected-date{text-align:center;color:#ce5d5b;margin:.5rem 0 0;font-size:.875rem;font-weight:500}.bookings-footer{color:#fff;text-align:center;background:#212121;padding:1.5rem}.bookings-footer-content{max-width:640px;margin:0 auto}.bookings-footer-company{margin:0 0 .5rem;font-size:.875rem;font-weight:600}.bookings-footer-address{opacity:.9;margin:0 0 .5rem;font-size:.8125rem}.bookings-footer-contact{margin:0 0 .5rem;font-size:.875rem}.bookings-footer-contact a{color:#ce5d5b;text-decoration:none;transition:opacity .2s}.bookings-footer-contact a:hover{opacity:.8}.bookings-footer-hours{opacity:.7;margin:0;font-size:.75rem}.booking-card{color:#212121;background:#fff;border-radius:12px;margin-bottom:1.5rem;padding:2rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;box-shadow:0 2px 8px #00000014}.booking-card,.booking-card *{color:inherit}.booking-card h1,.booking-card h2,.booking-card h3,.booking-card h4,.booking-card p,.booking-card span,.booking-card label{color:#212121}.booking-card .booking-card-subtitle,.booking-card .booking-detail-label,.booking-card .booking-loading-text{color:#666}.booking-card-header{text-align:center;margin-bottom:1.5rem}.booking-card-title{color:#212121;margin:0 0 .5rem;font-size:1.5rem;font-weight:700}.booking-card-subtitle{color:#666;margin:0;font-size:1rem}.booking-form{flex-direction:column;gap:1.25rem;display:flex}.booking-form-group{flex-direction:column;gap:.5rem;display:flex}.booking-form-label{color:#333;font-size:.875rem;font-weight:500}.booking-form-input,.booking-form-textarea,.booking-form-select{color:#333;background:#fff;border:1px solid #ddd;border-radius:8px;padding:.75rem 1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;transition:border-color .2s,box-shadow .2s}.booking-form-input:focus,.booking-form-textarea:focus,.booking-form-select:focus{border-color:#ce5d5b;outline:none;box-shadow:0 0 0 3px #ce5d5b26}.booking-form-textarea{resize:vertical;min-height:100px}.booking-form-input::placeholder,.booking-form-textarea::placeholder{color:#999;opacity:1}.booking-btn{cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:600;transition:all .2s;display:inline-flex}.booking-btn-primary{color:#fff;background:#ce5d5b}.booking-btn-primary:hover{background:#b54e4c}.booking-btn-primary:disabled{cursor:not-allowed;background:#ccc}.booking-btn-secondary{color:#333;background:#f0f0f0}.booking-btn-secondary:hover{background:#e0e0e0}.booking-btn-outline{color:#ce5d5b;background:0 0;border:2px solid #ce5d5b}.booking-btn-outline:hover{color:#fff;background:#ce5d5b}.booking-btn-danger{color:#fff;background:#ef4444}.booking-btn-danger:hover{background:#dc2626}.booking-status{border-radius:20px;align-items:center;gap:.375rem;padding:.375rem .75rem;font-size:.875rem;font-weight:500;display:inline-flex}.booking-status-pending{color:#92400e;background:#fef3c7}.booking-status-confirmed{color:#065f46;background:#d1fae5}.booking-status-completed{color:#3730a3;background:#e0e7ff}.booking-status-cancelled{color:#991b1b;background:#fee2e2}.booking-details{flex-direction:column;gap:.75rem;display:flex}.booking-detail-row{border-bottom:1px solid #f0f0f0;justify-content:space-between;padding:.5rem 0;display:flex}.booking-detail-row:last-child{border-bottom:none}.booking-detail-label{color:#666;font-size:.875rem}.booking-detail-value{color:#212121;text-align:right;font-weight:500}.booking-error{text-align:center;background:#fee2e2;border:1px solid #fecaca;border-radius:8px;padding:1rem}.booking-error-title{color:#991b1b;margin:0 0 .5rem;font-size:1.125rem;font-weight:600}.booking-error-message{color:#7f1d1d;margin:0}.booking-loading{flex-direction:column;justify-content:center;align-items:center;padding:3rem;display:flex}.booking-loading-spinner{border:3px solid #f0f0f0;border-top-color:#ce5d5b;border-radius:50%;width:40px;height:40px;animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.booking-loading-text{color:#666;margin-top:1rem}.booking-actions{gap:1rem;margin-top:1.5rem;display:flex}@media (max-width:480px){.booking-actions{flex-direction:column}.booking-actions .booking-btn{width:100%}}.time-slots-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem;margin-top:.5rem;display:grid}.time-slot{text-align:center;cursor:pointer;color:#333;background:#fff;border:1px solid #ddd;border-radius:6px;padding:.75rem .5rem;font-size:.875rem;transition:all .2s}.time-slot:hover:not(.time-slot-selected):not(.time-slot-unavailable){background:#fef2f2;border-color:#ce5d5b}.time-slot-selected{color:#fff;background:#ce5d5b;border-color:#ce5d5b}.time-slot-unavailable{color:#999;cursor:not-allowed;background:#f5f5f5;text-decoration:line-through}
