*{box-sizing:border-box}body{background-color:#f5f5f5;color:#2b2b2b;margin:0;padding:0;min-height:100vh;width:100%}.navbar{display:flex;justify-content:space-between;align-items:center;background-color:#333;padding:1rem;color:#f8f8f8;margin-bottom:3rem;width:100%}.navbar h1{margin:0}.navbar ul{margin:0;padding:0}.navbar ul{list-style:none;display:flex;gap:1rem}.navbar ul li a{color:#f8f8f8;text-decoration:none}.navbar ul li a:hover{text-decoration:underline}.logout:hover{text-decoration:underline;cursor:pointer}.auth-form-container{width:100%;max-width:400px;margin:2rem auto;text-align:center}.auth-form-container h2{margin-bottom:1.5rem;font-size:1.5rem;color:#333}.auth-form-container p{margin-top:1rem;font-size:.9rem;color:#666}.auth-form-container .switcher{background:none;border:none;color:#007bff;font-size:.9rem;cursor:pointer;text-underline-offset:3px}.auth-form-container .switcher:hover{color:#0056b3}.auth-form-container .switcher:focus{outline:none}.auth-form{width:100%;max-width:400px;margin:2rem auto;padding:2rem;background-color:#f4f4f4;border-radius:10px;box-shadow:0 4px 6px #0000001a}.auth-form input{width:100%;padding:.8rem;margin-bottom:1rem;border:1px solid #ccc;border-radius:5px;font-size:1rem;box-sizing:border-box;transition:border-color .3s ease}.auth-form input:focus{border-color:#007bff;outline:none}.auth-form button{width:100%;padding:.8rem;background-color:#007bff;color:#fff;border:none;border-radius:5px;font-size:1rem;cursor:pointer;transition:background-color .3s ease}.auth-form button:hover{background-color:#0056b3}.auth-form button:disabled{background-color:#ccc;cursor:not-allowed}.auth-form input::placeholder{color:#999}.auth-form input:invalid{border-color:#ff4d4d}.auth-form input:invalid:focus{border-color:#ff1a1a}.auth-form input:required{background-color:#fffdfd}.auth-form h2{text-align:center;margin-bottom:1.5rem;font-size:1.5rem;color:#333}.auth-form p{text-align:center;font-size:.9rem;color:#666}.auth-form p a{color:#007bff;text-decoration:none}.auth-form p a:hover{text-decoration:underline}.room-card{width:100%;max-width:600px;margin:1rem auto;border:1px solid #ddd;border-radius:8px;overflow:hidden;box-shadow:0 4px 8px #0003}.image-slider{position:relative;width:100%;height:300px}.slider-image{width:100%;height:100%;object-fit:cover}.image-slider button{position:absolute;top:50%;transform:translateY(-50%);background:#00000080;color:#fff;border:none;cursor:pointer;padding:8px;font-size:1.5em}.image-slider button:first-child{left:10px}.image-slider button:last-child{right:10px}.room-info,.amenities,.occupied-dates{padding:16px}.room-info h2{margin-bottom:8px;color:#333}.description{font-style:italic;color:#555}.amenities ul,.occupied-dates ul{list-style:none;padding:0}.amenities ul li,.occupied-dates ul li{margin:4px 0}.occupied-dates h4{color:#333}.no-reservations{font-style:italic;color:#888}.booking-container{max-width:400px;margin:0 auto;text-align:center;font-family:Arial,sans-serif}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.calendar-header h2{font-size:1.2em;margin:0}.calendar-header button{background:#f8b996;border:none;padding:5px 10px;cursor:pointer}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-day{background:#2b3637;color:#fff;padding:10px;cursor:pointer;border-radius:5px}.calendar-day.selected{background:#f8b996}.calendar-day.overflow{color:#777;background:#1a2223;cursor:pointer}.calendar-day.overflow.selected{background:#f8b996aa}.book-rooms-button{margin-top:15px;background:#101a1b;color:#f8b996;border:none;padding:10px;cursor:pointer;width:100%;font-size:1em;border-radius:5px;transition:.1s ease-in-out}.book-rooms-button:hover{background-color:#f8b996;color:#101a1b}.error-message{color:#ff4d4d;background-color:#ffebeb;padding:10px;border-radius:4px;margin-top:10px;text-align:center}.book-room-button{display:inline-block;padding:.8rem 1.5rem;font-size:1.2rem;font-weight:700;color:#fff;background-color:#007bff;border:none;border-radius:8px;cursor:pointer;text-align:center;transition:background-color .3s,transform .2s;box-shadow:0 4px 6px #0000001a;margin:1rem auto}.book-room-button:hover{background-color:#0056b3;transform:translateY(-2px)}.book-room-button:active{background-color:#003f8a;transform:translateY(1px);box-shadow:0 2px 4px #0003}.book-room-button:disabled{background-color:#ccc;cursor:not-allowed}.book-room-button:focus{outline:2px solid #0056b3;outline-offset:2px}.date-switcher{display:flex;justify-content:center;align-items:center;border-radius:5px}.date-switcher:hover{background-color:#f8b896b6}.all-rooms-container{padding:1rem;text-align:center}.rooms-list{display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.occupied-dates-container{max-width:800px;margin:20px auto;padding:20px;background-color:#fffaf5;border-radius:10px;box-shadow:0 4px 8px #0000001a}.month-section{margin-bottom:20px}.month-title{font-size:1.5rem;color:#444;border-bottom:2px solid #f0d9c8;padding-bottom:5px;margin-bottom:10px}.date-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.date-card{background:linear-gradient(135deg,#f8b996,#fddbb5);color:#4a251e;padding:15px;border-radius:8px;text-align:center;font-size:1rem;box-shadow:0 2px 5px #0003;transition:transform .2s ease,box-shadow .2s ease}.date-card:hover{transform:scale(1.05);box-shadow:0 4px 10px #0000004d}.date-range{font-weight:700;font-size:1.1rem}
