*{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}.nail-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}.nail-info,.amenities,.occupied-dates{padding:16px}.nail-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-nails-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-nails-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-nail-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-nail-button:hover{background-color:#0056b3;transform:translateY(-2px)}.book-nail-button:active{background-color:#003f8a;transform:translateY(1px);box-shadow:0 2px 4px #0003}.book-nail-button:disabled{background-color:#ccc;cursor:not-allowed}.book-nail-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-nails-container{padding:1rem;text-align:center}.nails-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;position:relative;cursor:pointer}.date-card:hover{transform:scale(1.05);box-shadow:0 4px 10px #0000004d}.date-range{font-weight:700;font-size:1.1rem}.cancellation-note{margin-top:30px;padding:15px;background-color:#fff4e6;border-left:4px solid #d97706;border-radius:5px}.cancellation-note p{margin:0;color:#5a4018;font-size:.95rem;line-height:1.5}.nail-tooltip{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);z-index:1000;pointer-events:none;animation:fadeIn .2s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(5px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.tooltip-content{background:#fff;border:2px solid #f0d9c8;border-radius:8px;padding:15px;box-shadow:0 4px 12px #00000026;min-width:250px;max-width:350px;position:relative}.tooltip-content:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:8px solid transparent;border-top-color:#fff;filter:drop-shadow(0 2px 4px rgba(0,0,0,.1))}.nail-info{margin:0}.nail-info h4{margin:0 0 8px;color:#4a251e;font-size:1.1rem;font-weight:700}.nail-info p{margin:4px 0;color:#5a4018;font-size:.9rem;line-height:1.4}.nail-info strong{color:#4a251e;font-weight:600}.tooltip-divider{margin:10px 0;border:none;border-top:1px solid #f0d9c8}
