@charset "UTF-8";.toast{position:fixed;bottom:20px;right:20px;padding:1rem 1.5rem;border-radius:4px;animation:slideIn .3s ease-out;z-index:2000}.toast.success{background:#111111e6;border:1px solid #c6a87d;color:#c6a87d}.toast.error{background:#111111e6;border:1px solid #ef4444;color:#ef4444}@keyframes slideIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.auth-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#111c;display:flex;justify-content:center;align-items:center;z-index:1000}.auth-modal__content{background:#1a1a1a;padding:2rem;border-radius:8px;width:90%;max-width:320px;position:relative;border:1px solid rgba(198,168,125,.2)}@media (max-width: 480px){.auth-modal__content{padding:1.5rem;max-width:300px}}.auth-modal__content h2{text-align:center;margin-bottom:1.5rem;color:#c6a87d}.auth-modal__content form{display:flex;flex-direction:column;gap:1rem}.auth-modal__content form input{padding:.8rem;border:1px solid rgba(198,168,125,.3);border-radius:4px;background:#11111180;color:#d4d4d4;font-size:1rem}.auth-modal__content form input:focus{outline:none;border-color:#c6a87d}.auth-modal__content form input::placeholder{color:#d4d4d480}.auth-modal__content form input:disabled{opacity:.7;cursor:not-allowed}.auth-modal__content form button{background:#c6a87d;color:#111;padding:.8rem;border:none;border-radius:4px;font-size:1rem;cursor:pointer;transition:all .3s ease}.auth-modal__content form button:hover:not(:disabled){background:#b89b70}.auth-modal__content form button:disabled{opacity:.7;cursor:not-allowed}.auth-modal__close-button{position:absolute;top:1rem;right:1rem;background:none;border:none;color:#d4d4d4;font-size:1.5rem;cursor:pointer;padding:.2rem .5rem}.auth-modal__close-button:hover{color:#c6a87d}.auth-modal__toggle-button{background:none;border:none;color:#c6a87d;cursor:pointer;padding:0;font-size:inherit;text-decoration:underline}.auth-modal__toggle-button:hover:not(:disabled){color:#d4bc8d}.auth-modal__toggle-button:disabled{opacity:.7;cursor:not-allowed}.auth-modal__error-message{background:#dc26261a;border:1px solid rgba(220,38,38,.3);color:#ef4444;padding:.8rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.auth-modal__success-message{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e;padding:.8rem;border-radius:4px;margin-bottom:1rem;font-size:.9rem}.auth-modal p{text-align:center;margin-top:1rem;color:#d4d4d4}.password-input-wrapper{position:relative;width:100%}.password-input-wrapper input{width:100%;padding-right:40px}.password-input-wrapper .password-toggle{position:absolute;right:10px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:5px;color:#666;display:flex;align-items:center;justify-content:center}.password-input-wrapper .password-toggle:hover{color:#333}.password-input-wrapper .password-toggle:disabled{cursor:not-allowed;opacity:.5}.header{position:fixed;top:0;left:0;right:0;z-index:100;background:#111111f2;border-bottom:1px solid rgba(198,168,125,.1)}.header-content{display:flex;justify-content:space-between;align-items:center;padding:1rem;max-width:1200px;margin:0 auto}.logo{font-family:Playfair Display,serif;color:#c6a87d;font-size:1.2rem;font-weight:700}.menu-toggle{display:flex;align-items:center;justify-content:center;background:none;border:none;color:#c6a87d;cursor:pointer;padding:.5rem;z-index:101}.nav-menu{position:fixed;top:0;left:0;right:0;bottom:0;background:#111;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2rem;transform:translate(100%);transition:transform .3s ease-in-out}.nav-menu.active{transform:translate(0)}.nav-link{color:#d4d4d4;font-size:1.2rem;transition:color .3s ease}.nav-link:hover{color:#c6a87d}.auth-links{display:flex;flex-direction:column;gap:1rem;margin-top:2rem}.auth-links .username{color:#c6a87d;font-size:1rem;display:flex;align-items:center;text-transform:uppercase}.auth-links .auth-link{padding:.5rem 1.5rem;border:1px solid #c6a87d;border-radius:4px;cursor:pointer}.auth-links .auth-link.signup{background:#c6a87d;color:#111}.auth-links .auth-link.signup:hover{background:#b89b70;border-color:#b89b70}.auth-links .auth-link.login,.auth-links .auth-link.logout{background:#111}.auth-links .profile{display:flex;align-items:center;gap:.5rem;color:#c6a87d;transition:color .3s ease}.auth-links .profile .profile-icon{font-size:1rem}.auth-links .profile:hover{color:#d4bc8d}@media (max-width: 768px){.auth-links .profile{justify-content:center}}@media (min-width: 1024px){.menu-toggle{display:none}.nav-menu{position:static;transform:none;background:none;flex-direction:row;gap:2rem;padding:0}.nav-link{font-size:1rem}.auth-links{flex-direction:row;margin-top:0;margin-left:2rem}}.user-section{display:flex;align-items:center;gap:1rem}.user-section .username{color:#c6a87d;font-size:.9rem}@media (max-width: 768px){.user-section{flex-direction:column;align-items:flex-start;gap:.5rem}}.footer{background-color:#1a1a1a;color:#d4d4d4;padding:.75rem 0;width:100%;border-top:1px solid rgba(198,168,125,.1);font-size:.8rem}.footer .footer-content{max-width:1200px;margin:0 auto;padding:0 1rem;display:flex;justify-content:space-between;align-items:center}.footer .location,.footer .contact{color:#c6a87d}.footer .location a,.footer .contact a{color:#d4d4d4;text-decoration:none}.footer .location a:hover,.footer .contact a:hover{color:#c6a87d}.footer .social-links{display:flex;gap:1rem}.footer .social-links a{color:#d4d4d4;font-size:1.2rem;transition:color .3s ease}.footer .social-links a:hover{color:#c6a87d}.footer .copyright{font-size:.8rem}.footer .copyright a{color:#d4d4d4;transition:color .3s ease}.footer .copyright a:hover{color:#c6a87d}@media (max-width: 768px){.footer .footer-content{flex-direction:column;gap:.5rem;text-align:center}.footer .social-links{margin:.5rem 0}}.layout{min-height:100vh;display:flex;flex-direction:column}.layout .main-content{flex:1;padding-top:80px;width:100%}.haircut-gallery{perspective:1500px;width:400px;height:400px;margin-right:4rem}@media (max-width: 1023px){.haircut-gallery{display:none}}.haircut-gallery .gallery-card{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 1.5s cubic-bezier(.4,0,.2,1)}.haircut-gallery .gallery-card.flipping{transform:rotateY(180deg)}.haircut-gallery .card-face{position:absolute;width:100%;height:100%;backface-visibility:hidden;border-radius:50%;overflow:hidden;border:4px solid #c6a87d;box-shadow:0 0 20px #c6a87d4d}.haircut-gallery .card-face img{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.haircut-gallery .card-face.back{transform:rotateY(180deg)}@media (max-width: 768px){.haircut-gallery{width:300px;height:300px;margin:2rem auto}}.hero{height:100%;background-image:url(/images/hero/hero.jpg);background-size:cover;background-position:center;position:relative}.hero:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#11111180}.hero .hero-content{position:relative;max-width:1200px;margin:0 auto;padding:0 2rem;min-height:100vh;display:flex;align-items:center;justify-content:space-between}@media (max-width: 1023px){.hero .hero-content{justify-content:center}}.hero .hero-text{color:#d4d4d4;max-width:600px;padding-top:120px;padding-left:4rem;font-family:Playfair Display,serif}.hero .hero-text h1{font-size:3.5rem;margin-bottom:1rem;font-weight:600;color:#c6a87d}.hero .hero-text p{font-size:1.5rem;margin-bottom:2rem;opacity:.9;letter-spacing:1px;font-family:Roboto,sans-serif}.hero .hero-text .book-button{padding:1rem 2.5rem;font-size:1.2rem;background:#b89b70;color:#111;border:none;border-radius:4px;cursor:pointer;font-family:Roboto,sans-serif}.hero .hero-text .book-button:hover{background:#111;color:#d4d4d4}@media (max-width: 1023px){.hero .hero-text{text-align:center;padding-left:0;max-width:100%}}@media (max-width: 768px){.hero .hero-text{text-align:center;padding-left:0}.hero .hero-text h1{font-size:2.5rem}.hero .hero-text p{font-size:1.2rem}}.home{width:100%;flex:1;display:flex;flex-direction:column}.home .hero{flex:1}.about{width:100%;max-width:1200px;margin:0 auto;padding:2rem}.about .about-profile{text-align:center;margin-bottom:4rem}.about .about-profile .profile-image{width:300px;height:300px;margin:0 auto 2rem;border-radius:50%;overflow:hidden;border:3px solid #c6a87d;box-shadow:0 0 20px #c6a87d33}.about .about-profile .profile-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.about .about-profile .profile-image img:hover{transform:scale(1.05)}.about .about-profile .profile-content .bio{font-size:1.1rem;line-height:1.8;margin-bottom:2rem;color:#d4d4d4e6;max-width:800px;margin:0 auto 2rem}.about .about-profile .profile-content .experience{color:#c6a87d;font-size:1.2rem;margin:2rem 0}.about .about-profile .profile-content .specialties h3{color:#c6a87d;margin-bottom:1.5rem;font-size:1.5rem}.about .about-profile .profile-content .specialties ul{list-style:none;padding:0;display:flex;flex-wrap:wrap;justify-content:center;gap:1rem}.about .about-profile .profile-content .specialties ul li{background:#1a1a1a99;padding:.5rem 1.5rem;border-radius:4px;border:1px solid rgba(198,168,125,.3);color:#d4d4d4;transition:all .3s ease}.about .about-profile .profile-content .specialties ul li:hover{border-color:#c6a87d;background:#1a1a1acc}.about .about-services h2{color:#c6a87d;margin-bottom:3rem;text-align:center;font-size:2rem}.about .about-services .services-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.about .about-services .services-grid .service-card{background:#1a1a1a99;padding:2rem;border-radius:8px;border:1px solid rgba(198,168,125,.2);display:flex;flex-direction:column;transition:all .3s ease}.about .about-services .services-grid .service-card:hover{border-color:#c6a87d66;transform:translateY(-2px)}.about .about-services .services-grid .service-card h3{color:#c6a87d;margin-bottom:1rem;font-size:1.3rem}.about .about-services .services-grid .service-card p{color:#d4d4d4e6;margin-bottom:1.5rem;line-height:1.6;flex-grow:1}.about .about-services .services-grid .service-card .service-details{display:flex;justify-content:space-between;color:#c6a87d;padding-top:1rem;border-top:1px solid rgba(198,168,125,.2);font-weight:500}@media (max-width: 768px){.about{padding:1rem}.about .services-grid{grid-template-columns:1fr!important}}.gallery-page{width:100%;max-width:1200px;margin:0 auto;padding:2rem}.gallery-page h1{text-align:center;margin-bottom:2rem;color:#c6a87d}.gallery-page .gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.gallery-page .gallery-grid .gallery-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:8px;box-shadow:0 4px 6px #0000001a}.gallery-page .gallery-grid .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.gallery-page .gallery-grid .gallery-item .gallery-item-overlay{position:absolute;bottom:0;left:0;right:0;background:#111c;color:#d4d4d4;padding:1rem;transform:translateY(100%);transition:transform .3s ease}.gallery-page .gallery-grid .gallery-item .gallery-item-overlay p{margin-bottom:.5rem}.gallery-page .gallery-grid .gallery-item .gallery-item-overlay .tags{display:flex;flex-wrap:wrap;gap:.5rem}.gallery-page .gallery-grid .gallery-item .gallery-item-overlay .tags .tag{background:#c6a87d;color:#111;padding:.25rem .5rem;border-radius:4px;font-size:.8rem}.gallery-page .gallery-grid .gallery-item:hover img{transform:scale(1.05)}.gallery-page .gallery-grid .gallery-item:hover .gallery-item-overlay{transform:translateY(0)}@media (max-width: 768px){.gallery-page{padding:1rem}.gallery-page .gallery-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}}.reviews-section{margin-top:4rem;padding:2rem 0}.reviews-section h2{text-align:center;color:#c6a87d;margin-bottom:2rem}.reviews-section .reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.reviews-section .reviews-grid .review-card{background:#1a1a1a;border-radius:8px;padding:1.5rem;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;height:fit-content}.reviews-section .reviews-grid .review-card .review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.reviews-section .reviews-grid .review-card .review-header h3{color:#d4d4d4;font-size:1.1rem}.reviews-section .reviews-grid .review-card .review-header .rating{display:flex;gap:.25rem}.reviews-section .reviews-grid .review-card .review-header .rating .star-filled{color:#c6a87d}.reviews-section .reviews-grid .review-card .review-header .rating .star-empty{color:#c6a87d4d}.reviews-section .reviews-grid .review-card .review-text{color:#d4d4d4;line-height:1.5;margin-bottom:1rem}.reviews-section .reviews-grid .review-card .review-image{margin:1rem 0}.reviews-section .reviews-grid .review-card .review-image img{width:100%;height:200px;object-fit:cover;border-radius:4px}.reviews-section .reviews-grid .review-card .review-date{color:#d4d4d499;font-size:.9rem;text-align:right;margin-top:1rem}.reviews-section .no-reviews{display:flex;justify-content:center;align-items:center;min-height:200px;text-align:center;color:#d4d4d4;font-size:1.1rem}.reviews-section .no-reviews p{max-width:600px;margin:0 auto}@media (max-width: 768px){.reviews-section{margin-top:2rem}.reviews-section .reviews-grid{grid-template-columns:1fr;gap:1rem}}.admin-profile{padding:2rem}@media (max-width: 768px){.admin-profile{padding:1rem}}.admin-profile__image-container{display:flex;justify-content:center;margin-bottom:2rem}.admin-profile__image-container .profile-image{position:relative;width:150px;height:150px;border-radius:50%;overflow:hidden;border:3px solid #c6a87d}.admin-profile__image-container .profile-image img{width:100%;height:100%;object-fit:cover}.admin-profile__image-container .profile-image .profile-image-placeholder{width:100%;height:100%;background:#1a1a1a;display:flex;align-items:center;justify-content:center;font-size:3rem;color:#c6a87d;text-transform:uppercase}.admin-profile__image-container .profile-image .image-upload-label{position:absolute;bottom:0;left:0;right:0;background:#111c;padding:.5rem;display:flex;justify-content:center;cursor:pointer;transition:all .3s ease}.admin-profile__image-container .profile-image .image-upload-label svg{color:#c6a87d;font-size:1.2rem}.admin-profile__image-container .profile-image .image-upload-label:hover{background:#111111e6}.admin-profile h2{font-family:Playfair Display,serif;color:#c6a87d;font-size:2rem;margin-bottom:3rem;text-align:center}@media (max-width: 768px){.admin-profile h2{font-size:1.5rem;margin-bottom:2rem}}.admin-profile__content{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 1024px){.admin-profile__content{grid-template-columns:1fr;gap:1.5rem}}.admin-profile__section{background-color:#1a1a1a;border:1px solid #c6a87d;border-radius:8px;padding:2rem;box-shadow:0 4px 6px #0003}.admin-profile__section h3{font-family:Playfair Display,serif;color:#c6a87d;font-size:1.5rem;margin-bottom:1.5rem;border-bottom:1px solid #b89b70;padding-bottom:.5rem}@media (max-width: 768px){.admin-profile__section h3{font-size:1.25rem;margin-bottom:1rem}}.admin-profile__section .info-item{display:flex;align-items:baseline;margin-bottom:1rem}.admin-profile__section .info-item label{color:#d4bc8d;width:200px;font-family:Roboto,sans-serif}@media (max-width: 768px){.admin-profile__section .info-item label{width:100%;margin-bottom:.25rem}}.admin-profile__section .info-item span{color:#d4d4d4;font-family:Roboto,sans-serif}.admin-profile__section .info-item ul{list-style:none}.admin-profile__section .info-item ul li{color:#d4d4d4;margin-bottom:.5rem;font-family:Roboto,sans-serif}.admin-profile__section .info-item ul li:before{content:"•";color:#c6a87d;margin-right:.5rem}@media (max-width: 768px){.admin-profile__section .info-item{flex-direction:column;gap:.25rem}.admin-profile__section .info-item label{width:100%;margin-bottom:.25rem}}.admin-profile p{color:#d4d4d4;font-family:Roboto,sans-serif;line-height:1.8}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header .edit-button{background:none;border:none;color:#c6a87d;cursor:pointer;padding:.5rem;transition:opacity .3s ease}.section-header .edit-button:hover{opacity:.8}@media (max-width: 768px){.section-header .edit-button{padding:.75rem}}.edit-form{background:#1a1a1a;padding:1.5rem;border-radius:8px;border:1px solid #b89b70}@media (max-width: 768px){.edit-form{padding:1rem}}.edit-form .form-group{margin-bottom:1rem}@media (max-width: 768px){.edit-form .form-group{margin-bottom:.75rem}}.edit-form .form-group label{display:block;color:#c6a87d;margin-bottom:.5rem;font-family:Roboto,sans-serif}.edit-form .form-group input{width:100%;padding:.75rem;border:1px solid #b89b70;border-radius:4px;background:#111;color:#e5e5e5;font-family:Roboto,sans-serif}.edit-form .form-group input:focus{outline:none;border-color:#c6a87d}.edit-form .form-actions{display:flex;gap:1rem;margin-top:1.5rem}@media (max-width: 768px){.edit-form .form-actions{flex-direction:column;gap:.5rem}.edit-form .form-actions button{width:100%;justify-content:center}}.edit-form .form-actions button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;font-family:Roboto,sans-serif;transition:opacity .3s ease}.edit-form .form-actions button:hover{opacity:.9}.edit-form .form-actions button svg{font-size:1rem}.edit-form .form-actions .btn-save{background:linear-gradient(135deg,#b89b70,#c6a87d);color:#111}.edit-form .form-actions .btn-save:disabled{opacity:.7;cursor:not-allowed}.edit-form .form-actions .btn-cancel{background:#222;color:#d4d4d4}.specialties-list{margin-bottom:1rem}.specialties-list .specialty-item{display:flex;justify-content:space-between;align-items:center;background:#111;padding:.5rem 1rem;margin-bottom:.5rem;border-radius:4px;border:1px solid #b89b70}.specialties-list .specialty-item span{color:#e5e5e5}.specialties-list .specialty-item .btn-remove{background:none;border:none;color:#f44336;cursor:pointer;padding:.25rem;transition:opacity .3s ease}.specialties-list .specialty-item .btn-remove:hover{opacity:.8}@media (max-width: 768px){.specialties-list .specialty-item{padding:.75rem}}.add-specialty{display:flex;gap:.5rem;align-items:center}.add-specialty input{flex:1;padding:.75rem;border:1px solid #b89b70;border-radius:4px;background:#111;color:#e5e5e5;min-width:0}.add-specialty .btn-add{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#c6a87d;color:#111;border:none;border-radius:4px;cursor:pointer;padding:0}.add-specialty .btn-add:disabled{opacity:.5;cursor:not-allowed}.add-specialty .btn-add:not(:disabled):hover{opacity:.9}@media (max-width: 768px){.add-specialty{flex-direction:row}.add-specialty input{flex:1}.add-specialty .btn-add{width:40px}}.edit-bio .form-group textarea{width:100%;min-height:150px;padding:.75rem;border:1px solid #b89b70;border-radius:4px;background:#111;color:#e5e5e5;font-family:Roboto,sans-serif;resize:vertical;line-height:1.5}.edit-bio .form-group textarea:focus{outline:none;border-color:#c6a87d}.edit-bio .form-group textarea::placeholder{color:#adadad}@media (max-width: 768px){.edit-bio .form-group textarea{min-height:120px}}.edit-bio .char-count{display:flex;justify-content:flex-end;margin-top:.5rem;font-size:.875rem;color:#d4d4d4}.edit-bio .char-count .limit-reached{color:#f44336}.edit-social .form-group label{display:flex;align-items:center;gap:.5rem}.edit-social .form-group label svg{font-size:1.2rem}.edit-social .social-input{display:flex;align-items:center;background:#111;border:1px solid #b89b70;border-radius:4px;overflow:hidden}.edit-social .social-input:focus-within{border-color:#c6a87d}.edit-social .social-input .prefix{padding:.75rem;background:#222;color:#d4d4d4;border-right:1px solid #b89b70;font-family:Roboto,sans-serif;font-size:.9rem}.edit-social .social-input input{flex:1;border:none;background:transparent;padding:.75rem;color:#e5e5e5;font-family:Roboto,sans-serif}.edit-social .social-input input:focus{outline:none}.edit-social .social-input input::placeholder{color:#adadad}@media (max-width: 768px){.edit-social .social-input{flex-direction:column}.edit-social .social-input .prefix{width:100%;border-right:none;border-bottom:1px solid #b89b70}.edit-social .social-input input{width:100%;padding:.5rem .75rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#111c;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}@media (max-width: 768px){.modal-overlay{align-items:flex-end;padding:0}}.modal-content{background-color:#1a1a1a;border:1px solid #c6a87d;border-radius:8px;padding:2rem;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;position:relative}@media (max-width: 768px){.modal-content{width:100%;max-width:100%;max-height:85vh;padding:1.5rem;border-bottom-left-radius:0;border-bottom-right-radius:0}}.modal-content.delete-modal{max-width:400px}@media (max-width: 768px){.modal-content.delete-modal{max-width:100%}}.modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid #b89b70}.modal-content .modal-header h3{font-family:Playfair Display,serif;color:#c6a87d;margin:0}.modal-content .modal-header .close-button{background:none;border:none;color:#e5e5e5;cursor:pointer;padding:.5rem;transition:color .3s ease}@media (max-width: 768px){.modal-content .modal-header{margin-bottom:1rem}.modal-content .modal-header h3{font-size:1.25rem}.modal-content .modal-header .close-button{padding:.75rem}}.modal-content .service-form{padding:1rem 0}.modal-content .service-form .form-group{margin-bottom:1.5rem}.modal-content .service-form .form-group label{display:block;color:#d4bc8d;margin-bottom:.75rem;font-family:Roboto,sans-serif;font-size:.95rem;font-weight:500}.modal-content .service-form .form-group input,.modal-content .service-form .form-group textarea,.modal-content .service-form .form-group select{width:100%;padding:.875rem;background-color:#222;border:1px solid #b89b70;border-radius:4px;color:#d4d4d4;font-family:Roboto,sans-serif;font-size:.95rem}.modal-content .service-form .form-group input:focus,.modal-content .service-form .form-group textarea:focus,.modal-content .service-form .form-group select:focus{outline:none;border-color:#c6a87d;box-shadow:0 0 0 1px #c6a87d}@media (max-width: 768px){.modal-content .service-form .form-group input,.modal-content .service-form .form-group textarea,.modal-content .service-form .form-group select{font-size:16px;padding:1rem}}.modal-content .service-form .form-group textarea{min-height:120px;resize:vertical;line-height:1.5}@media (max-width: 768px){.modal-content .service-form .form-group textarea{min-height:100px}}.modal-content .service-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}@media (max-width: 768px){.modal-content .service-form .form-row{grid-template-columns:1fr;gap:1rem}}.modal-content .service-form .form-actions{margin-top:2rem;padding-top:1.5rem;border-top:1px solid #b89b70;display:flex;justify-content:flex-end;gap:1rem}.modal-content .service-form .form-actions button{min-width:140px;padding:.875rem 1.5rem}.modal-content .service-form .form-actions button.btn-save{background-color:#c6a87d;color:#111;border:none;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #1113}.modal-content .service-form .form-actions button.btn-save:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 8px #1111114d}.modal-content .service-form .form-actions button.btn-save:disabled{background-color:#adadad;cursor:not-allowed;opacity:.7}.modal-content .service-form .form-actions button.btn-cancel{background-color:transparent;color:#d4d4d4;border:1px solid #b89b70}.modal-content .service-form .form-actions button.btn-cancel:hover{border-color:#c6a87d;color:#c6a87d}@media (max-width: 768px){.modal-content .service-form .form-actions{flex-direction:column-reverse;margin-top:1.5rem;gap:.75rem}.modal-content .service-form .form-actions button{width:100%;min-width:0}}.modal-content .modal-body{text-align:center;padding:2rem 0}@media (max-width: 768px){.modal-content .modal-body{padding:1.5rem 0}.modal-content .modal-body .warning-icon{font-size:2.5rem}.modal-content .modal-body p{font-size:.95rem}}.modal-content .modal-body .warning-icon{color:#f44;font-size:3rem;margin-bottom:1rem}.modal-content .modal-body p{color:#d4d4d4;margin-bottom:1rem;font-family:Roboto,sans-serif}.modal-content .modal-body p.warning-text{color:#f44;font-size:.9rem}.modal-content .modal-actions{display:flex;justify-content:center;gap:1rem;margin-top:2rem}@media (max-width: 768px){.modal-content .modal-actions{flex-direction:column-reverse;gap:.75rem}.modal-content .modal-actions .btn-delete,.modal-content .modal-actions .btn-cancel{width:100%;min-width:0;padding:1rem 1.5rem}}.modal-content .modal-actions .btn-delete{background-color:#f44;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-family:Roboto,sans-serif;transition:all .3s ease;min-width:100px}.modal-content .modal-actions .btn-delete:hover{background-color:#c00}.modal-content .modal-actions .btn-delete:disabled{background-color:#f88;cursor:not-allowed}.modal-content .modal-actions .btn-save{background-color:#c6a87d;color:#111;border:none;padding:.75rem 1.5rem;border-radius:4px;font-family:Roboto,sans-serif;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:100px;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px #1113}.modal-content .modal-actions .btn-save:hover{background-color:#c6a87d;transform:translateY(-1px);box-shadow:0 4px 8px #1111114d}.modal-content .modal-actions .btn-save:active{transform:translateY(0);box-shadow:0 2px 4px #1113}.modal-content .modal-actions .btn-save:disabled{background-color:#adadad;cursor:not-allowed;transform:none;box-shadow:none;opacity:.7}@media (max-width: 768px){.modal-content .modal-actions .btn-save{width:100%;padding:1rem 1.5rem}}.modal-content .modal-actions .btn-cancel{background-color:transparent;color:#d4d4d4;border:1px solid #b89b70;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;font-family:Roboto,sans-serif;transition:all .3s ease;min-width:100px}.modal-content .modal-actions .btn-cancel:hover{border-color:#c6a87d;color:#c6a87d}@media (max-width: 768px){.modal-content::-webkit-scrollbar{width:4px}.modal-content::-webkit-scrollbar-track{background:#222}.modal-content::-webkit-scrollbar-thumb{background:#b89b70;border-radius:2px}}.admin-services{width:100%;max-width:1200px;margin:0 auto;padding:2rem}@media (max-width: 768px){.admin-services{padding:1rem}}.admin-services__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}@media (max-width: 768px){.admin-services__header{flex-direction:column;gap:1rem;margin-bottom:1.5rem}.admin-services__header h2{font-size:1.5rem}.admin-services__header .btn-primary{width:100%;justify-content:center}}.admin-services__header h2{font-family:Playfair Display,serif;color:#c6a87d;margin:0}.admin-services__header .btn-primary{display:flex;align-items:center;gap:.5rem;background-color:#c6a87d;color:#111;font-family:Roboto,sans-serif;border:none;padding:.75rem 1.5rem;border-radius:4px;cursor:pointer;transition:all .3s ease}.admin-services__header .btn-primary:hover{background-color:#b89b70}.admin-services__content{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}@media (max-width: 1024px){.admin-services__content{grid-template-columns:1fr;gap:1rem}}.admin-services__card{background-color:#1a1a1a;border:1px solid #c6a87d;border-radius:8px;padding:2rem;position:relative}@media (max-width: 768px){.admin-services__card{padding:1rem}.admin-services__card .service-actions{opacity:1;position:static;justify-content:flex-end;margin-top:1rem}}.admin-services__card .service-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid #b89b70}@media (max-width: 768px){.admin-services__card .service-header h3{font-size:1.25rem}.admin-services__card .service-header .price{font-size:1.1rem}}.admin-services__card .service-header h3{font-family:Playfair Display,serif;color:#c6a87d;font-size:1.5rem}.admin-services__card .service-header .price{font-family:Roboto,sans-serif;color:#d4bc8d;font-size:1.25rem}.admin-services__card .service-details .description{color:#d4d4d4;font-family:Roboto,sans-serif;margin-bottom:1rem;line-height:1.6}.admin-services__card .service-details .meta{display:flex;flex-direction:column;gap:.5rem;color:#adadad;font-family:Roboto,sans-serif;font-size:.9rem}.admin-services__card .service-details .meta .duration{display:flex;align-items:center;gap:.25rem}.admin-services__card .service-details .meta .category{display:flex;align-items:center;gap:.25rem;text-transform:capitalize;color:#d4bc8d;background:#c6a87d1a;padding:.25rem .5rem;border-radius:4px;width:fit-content}.admin-services__card:hover .service-actions{opacity:1}.admin-services__card .service-actions{position:absolute;top:1rem;right:1rem;display:flex;gap:.5rem;opacity:0;transition:opacity .3s ease}.admin-services__card .service-actions button{background:none;border:none;color:#e5e5e5;cursor:pointer;padding:.5rem;border-radius:4px;transition:all .3s ease}.admin-services__card .service-actions button:hover{color:#c6a87d;background-color:#11111180}.admin-services__card .service-actions button.delete-btn:hover{color:#f44}@media (max-width: 768px){.admin-services__card .service-actions{opacity:1;position:static;justify-content:flex-end;margin-top:1rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#111c;display:flex;justify-content:center;align-items:center;z-index:1000;padding:1rem}@media (max-width: 768px){.modal-overlay{padding:0}}.modal-content{background:#1a1a1a;border-radius:8px;width:100%;max-width:600px;max-height:90vh;overflow-y:auto;border:1px solid #b89b70}@media (max-width: 768px){.modal-content{max-height:100vh;border-radius:0}}.modal-content .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #b89b70}.modal-content .modal-header h3{color:#c6a87d;font-family:Playfair Display,serif;font-size:1.5rem;margin:0}.modal-content .modal-header .close-button{background:none;border:none;color:#d4d4d4;cursor:pointer;font-size:1.25rem;padding:.5rem;transition:color .3s ease}.modal-content .modal-header .close-button:hover{color:#c6a87d}@media (max-width: 768px){.modal-content .modal-header{padding:1rem}.modal-content .modal-header h3{font-size:1.25rem}}.modal-content .gallery-form{padding:1.5rem}@media (max-width: 768px){.modal-content .gallery-form{padding:1rem}}.modal-content .gallery-form .image-upload{margin-bottom:1.5rem}.modal-content .gallery-form .image-upload .image-preview{position:relative;width:100%;aspect-ratio:21/9;border-radius:8px;overflow:hidden}.modal-content .gallery-form .image-upload .image-preview img{width:100%;height:100%;object-fit:cover}.modal-content .gallery-form .image-upload .image-preview .change-image{position:absolute;bottom:1rem;left:50%;transform:translate(-50%);background:#111c;color:#c6a87d;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:background .3s ease}.modal-content .gallery-form .image-upload .image-preview .change-image:hover{background:#111111e6}.modal-content .gallery-form .image-upload .upload-placeholder{width:100%;aspect-ratio:21/9;border:2px dashed #b89b70;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;cursor:pointer;transition:border-color .3s ease}.modal-content .gallery-form .image-upload .upload-placeholder:hover{border-color:#c6a87d}.modal-content .gallery-form .image-upload .upload-placeholder svg{font-size:1.5rem;color:#c6a87d}.modal-content .gallery-form .image-upload .upload-placeholder span{color:#d4d4d4;font-family:Roboto,sans-serif;font-size:.9rem}.modal-content .gallery-form .form-group{margin-bottom:1.5rem}@media (max-width: 768px){.modal-content .gallery-form .form-group{margin-bottom:1rem}.modal-content .gallery-form .form-group textarea{font-size:16px}}.modal-content .gallery-form .form-group label{display:block;color:#c6a87d;margin-bottom:.5rem;font-family:Roboto,sans-serif}.modal-content .gallery-form .form-group textarea{width:100%;min-height:100px;padding:.75rem;border:1px solid #b89b70;border-radius:4px;background:#111;color:#e5e5e5;font-family:Roboto,sans-serif;resize:vertical}.modal-content .gallery-form .form-group textarea:focus{outline:none;border-color:#c6a87d}.modal-content .gallery-form .form-group .tags-input .tags-list{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.modal-content .gallery-form .form-group .tags-input .tags-list .tag{display:flex;align-items:center;gap:.5rem;background:#222;color:#d4bc8d;padding:.25rem .75rem;border-radius:50px;font-size:.875rem;font-family:Roboto,sans-serif}.modal-content .gallery-form .form-group .tags-input .tags-list .tag button{background:none;border:none;color:inherit;cursor:pointer;padding:0;display:flex;align-items:center}.modal-content .gallery-form .form-group .tags-input .tags-list .tag button:hover{color:#f44}.modal-content .gallery-form .form-group .tags-input .add-tag{display:flex;gap:.5rem}.modal-content .gallery-form .form-group .tags-input .add-tag input{flex:1;padding:.5rem;border:1px solid #b89b70;border-radius:4px;background:#111;color:#e5e5e5;font-family:Roboto,sans-serif}.modal-content .gallery-form .form-group .tags-input .add-tag input:focus{outline:none;border-color:#c6a87d}.modal-content .gallery-form .form-group .tags-input .add-tag button{background:#c6a87d;color:#111;border:none;border-radius:4px;width:2.5rem;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:opacity .3s ease}.modal-content .gallery-form .form-group .tags-input .add-tag button:disabled{opacity:.5;cursor:not-allowed}.modal-content .gallery-form .form-group .tags-input .add-tag button:not(:disabled):hover{opacity:.9}.modal-content .gallery-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1rem;border-top:1px solid #b89b70}@media (max-width: 768px){.modal-content .gallery-form .form-actions{flex-direction:column-reverse;gap:.5rem;position:sticky;bottom:0;background:#1a1a1a;padding:1rem;margin:1rem -1rem -1rem;border-top:1px solid #b89b70}.modal-content .gallery-form .form-actions button{width:100%}}.modal-content .gallery-form .form-actions button{min-width:120px;padding:.75rem 1.5rem;border:none;border-radius:4px;font-family:Roboto,sans-serif;font-weight:500;cursor:pointer;transition:all .3s ease}.modal-content .gallery-form .form-actions button:disabled{opacity:.5;cursor:not-allowed}.modal-content .gallery-form .form-actions .btn-save{background:linear-gradient(135deg,#b89b70,#c6a87d);color:#111}.modal-content .gallery-form .form-actions .btn-save:not(:disabled):hover{transform:translateY(-1px);box-shadow:0 2px 4px #0003}.modal-content .gallery-form .form-actions .btn-cancel{background:#222;color:#d4d4d4;border:1px solid #b89b70}.modal-content .gallery-form .form-actions .btn-cancel:hover{border-color:#c6a87d;color:#c6a87d}@media (max-width: 768px){.delete-confirmation{width:100%!important;margin:0;border-radius:0}}@media (max-width: 768px){.delete-confirmation .modal-body{padding:1.5rem 1rem}.delete-confirmation .modal-body .warning-icon{font-size:2.5rem}}@media (max-width: 768px){.delete-confirmation .modal-actions{padding:1rem;flex-direction:column-reverse;gap:.5rem}.delete-confirmation .modal-actions button{width:100%;min-width:0}}.admin-gallery{width:100%;max-width:1200px;margin:0 auto;padding:2rem}@media (max-width: 768px){.admin-gallery{padding:1rem}}.admin-gallery__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}@media (max-width: 768px){.admin-gallery__header{flex-direction:column;gap:1rem;margin-bottom:1.5rem}.admin-gallery__header h2{font-size:1.5rem}.admin-gallery__header .btn-primary{width:100%}}.admin-gallery__header h2{font-family:Playfair Display,serif;color:#c6a87d;font-size:2rem}.admin-gallery__header .btn-primary{background:linear-gradient(135deg,#b89b70,#c6a87d);color:#111;padding:.75rem 1.5rem;border:none;border-radius:4px;font-family:Roboto,sans-serif;cursor:pointer;transition:opacity .3s ease}.admin-gallery__header .btn-primary:hover{opacity:.9}.admin-gallery__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}@media (max-width: 768px){.admin-gallery__grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}}.admin-gallery .gallery-item{background:#1a1a1a;border:1px solid #c6a87d;border-radius:8px;overflow:hidden}.admin-gallery .gallery-item__image{position:relative;aspect-ratio:1}.admin-gallery .gallery-item__image img{width:100%;height:100%;object-fit:cover}.admin-gallery .gallery-item__image:hover .gallery-item__actions{opacity:1}.admin-gallery .gallery-item__actions{position:absolute;top:0;left:0;right:0;bottom:0;background:#111c;display:flex;justify-content:center;align-items:center;gap:1rem;opacity:0;transition:opacity .3s ease}@media (max-width: 768px){.admin-gallery .gallery-item__actions{opacity:1}}.admin-gallery .gallery-item__actions .action-btn{background:none;border:none;color:#c6a87d;font-size:1.5rem;cursor:pointer;padding:.5rem;transition:transform .3s ease}.admin-gallery .gallery-item__actions .action-btn:hover{transform:scale(1.1)}.admin-gallery .gallery-item__actions .action-btn.delete:hover{color:#f44}.admin-gallery .gallery-item__info{padding:1rem}@media (max-width: 768px){.admin-gallery .gallery-item__info{padding:.75rem}.admin-gallery .gallery-item__info .description{font-size:.9rem}.admin-gallery .gallery-item__info .tags .tag{font-size:.8rem}}.admin-gallery .gallery-item__info .description{color:#d4d4d4;margin-bottom:1rem;line-height:1.4}.admin-gallery .gallery-item__info .tags{display:flex;flex-wrap:wrap;gap:.5rem}.admin-gallery .gallery-item__info .tags .tag{background:#222;color:#c6a87d;padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;border:1px solid #b89b70}.admin-availability{padding:1rem;max-width:1200px;margin:0 auto}@media (max-width: 768px){.admin-availability{padding:.5rem}}.admin-availability .month-navigation{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:1rem;background-color:#1a1a1a;border-radius:8px;border:1px solid #b89b70}.admin-availability .month-navigation h2{color:#c6a87d;font-family:Playfair Display,serif;margin:0}.admin-availability .month-navigation button{background:none;border:1px solid #b89b70;color:#c6a87d;padding:.5rem 1rem;border-radius:4px;cursor:pointer;transition:all .3s ease}.admin-availability .month-navigation button:hover{background-color:#c6a87d;color:#111}.admin-availability .calendar-grid{background-color:#1a1a1a;border-radius:8px;border:1px solid #b89b70;overflow:hidden}.admin-availability .calendar-grid .weekdays{display:grid;grid-template-columns:repeat(7,1fr);background-color:#222;border-bottom:1px solid #b89b70}.admin-availability .calendar-grid .weekdays .weekday{padding:1rem;text-align:center;color:#c6a87d;font-family:Roboto,sans-serif;font-weight:700}.admin-availability .calendar-grid .days{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background-color:#222}.admin-availability .calendar-grid .days .day{aspect-ratio:1;padding:.5rem;background-color:#1a1a1a;transition:all .3s ease;display:flex;flex-direction:column;gap:.5rem;cursor:pointer}.admin-availability .calendar-grid .days .day:not(.past):not(.other-month):not(.future-limit):hover{background-color:#202020}.admin-availability .calendar-grid .days .day.working{border:1px solid #b89b70}.admin-availability .calendar-grid .days .day.working .date{color:#c6a87d}.admin-availability .calendar-grid .days .day .date{color:#d4d4d4;font-family:Roboto,sans-serif;font-size:1.1rem}.admin-availability .calendar-grid .days .day .hours{display:flex;align-items:center;gap:.5rem;color:#e5e5e5;font-size:.8rem}.admin-availability .calendar-grid .days .day .hours svg{color:#c6a87d}.admin-availability .calendar-grid .days .day.other-month{opacity:.3;pointer-events:none}.admin-availability .calendar-grid .days .day.other-month .date{color:#adadad}.admin-availability .calendar-grid .days .day.past{opacity:.5;pointer-events:none;background-color:#22222280}.admin-availability .calendar-grid .days .day.past .date{color:#adadad}.admin-availability .calendar-grid .days .day.today{border:2px solid #c6a87d}.admin-availability .calendar-grid .days .day.today .date{color:#c6a87d;font-weight:700}.admin-availability .calendar-grid .days .day.future-limit{opacity:.3;pointer-events:none;background-color:#2222224d}.admin-availability .calendar-grid .days .day.future-limit .date{color:#adadad}.admin-availability .fc{background:#1a1a1a;border-radius:8px;border:1px solid #b89b70}.admin-availability .fc .fc-toolbar{padding:.75rem;margin:0!important}@media (max-width: 768px){.admin-availability .fc .fc-toolbar{display:flex;justify-content:space-between;gap:.5rem}}.admin-availability .fc .fc-toolbar .fc-toolbar-title{color:#c6a87d;font-size:1.2rem}@media (max-width: 768px){.admin-availability .fc .fc-toolbar .fc-toolbar-title{font-size:1rem}}.admin-availability .fc .fc-toolbar .fc-button{background:none;border:1px solid #b89b70;color:#c6a87d;padding:.4rem .8rem}.admin-availability .fc .fc-toolbar .fc-button:hover{background-color:#c6a87d1a}.admin-availability .fc .fc-toolbar .fc-button:focus{box-shadow:none}.admin-availability .fc .fc-view-harness{background:#1a1a1a}.admin-availability .fc .fc-daygrid-body{width:100%!important}.admin-availability .fc .fc-daygrid-day{padding:0!important;cursor:pointer}@media (max-width: 768px){.admin-availability .fc .fc-daygrid-day{min-height:60px!important}}.admin-availability .fc .fc-daygrid-day:hover{background:#c6a87d0d}.admin-availability .fc .fc-daygrid-day.fc-day-past{cursor:default;opacity:.5}.admin-availability .fc .fc-daygrid-day:not(.fc-day-past):hover{background:#c6a87d0d}.admin-availability .fc .fc-daygrid-day-frame{padding:4px!important;min-height:100%!important}.admin-availability .fc .fc-daygrid-day-top{justify-content:center;padding:2px}.admin-availability .fc .fc-daygrid-day-number{color:#d4d4d4;font-size:.9rem;text-decoration:none}@media (max-width: 768px){.admin-availability .fc .fc-daygrid-day-number{font-size:.8rem}}.admin-availability .fc .working-day{background:#c6a87d1a;border:1px solid #c6a87d;color:#c6a87d;margin:1px 0;padding:1px 2px;font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer}@media (max-width: 768px){.admin-availability .fc .working-day{font-size:.65rem;padding:0 2px}}.admin-availability .fc .working-day:hover{background:#c6a87d33}.admin-availability .fc .working-day.past-event{cursor:default;background:#d4d4d41a;border-color:#d4d4d44d;color:#d4d4d4b3}.admin-availability .fc .working-day.past-event:hover{background:#d4d4d41a}.admin-availability .fc .working-day.future-event{cursor:pointer;background:#c6a87d1a;border-color:#c6a87d;color:#c6a87d}.admin-availability .fc .working-day.future-event:hover{background:#c6a87d33}.admin-availability .fc .fc-col-header-cell{padding:6px 2px;background-color:#222;border-color:#b89b70}.admin-availability .fc .fc-col-header-cell .fc-col-header-cell-cushion{color:#c6a87d;font-weight:700;text-decoration:none;font-size:.85rem}@media (max-width: 768px){.admin-availability .fc .fc-col-header-cell .fc-col-header-cell-cushion{font-size:.75rem}}.admin-availability .fc .fc-day-today{background:#c6a87d0d!important}.admin-availability .fc .fc-day-today .fc-daygrid-day-number{color:#c6a87d;font-weight:700}.admin-availability .fc .fc-day-other{opacity:.5;background:#2222224d}.admin-availability .fc .fc-cell-shaded,.admin-availability .fc .fc-day-disabled{background:#2222224d}.admin-availability .fc td,.admin-availability .fc th{border-color:#b89b704d!important}.availability-modal .modal-header h3{display:flex;align-items:center;gap:.5rem}.availability-modal .modal-header h3 svg{color:#c6a87d}.availability-modal .availability-form .working-toggle{margin-bottom:2rem}.availability-modal .availability-form .working-toggle label{display:flex;align-items:center;gap:1rem;color:#d4d4d4;cursor:pointer}.availability-modal .availability-form .working-toggle label input[type=checkbox]{width:20px;height:20px;cursor:pointer}.availability-modal .availability-form .time-inputs{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:2rem}.availability-modal .availability-form .time-inputs .form-group label{display:block;color:#d4bc8d;margin-bottom:.5rem}.availability-modal .availability-form .time-inputs .form-group .time-select{width:100%;padding:.75rem 2rem .75rem .75rem;background-color:#222;border:1px solid #b89b70;border-radius:4px;color:#d4d4d4;font-family:Roboto,sans-serif;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23B8860B' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center;position:relative}.availability-modal .availability-form .time-inputs .form-group .time-select:focus{outline:none;border-color:#c6a87d;box-shadow:0 0 0 2px #c6a87d33}.availability-modal .availability-form .time-inputs .form-group .time-select option{direction:ltr}.availability-modal .availability-form .time-inputs .form-group select.time-select{position:relative;z-index:1}.availability-modal .availability-form .time-inputs .form-group select.time-select option{background-color:#222;color:#d4d4d4;padding:.5rem}.availability-modal .availability-form .time-inputs .form-group select.time-select:not([size]):not([multiple]){background-color:#222;transform-origin:top;transform:none!important}.availability-modal .modal-content{overflow:visible}.modal-overlay{overflow:visible!important}@media (max-width: 768px){.modal-overlay .modal-content.availability-modal{width:90%;max-width:350px;margin:20px auto;padding:1rem}}.modal-overlay .modal-content.availability-modal .modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem;padding-right:.5rem}.modal-overlay .modal-content.availability-modal .modal-header h3{padding-right:2rem;margin:0;display:flex;align-items:center;gap:.5rem}.modal-overlay .modal-content.availability-modal .modal-header .close-button{padding:.5rem;cursor:pointer;background:none;border:none;color:#d4d4d4}.modal-overlay .modal-content.availability-modal .modal-header .close-button:hover{color:#c6a87d}@media (max-width: 768px){.modal-overlay .availability-form .time-inputs{gap:.75rem}.modal-overlay .availability-form .form-group{margin-bottom:.75rem}}.modal-content{overflow:visible!important;z-index:1000}.availability-form{overflow:visible!important}.admin-appointments{width:100%;padding:2rem}@media (max-width: 768px){.admin-appointments{padding:1rem}}.admin-appointments__header{margin-bottom:2rem}.admin-appointments__header h2{font-family:Playfair Display,serif;color:#c6a87d;font-size:2rem}@media (max-width: 768px){.admin-appointments__header h2{font-size:1.5rem}}.admin-appointments__tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #b89b70;padding-bottom:1rem}@media (max-width: 768px){.admin-appointments__tabs{gap:0;padding-bottom:0;margin-bottom:1.5rem;justify-content:space-between;border-bottom:none;background:#1a1a1a;border-radius:8px;padding:.5rem}}.admin-appointments__tabs .tab{background:none;border:none;color:#d4d4d4;padding:.5rem 1rem;cursor:pointer;font-family:Roboto,sans-serif;position:relative;transition:color .3s ease}@media (max-width: 768px){.admin-appointments__tabs .tab{flex:1;font-size:.875rem;padding:.5rem;text-align:center;border-radius:4px}.admin-appointments__tabs .tab:after{display:none}.admin-appointments__tabs .tab.active{background:#c6a87d;color:#111}}@media (min-width: 769px){.admin-appointments__tabs .tab:hover{color:#d4bc8d}.admin-appointments__tabs .tab.active{color:#c6a87d}.admin-appointments__tabs .tab.active:after{content:"";position:absolute;bottom:-1rem;left:0;width:100%;height:2px;background:#c6a87d}}.admin-appointments .appointments-table{background:#1a1a1a;border-radius:8px;overflow-x:auto}@media (max-width: 768px){.admin-appointments .appointments-table{background:transparent;border-radius:0}.admin-appointments .appointments-table table{display:block}.admin-appointments .appointments-table table thead{display:none}.admin-appointments .appointments-table table tbody{display:block}.admin-appointments .appointments-table table tr{display:block;background:#1a1a1a;margin-bottom:1rem;padding:1rem;border-radius:8px;border:1px solid #b89b70}.admin-appointments .appointments-table table td{display:flex;padding:.5rem 0;border:none;align-items:center}.admin-appointments .appointments-table table td:before{content:attr(data-label);font-weight:700;width:120px;min-width:120px;color:#c6a87d}.admin-appointments .appointments-table table .actions{flex-wrap:wrap;padding-top:1rem;border-top:1px solid #b89b70}.admin-appointments .appointments-table table .actions button{flex:1;justify-content:center;padding:.5rem}}@media (max-width: 768px) and (max-width: 480px){.admin-appointments .appointments-table table .actions button{min-width:100%;margin-bottom:.5rem}}.admin-appointments .appointments-table table{width:100%;border-collapse:collapse}.admin-appointments .appointments-table table th,.admin-appointments .appointments-table table td{padding:1rem;text-align:left}.admin-appointments .appointments-table table th,.admin-appointments .appointments-table table tr{border-bottom:1px solid #b89b70}.admin-appointments .appointments-table table th{background:#222;color:#c6a87d;font-family:Playfair Display,serif;font-weight:400}.admin-appointments .appointments-table table td{color:#d4d4d4;font-family:Roboto,sans-serif}.admin-appointments .appointments-table .status-badge{padding:.25rem .75rem;border-radius:50px;font-size:.875rem;text-transform:capitalize}.admin-appointments .appointments-table .status-badge.pending{background:#c6a87d33;color:#c6a87d}.admin-appointments .appointments-table .status-badge.confirmed{background:#4caf5033;color:#4caf50}.admin-appointments .appointments-table .status-badge.completed{background:#d4d4d433;color:#d4d4d4}.admin-appointments .appointments-table .status-badge.cancelled{background-color:#e2e8f0;color:#64748b}.admin-appointments .appointments-table .status-badge.rejected,.admin-appointments .appointments-table .status-badge.reschedule-rejected{background:#ff4d4d1a;color:#ff4d4d;border:1px solid #ff4d4d;font-weight:500;animation:fadeIn .3s ease-in-out}.admin-appointments .appointments-table .status-badge.rejected:before,.admin-appointments .appointments-table .status-badge.reschedule-rejected:before{content:"✕";margin-right:4px;font-size:.9em}.admin-appointments .appointments-table .status-badge.reschedule-confirmed{background:#4caf5033;color:#4caf50}.admin-appointments .appointments-table .actions{display:flex;gap:.5rem}.admin-appointments .appointments-table .actions button{padding:.25rem .75rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:opacity .3s ease;display:flex;align-items:center;gap:.5rem}.admin-appointments .appointments-table .actions button:hover{opacity:.8}.admin-appointments .appointments-table .actions .btn-confirm{background:#4caf50;color:#fff}.admin-appointments .appointments-table .actions .btn-reschedule{background:#c6a87d;color:#111}.admin-appointments .appointments-table .actions .btn-cancel{background:#f44336;color:#fff}.admin-appointments .appointments-table .actions .btn-complete{background:#c6a87d;color:#111;font-weight:500;padding:.5rem 1rem;margin:auto;display:inline-flex;align-items:center;justify-content:center;min-width:100px}.admin-appointments .appointments-table .actions .btn-complete:hover{background:#d4bc8d}.admin-appointments .appointments-table .actions .btn-complete:disabled{opacity:.6;cursor:not-allowed}.admin-appointments .rejection-note{max-width:300px;color:#ff4d4d;font-style:italic}@media (max-width: 768px){.admin-appointments .rejection-note:before{content:'Rejection Note: "';font-weight:700;color:silver}}.loading-message{text-align:center;padding:2rem;font-size:1.2rem;color:#666}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#111111e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}@media (max-width: 768px){.modal-overlay{padding:.5rem}}.modal-content{background:#1a1a1a;border-radius:12px;width:100%;max-width:800px;max-height:90vh;display:flex;flex-direction:column;border:1px solid #b89b70;box-shadow:0 4px 20px #11111180}@media (max-width: 768px){.modal-content{max-height:100vh;border-radius:8px}}.modal-header{padding:1.5rem;border-bottom:1px solid #b89b70;display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#111,#1a1a1a);flex-shrink:0}.modal-header h3{color:#c6a87d;font-family:Playfair Display,serif;font-size:1.75rem;margin:0}@media (max-width: 768px){.modal-header h3{font-size:1.25rem}}.modal-header .close-button{background:none;border:none;color:#c6a87d;font-size:2rem;cursor:pointer;padding:.25rem .5rem;transition:all .3s ease;line-height:1}.modal-header .close-button:hover{color:#d4bc8d;transform:scale(1.1)}@media (max-width: 768px){.modal-header .close-button{font-size:1.5rem}}.modal-body{padding:1.5rem;overflow-y:auto;flex-grow:1;display:flex;flex-direction:column}@media (max-width: 768px){.modal-body{padding:1rem}}.modal-body .reschedule-notice{background:#c6a87d1a;border:1px solid #b89b70;border-radius:8px;padding:1rem;margin-bottom:1.5rem;color:#d4bc8d;font-family:Roboto,sans-serif;font-size:.9rem;line-height:1.5}@media (max-width: 768px){.modal-body .reschedule-notice{padding:.75rem;font-size:.85rem;margin-bottom:1rem}}.modal-body .reschedule-modal{display:flex;flex-direction:column;height:100%}.modal-body .reschedule-modal .reschedule-actions{margin-top:auto;padding-top:1rem;border-top:1px solid #b89b70}.modal-body .reschedule-modal .reschedule-actions button{width:100%;padding:.75rem;margin-top:.5rem}.modal-body .reschedule-modal .reschedule-actions button.btn-confirm{background:#c6a87d;color:#111;border:none;border-radius:4px;font-weight:700;cursor:pointer;transition:all .3s ease}.modal-body .reschedule-modal .reschedule-actions button.btn-confirm:hover:not(:disabled){background:#d4bc8d}.modal-body .reschedule-modal .reschedule-actions button.btn-confirm:disabled{opacity:.6;cursor:not-allowed}.modal-body .selected-time{background:#c6a87d1a;border:1px solid #b89b70;border-radius:8px;padding:1rem;margin:1rem 0;color:#d4bc8d}.modal-body .selected-time h4{color:#c6a87d;margin:0 0 .5rem}.modal-body .selected-time p{margin:0;line-height:1.5}.modal-content::-webkit-scrollbar{width:8px}.modal-content::-webkit-scrollbar-track{background:#222}.modal-content::-webkit-scrollbar-thumb{background:#b89b70;border-radius:4px}.modal-content::-webkit-scrollbar-thumb:hover{background:#c6a87d}.rejection-form .rejection-notice{color:#e5e5e5;margin-bottom:1rem;padding:.75rem;background:#dc35451a;border:1px solid #dc3545;border-radius:4px}.rejection-form textarea{width:100%;padding:.75rem;border:1px solid #b89b70;border-radius:4px;background:#222;color:#e5e5e5;font-family:Roboto,sans-serif;resize:vertical;min-height:100px;margin-bottom:1.5rem}.rejection-form textarea:focus{outline:none;border-color:#c6a87d}.rejection-form .rejection-actions{display:flex;gap:1.5rem;justify-content:flex-end;margin-top:2rem}.rejection-form .rejection-actions button{min-width:120px;padding:.75rem 1.5rem;border-radius:4px;font-family:Roboto,sans-serif;cursor:pointer;transition:all .3s ease}.rejection-form .rejection-actions button.btn-cancel{background:transparent;border:1px solid #b89b70;color:#c6a87d}.rejection-form .rejection-actions button.btn-cancel:hover{background:#c6a87d1a}.rejection-form .rejection-actions button.btn-reject{background:#dc3545;border:none;color:#fff}.rejection-form .rejection-actions button.btn-reject:hover:not(:disabled){background:#ff4d4d}.rejection-form .rejection-actions button.btn-reject:disabled{opacity:.6;cursor:not-allowed}.admin-dashboard{display:flex;min-height:calc(100vh - 80px);background:#1a1a1a}.admin-dashboard .admin-content{flex:1;padding:2rem;overflow-y:auto}.admin-sidebar{width:250px;background:#111;padding:2rem 1rem;border-right:1px solid rgba(198,168,125,.1)}.admin-sidebar .mobile-menu-button{display:none}.admin-sidebar nav{display:flex;flex-direction:column;gap:.5rem}.admin-sidebar nav .sidebar-item{display:flex;align-items:center;gap:1rem;padding:1rem;width:100%;background:none;border:none;border-radius:8px;color:#d4d4d4;cursor:pointer;transition:all .3s ease}.admin-sidebar nav .sidebar-item .icon{font-size:1.2rem;color:#c6a87d}.admin-sidebar nav .sidebar-item:hover{background:#c6a87d1a}.admin-sidebar nav .sidebar-item.active{background:#c6a87d;color:#111}.admin-sidebar nav .sidebar-item.active .icon{color:#111}@media (max-width: 768px){.admin-dashboard{flex-direction:column}.admin-sidebar{width:100%;padding:.5rem;position:relative}.admin-sidebar .mobile-menu-button{display:flex;align-items:center;justify-content:space-between;width:100%;padding:1rem;background:#111;border:1px solid rgba(198,168,125,.2);border-radius:8px;color:#d4d4d4;cursor:pointer}.admin-sidebar .mobile-menu-button .current-section{display:flex;align-items:center;gap:1rem}.admin-sidebar .mobile-menu-button .current-section .icon{color:#c6a87d}.admin-sidebar .mobile-menu-button .chevron{color:#c6a87d;transition:transform .3s ease}.admin-sidebar .mobile-menu-button .chevron.open{transform:rotate(180deg)}.admin-sidebar nav{display:none;position:absolute;top:100%;left:.5rem;right:.5rem;background:#111;border:1px solid rgba(198,168,125,.2);border-radius:8px;padding:.5rem;z-index:10;margin-top:.25rem}.admin-sidebar nav.open{display:flex;flex-direction:column}.admin-sidebar nav .sidebar-item{padding:.75rem;border-radius:4px}.admin-sidebar nav .sidebar-item .label{display:inline}}.user-sidebar{background:#1a1a1a;min-height:100%;padding:1rem;border-right:1px solid #b89b70}@media (max-width: 768px){.user-sidebar{border-right:none;border-bottom:1px solid #b89b70}}.user-sidebar .mobile-menu-button{display:none;width:100%;padding:.75rem;background:#c6a87d;border:none;border-radius:8px;color:#111;cursor:pointer}.user-sidebar .mobile-menu-button .current-section{display:flex;align-items:center;gap:.5rem}.user-sidebar .mobile-menu-button .chevron{transition:transform .3s ease}.user-sidebar .mobile-menu-button .chevron.open{transform:rotate(180deg)}@media (max-width: 768px){.user-sidebar .mobile-menu-button{display:flex;justify-content:space-between;align-items:center}}.user-sidebar nav{display:flex;flex-direction:column;gap:.5rem}@media (max-width: 768px){.user-sidebar nav{display:none}.user-sidebar nav.open{display:flex;margin-top:1rem}}.user-sidebar nav .sidebar-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background:#c6a87d;border:none;border-radius:8px;color:#111;cursor:pointer;transition:all .3s ease;width:100%;text-align:left}.user-sidebar nav .sidebar-item:hover{opacity:.9}.user-sidebar nav .sidebar-item.active{background:#d4bc8d}.user-sidebar nav .sidebar-item .icon{font-size:1.25rem}.date-time-selection{display:grid;grid-template-columns:1fr;gap:1rem;padding:0}@media (min-width: 992px){.date-time-selection{grid-template-columns:1fr 1fr;gap:2rem;padding:1rem}}.date-time-selection .calendar-container{background:var(--background-secondary);padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.date-time-selection .calendar-container :global(.fc){font-size:.875rem}@media (min-width: 768px){.date-time-selection .calendar-container :global(.fc){font-size:1rem}}.date-time-selection .calendar-container :global(.fc) .fc-toolbar-title{font-size:1.1rem}@media (min-width: 768px){.date-time-selection .calendar-container :global(.fc) .fc-toolbar-title{font-size:1.25rem}}.date-time-selection .calendar-container :global(.fc) .fc-daygrid-day{min-height:44px;cursor:pointer}@media (max-width: 768px){.date-time-selection .calendar-container :global(.fc) .fc-daygrid-day{padding:8px 4px}.date-time-selection .calendar-container :global(.fc) .fc-daygrid-day .fc-daygrid-day-frame{height:100%;min-height:44px}.date-time-selection .calendar-container :global(.fc) .fc-daygrid-day .fc-daygrid-day-number{width:100%;text-align:center;padding:4px}}@media (max-width: 768px){.date-time-selection .calendar-container :global(.fc) .fc-button{min-height:44px;padding:8px 12px}}.date-time-selection .calendar-container :global(.fc) .fc-view-harness{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.date-time-selection .calendar-container :global(.fc) .fc-day-past{opacity:.5;pointer-events:none}.date-time-selection .time-slots{background:var(--background-secondary);padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.date-time-selection .time-slots h3{margin-bottom:.75rem;color:var(--text-primary);font-size:1rem}@media (min-width: 768px){.date-time-selection .time-slots h3{font-size:1.25rem;margin-bottom:1rem}}.date-time-selection .time-slots .slots-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;padding:.5rem}@media (min-width: 768px){.date-time-selection .time-slots .slots-grid{grid-template-columns:repeat(3,1fr);gap:1rem}}@media (min-width: 992px){.date-time-selection .time-slots .slots-grid{grid-template-columns:repeat(4,1fr)}}.date-time-selection .time-slots .time-slot-button{padding:.75rem;background-color:#1a1a1a;border:1px solid #b89b70;border-radius:8px;color:#d4d4d4;font-family:Roboto,sans-serif;font-size:1rem;transition:all .2s ease;cursor:pointer;height:44px;display:flex;align-items:center;justify-content:center}@media (min-width: 768px){.date-time-selection .time-slots .time-slot-button{padding:.75rem;font-size:1rem}}@media (max-width: 768px){.date-time-selection .time-slots .time-slot-button{min-height:44px;padding:12px 8px;margin:4px 0;width:100%}.date-time-selection .time-slots .time-slot-button:hover{transform:none}.date-time-selection .time-slots .time-slot-button:active{background:linear-gradient(135deg,#b89b70,#c6a87d);color:#111}}.date-time-selection .time-slots .time-slot-button:hover{background:linear-gradient(135deg,#b89b70,#c6a87d);color:#111;transform:translateY(-2px);box-shadow:0 4px 8px #1111114d}.date-time-selection .time-slots .time-slot-button:active{transform:translateY(0);background:#b89b70}.no-slots-message{grid-column:1/-1;text-align:center;padding:1rem;color:#adadad;font-family:Roboto,sans-serif;font-style:italic}.review-form{display:flex;flex-direction:column;gap:1.5rem;max-width:600px;margin:0 auto}.review-form .rating-container{display:flex;justify-content:center;gap:.5rem;margin-bottom:1rem}.review-form .rating-container label{cursor:pointer}.review-form .rating-container label input[type=radio]{display:none}.review-form .rating-container label .star{transition:all .2s ease;color:#b89b70;font-size:2rem}.review-form .rating-container label .star.filled{color:#c6a87d}.review-form .rating-container label .star:hover{transform:scale(1.1);color:#d4bc8d}.review-form textarea{width:100%;min-height:120px;padding:1rem;border-radius:8px;background:#222;border:1px solid #b89b70;color:#d4d4d4;font-family:Roboto,sans-serif;resize:vertical}.review-form textarea:focus{outline:none;border-color:#c6a87d;box-shadow:0 0 0 2px #c6a87d1a}.review-form textarea::placeholder{color:#adadad}.review-form .image-upload input[type=file]{display:none}.review-form .image-upload .upload-label{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:1.5rem;background:#222;border:2px dashed #b89b70;border-radius:8px;color:#c6a87d;cursor:pointer;transition:all .3s ease}.review-form .image-upload .upload-label svg{font-size:1.5rem}.review-form .image-upload .upload-label:hover{background:#c6a87d1a;border-color:#c6a87d}.review-form .image-upload .image-preview-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1rem;margin-top:1rem}.review-form .image-upload .image-preview{position:relative;aspect-ratio:1;width:100%;border-radius:8px;overflow:hidden;border:2px solid #b89b70;background:#222}.review-form .image-upload .image-preview img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.review-form .image-upload .image-preview img:hover{transform:scale(1.05)}.review-form .image-upload .image-preview .remove-image{position:absolute;top:.5rem;right:.5rem;background:#1a1a1ae6;border:1px solid #b89b70;color:#c6a87d;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .3s ease;z-index:2}.review-form .image-upload .image-preview .remove-image:hover{background:#c6a87d;color:#111}.review-form .submit-review{background:linear-gradient(135deg,#b89b70,#c6a87d);color:#111;border:none;border-radius:8px;padding:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin-top:1rem;font-family:Roboto,sans-serif}.review-form .submit-review:hover:not(:disabled){background:linear-gradient(135deg,#c6a87d,#d4bc8d);transform:translateY(-1px)}.review-form .submit-review:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.review-form{gap:1rem;padding:1rem}.review-form .rating-container .star{font-size:1.75rem}.review-form textarea{min-height:100px}.review-form .image-preview-container{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}}.user-appointments{width:100%;padding:2rem}@media (max-width: 768px){.user-appointments{padding:1rem}}.user-appointments__header{margin-bottom:2rem}.user-appointments__header h2{font-family:Playfair Display,serif;color:#c6a87d;font-size:2rem}@media (max-width: 768px){.user-appointments__header h2{font-size:1.5rem}}.user-appointments__tabs{display:flex;gap:1rem;margin-bottom:2rem;border-bottom:2px solid #b89b70;padding-bottom:1rem}@media (max-width: 768px){.user-appointments__tabs{gap:0;padding-bottom:0;margin-bottom:1.5rem;justify-content:space-between;border-bottom:none;background:#1a1a1a;border-radius:8px;padding:.5rem}}.user-appointments__tabs .tab{background:none;border:none;color:#d4d4d4;padding:.5rem 1rem;cursor:pointer;font-family:Roboto,sans-serif;position:relative;transition:color .3s ease}@media (max-width: 768px){.user-appointments__tabs .tab{flex:1;font-size:.875rem;padding:.5rem;text-align:center;border-radius:4px}.user-appointments__tabs .tab:after{display:none}.user-appointments__tabs .tab.active{background:#c6a87d;color:#111}}@media (min-width: 769px){.user-appointments__tabs .tab:hover{color:#d4bc8d}.user-appointments__tabs .tab.active{color:#c6a87d}.user-appointments__tabs .tab.active:after{content:"";position:absolute;bottom:-1rem;left:0;width:100%;height:2px;background:#c6a87d}}.user-appointments .appointments-table{background:#1a1a1a;border-radius:8px;overflow-x:auto}@media (max-width: 768px){.user-appointments .appointments-table{background:transparent;border-radius:0}.user-appointments .appointments-table table{display:block}.user-appointments .appointments-table table thead{display:none}.user-appointments .appointments-table table tbody{display:block}.user-appointments .appointments-table table tr{display:block;background:#1a1a1a;margin-bottom:1rem;padding:1rem;border-radius:8px;border:1px solid #b89b70}.user-appointments .appointments-table table td{display:flex;padding:.5rem 0;border:none;align-items:center}.user-appointments .appointments-table table td:before{content:attr(data-label);font-weight:700;width:120px;min-width:120px;color:#c6a87d}.user-appointments .appointments-table table .actions{flex-wrap:wrap;padding-top:1rem;border-top:1px solid #b89b70}.user-appointments .appointments-table table .actions button{flex:1;justify-content:center;padding:.5rem}}@media (max-width: 768px) and (max-width: 480px){.user-appointments .appointments-table table .actions button{min-width:100%;margin-bottom:.5rem}}.user-appointments .appointments-table table{width:100%;border-collapse:collapse}.user-appointments .appointments-table table th,.user-appointments .appointments-table table td{padding:1rem;text-align:left}.user-appointments .appointments-table table th,.user-appointments .appointments-table table tr{border-bottom:1px solid #b89b70}.user-appointments .appointments-table table th{background:#222;color:#c6a87d;font-family:Playfair Display,serif;font-weight:400}.user-appointments .appointments-table table td{color:#d4d4d4;font-family:Roboto,sans-serif}.user-appointments .appointments-table .status-badge{padding:.25rem .75rem;border-radius:50px;font-size:.875rem;text-transform:capitalize}.user-appointments .appointments-table .status-badge.pending{background:#c6a87d33;color:#c6a87d}.user-appointments .appointments-table .status-badge.confirmed{background:#4caf5033;color:#4caf50}.user-appointments .appointments-table .status-badge.completed,.user-appointments .appointments-table .status-badge.cancelled{background:#d4d4d433;color:#d4d4d4}.user-appointments .appointments-table .actions{display:flex;gap:.5rem}.user-appointments .appointments-table .actions button{padding:.25rem .75rem;border:none;border-radius:4px;cursor:pointer;font-size:.875rem;transition:opacity .3s ease;display:flex;align-items:center;gap:.5rem}.user-appointments .appointments-table .actions button:hover{opacity:.8}.user-appointments .appointments-table .actions .btn-reschedule{background:#c6a87d;color:#111}.user-appointments .appointments-table .actions .btn-cancel{background:#f44336;color:#fff}.user-appointments .appointments-table .actions .btn-review{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:4px;cursor:pointer;transition:all .2s;font-family:Roboto,sans-serif;background:linear-gradient(135deg,#b89b70,#c6a87d);color:#111}.user-appointments .appointments-table .actions .btn-review:hover{background:linear-gradient(135deg,#c6a87d,#d4bc8d)}.user-appointments .appointments-table .actions .btn-review .star-icon{font-size:1.2em;color:#c6a87d}.user-appointments .rejection-note{max-width:300px;color:#ff4d4d;font-style:italic}@media (max-width: 768px){.user-appointments .rejection-note:before{content:'Reason: "';font-weight:700;color:silver}}.user-appointments .status-badge.rejected,.user-appointments .status-badge.reschedule-rejected{background:#ff4d4d1a;color:#ff4d4d;border:1px solid #ff4d4d;font-weight:500;animation:fadeIn .3s ease-in-out}.user-appointments .status-badge.rejected:before,.user-appointments .status-badge.reschedule-rejected:before{content:"✕";margin-right:4px;font-size:.9em}.no-appointments,.loading-message{text-align:center;padding:2rem;color:#d4d4d4;font-family:Roboto,sans-serif}.reschedule-modal{position:relative;padding:1rem}.reschedule-modal .reschedule-notice{margin-bottom:1rem;padding:.75rem;background:#c6a87d1a;border:1px solid #b89b70;border-radius:4px;color:#d4bc8d;font-family:Roboto,sans-serif}.reschedule-modal .loading-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#111c;display:flex;align-items:center;justify-content:center;font-weight:700;color:#c6a87d;font-family:Roboto,sans-serif}.reschedule-modal .selected-time{margin:1.5rem 0;padding:1rem;background:#c6a87d1a;border:1px solid #b89b70;border-radius:4px;text-align:center}.reschedule-modal .selected-time h4{color:#c6a87d;font-family:Playfair Display,serif;margin-bottom:.5rem}.reschedule-modal .selected-time p{color:#e5e5e5;font-family:Roboto,sans-serif;margin:0}.reschedule-modal .reschedule-actions{margin-top:1.5rem;display:flex;justify-content:center;padding-top:1.5rem;border-top:1px solid #b89b70}.reschedule-modal .reschedule-actions .btn-confirm{background:linear-gradient(135deg,#b89b70,#c6a87d);color:#111;padding:.75rem 2rem;border:none;border-radius:4px;cursor:pointer;font-family:Roboto,sans-serif;font-weight:500;font-size:1rem;transition:all .3s ease;min-width:200px}.reschedule-modal .reschedule-actions .btn-confirm:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #c6a87d33}.reschedule-modal .reschedule-actions .btn-confirm:disabled{opacity:.6;cursor:not-allowed;background:#222;color:#adadad}.status-badge.reschedule-pending{background:#c6a87d33;color:#d4bc8d}.status-badge.reschedule-confirmed{background:#d4d4d433;color:#e5e5e5}.status-badge.reschedule-rejected{background:#f4433633;color:#f44336}@keyframes fadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.user-reviews{padding:2rem}.user-reviews__header{margin-bottom:2rem}.user-reviews__header h2{color:#c6a87d;font-family:Playfair Display,serif;font-size:2rem}.user-reviews .reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:2rem}.user-reviews .review-card{background:#222;border:1px solid #b89b70;border-radius:8px;padding:1.5rem;transition:transform .2s ease}.user-reviews .review-card:hover{transform:translateY(-2px)}.user-reviews .review-card .review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.user-reviews .review-card .review-header .service-info h3{color:#c6a87d;font-family:Playfair Display,serif;margin-bottom:.5rem}.user-reviews .review-card .review-header .service-info .date{color:#adadad;font-size:.9rem}.user-reviews .review-card .review-header .rating{display:flex;gap:.25rem}.user-reviews .review-card .review-header .rating .star{color:#adadad}.user-reviews .review-card .review-header .rating .star.filled{color:#c6a87d}.user-reviews .review-card .feedback{color:#d4d4d4;margin-bottom:1rem;line-height:1.6}.user-reviews .review-card .review-image{margin:1rem 0;border-radius:8px;overflow:hidden}.user-reviews .review-card .review-image img{width:100%;height:200px;object-fit:cover}.user-reviews .review-card .review-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:1rem}.user-reviews .review-card .review-actions button{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:4px;border:none;cursor:pointer;transition:all .2s ease;font-family:Roboto,sans-serif}.user-reviews .review-card .review-actions button.btn-delete{background:#1a1a1a;color:#ef4444;border:1px solid #ef4444}.user-reviews .review-card .review-actions button.btn-delete:hover:not(:disabled){background:#ef4444;color:#111}.user-reviews .review-card .review-actions button.btn-edit{background:#1a1a1a;color:#c6a87d;border:1px solid #c6a87d}.user-reviews .review-card .review-actions button.btn-edit:hover:not(:disabled){background:#c6a87d;color:#111}.user-reviews .review-card .review-actions button:disabled{opacity:.6;cursor:not-allowed}.user-reviews .no-reviews{text-align:center;padding:3rem;color:#adadad}.user-reviews .no-reviews h3{color:#c6a87d;margin-bottom:1rem;font-family:Playfair Display,serif}@media (max-width: 768px){.user-reviews{padding:1rem}.user-reviews .reviews-grid{grid-template-columns:1fr}}.user-profile{display:grid;min-height:calc(100vh - 80px);background:#111}@media (min-width: 769px){.user-profile{grid-template-columns:250px 1fr}}@media (max-width: 768px){.user-profile{grid-template-rows:auto 1fr}}.user-profile__content{padding:2rem;overflow-y:auto}@media (max-width: 768px){.user-profile__content{padding:1rem}}.user-profile__content .profile-info{background:#1a1a1a;padding:2rem;border-radius:8px;border:1px solid #b89b70}.user-profile__content .profile-info .profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.user-profile__content .profile-info .profile-header h2{color:#c6a87d;margin:0}.user-profile__content .profile-info .profile-header .btn-edit{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#c6a87d;border:none;border-radius:4px;color:#111;cursor:pointer;transition:all .3s ease}.user-profile__content .profile-info .profile-header .btn-edit:hover{background:#d4bc8d}.user-profile__content .profile-info .info-group{margin-bottom:1.5rem}.user-profile__content .profile-info .info-group label{display:block;color:#c6a87d;margin-bottom:.5rem;font-weight:700}.user-profile__content .profile-info .info-group span{color:#d4d4d4}.user-profile__content .edit-form{background:#1a1a1a;padding:2rem;border-radius:8px;border:1px solid #b89b70}.user-profile__content .edit-form .form-group{margin-bottom:1.5rem}.user-profile__content .edit-form .form-group label{display:block;color:#c6a87d;margin-bottom:.5rem;font-weight:700}.user-profile__content .edit-form .form-group input{width:100%;padding:.75rem;background:#111;border:1px solid #b89b70;border-radius:4px;color:#d4d4d4}.user-profile__content .edit-form .form-group input:focus{outline:none;border-color:#c6a87d}.user-profile__content .edit-form .form-group input::placeholder{color:#d4d4d480}.user-profile__content .edit-form .form-actions{display:flex;gap:1rem;margin-top:2rem}.user-profile__content .edit-form .form-actions button{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:4px;cursor:pointer;transition:all .3s ease}.user-profile__content .edit-form .form-actions button.btn-save{background:#c6a87d;color:#111}.user-profile__content .edit-form .form-actions button.btn-save:hover{background:#d4bc8d}.user-profile__content .edit-form .form-actions button.btn-cancel{background:transparent;border:1px solid #b89b70;color:#c6a87d}.user-profile__content .edit-form .form-actions button.btn-cancel:hover{background:#c6a87d1a}.service-selection{width:100%;padding:.5rem}@media (min-width: 768px){.service-selection{padding:1rem}}.services-grid{display:grid;grid-template-columns:1fr;gap:1rem;margin-top:1rem}@media (min-width: 576px){.services-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width: 992px){.services-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}}.service-card{background-color:#1a1a1a;border:1px solid #b89b70;border-radius:8px;padding:1.5rem;text-align:left;cursor:pointer;transition:all .2s ease}.service-card:hover{background:linear-gradient(135deg,#b89b70,#c6a87d);transform:translateY(-2px);box-shadow:0 4px 8px #1111114d}.service-card:hover .service-name,.service-card:hover .service-details,.service-card:hover .service-description{color:#111}.service-name{font-family:Playfair Display,serif;color:#c6a87d;font-size:1.25rem;margin-bottom:1rem}.service-details{display:flex;justify-content:space-between;color:#d4d4d4;font-family:Roboto,sans-serif;margin-bottom:.75rem}.service-description{color:#adadad;font-family:Roboto,sans-serif;font-size:.9rem;line-height:1.4}.contact-info{max-width:600px;margin:0 auto;padding:0 1rem}@media (min-width: 768px){.contact-info{padding:0 2rem}}.contact-info form{display:flex;flex-direction:column;gap:1.5rem}.contact-info .form-group{display:flex;flex-direction:column;gap:.5rem}.contact-info .form-group label{color:#c6a87d;font-family:Roboto,sans-serif;font-size:.9rem}@media (min-width: 768px){.contact-info .form-group label{font-size:1rem}}.contact-info .form-group input[type=text],.contact-info .form-group input[type=email],.contact-info .form-group input[type=tel]{padding:.75rem;border-radius:4px;border:1px solid #b89b70;background:#1a1a1a;color:#d4d4d4;font-family:Roboto,sans-serif;font-size:1rem;transition:all .2s ease}.contact-info .form-group input[type=text]:focus,.contact-info .form-group input[type=email]:focus,.contact-info .form-group input[type=tel]:focus{outline:none;border-color:#c6a87d;box-shadow:0 0 0 2px #c6a87d33}.contact-info .form-group input[type=text]::placeholder,.contact-info .form-group input[type=email]::placeholder,.contact-info .form-group input[type=tel]::placeholder{color:#adadad}.contact-info .form-group .error-message{color:#ff6b6b;font-size:.875rem;margin-top:.25rem}.contact-info .form-group .helper-text{color:#adadad;font-size:.875rem;margin-top:.25rem;font-style:italic}.contact-info .contact-method{display:flex;gap:2rem;padding:.5rem 0}.contact-info .contact-method .radio-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;color:#d4d4d4;transition:color .2s ease}.contact-info .contact-method .radio-label:hover{color:#c6a87d}.contact-info .contact-method .radio-label input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:1.2rem;height:1.2rem;border:2px solid #b89b70;border-radius:50%;margin:0;cursor:pointer;position:relative}.contact-info .contact-method .radio-label input[type=radio]:checked{border-color:#c6a87d}.contact-info .contact-method .radio-label input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:.6rem;height:.6rem;background:#c6a87d;border-radius:50%}.contact-info .contact-method .radio-label input[type=radio]:focus{outline:none;box-shadow:0 0 0 2px #c6a87d33}.contact-info .submit-button{margin-top:1rem;padding:1rem;border:none;border-radius:4px;background:linear-gradient(135deg,#b89b70,#c6a87d);color:#111;font-family:Roboto,sans-serif;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s ease;height:48px}.contact-info .submit-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #1111114d}.contact-info .submit-button:active{transform:translateY(0)}@media (max-width: 767px){.contact-info .submit-button{position:fixed;bottom:1rem;left:1rem;right:1rem;width:calc(100% - 2rem);z-index:10}}.confirm-booking{max-width:600px;margin:0 auto;padding:1rem}@media (min-width: 768px){.confirm-booking{padding:2rem}}.confirm-booking .confirmation-header{text-align:center;margin-bottom:2rem}.confirm-booking .confirmation-header h2{color:#c6a87d;font-family:Playfair Display,serif;margin-bottom:1rem;font-size:1.5rem}@media (min-width: 768px){.confirm-booking .confirmation-header h2{font-size:2rem}}.confirm-booking .confirmation-header .verify-message{color:#d4d4d4;font-family:Roboto,sans-serif;font-size:.9rem}@media (min-width: 768px){.confirm-booking .confirmation-header .verify-message{font-size:1rem}}.confirm-booking .confirmation-details{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.confirm-booking .detail-section{background:#1a1a1a;border:1px solid #b89b70;border-radius:8px;padding:1rem;cursor:pointer;transition:all .2s ease}.confirm-booking .detail-section:hover{border-color:#c6a87d;transform:translateY(-2px)}.confirm-booking .detail-section h3{color:#c6a87d;font-family:Playfair Display,serif;font-size:1.1rem;margin-bottom:.5rem}.confirm-booking .detail-section .detail-content{color:#d4d4d4;font-family:Roboto,sans-serif}.confirm-booking .detail-section .detail-content p{margin:.25rem 0}.confirm-booking .detail-section .detail-content .service-meta{display:flex;gap:1rem;margin-top:.5rem;color:#adadad;font-size:.9rem}.confirm-booking .confirmation-actions{text-align:center}.confirm-booking .confirmation-actions .confirmation-note{color:#adadad;font-size:.875rem;margin-bottom:1rem;font-style:italic}.confirm-booking .confirmation-actions .confirm-button{width:100%;padding:1rem;background:linear-gradient(135deg,#b89b70,#c6a87d);border:none;border-radius:4px;color:#111;font-family:Roboto,sans-serif;font-weight:700;font-size:1rem;cursor:pointer;transition:all .2s ease}.confirm-booking .confirmation-actions .confirm-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #1111114d}.confirm-booking .confirmation-actions .confirm-button:active{transform:translateY(0)}@media (max-width: 767px){.confirm-booking .confirmation-actions .confirm-button{position:fixed;bottom:1rem;left:1rem;right:1rem;width:calc(100% - 2rem);z-index:10}}.booking-page{padding:.5rem;max-width:1200px;margin:0 auto}@media (min-width: 768px){.booking-page{padding:1.5rem}}.booking-page .booking-container{background:#1a1a1a;padding:1rem;border-radius:8px;box-shadow:0 4px 8px #1113}@media (min-width: 768px){.booking-page .booking-container{padding:1.5rem}}@media (min-width: 992px){.booking-page .booking-container{padding:2rem}}.booking-page .booking-container h1{font-size:1.25rem;margin-bottom:1rem}@media (min-width: 768px){.booking-page .booking-container h1{font-size:1.75rem}}.booking-page .booking-steps{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:0;border-bottom:none}@media (min-width: 768px){.booking-page .booking-steps{flex-direction:row;justify-content:space-between;padding:0 1rem;margin:1rem 0 1.5rem;border-bottom:1px solid #adadad}}.booking-page .booking-steps .step{font-size:.875rem;padding:.5rem;opacity:.5;background:none;border:none;text-align:left;width:100%;color:inherit}@media (min-width: 768px){.booking-page .booking-steps .step{font-size:.9rem;padding:.75rem .5rem;position:relative}}.booking-page .booking-steps .step.active{opacity:1;font-weight:700;color:#c6a87d;border-left:2px solid #c6a87d;padding-left:1rem}@media (min-width: 768px){.booking-page .booking-steps .step.active{border-left:none;padding-left:.5rem}.booking-page .booking-steps .step.active:before{content:"";position:absolute;bottom:-1px;left:0;width:100%;height:2px;background-color:#c6a87d}}.booking-page .booking-steps .step.clickable{cursor:pointer;opacity:.8}.booking-page .booking-steps .step.clickable:hover{opacity:1;background:#c6a87d1a}.booking-page .booking-steps .step:disabled{cursor:default}.booking-page .step-content{margin:2rem 0}.booking-page .booking-header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.booking-page .booking-header .back-button{background:#1a1a1a;border:1px solid #b89b70;color:#c6a87d;padding:.5rem 1rem;border-radius:4px;font-family:Roboto,sans-serif;cursor:pointer;transition:all .2s ease}.booking-page .booking-header .back-button:hover{background:linear-gradient(135deg,#b89b70,#c6a87d);color:#111;transform:translate(-2px)}.booking-page .booking-header .back-button:active{transform:translate(0)}.booking-page .booking-header h1{flex:1;text-align:center}*{margin:0;padding:0;box-sizing:border-box}html,body{margin:0;padding:0;min-height:100vh}#root{min-height:100vh}a{text-decoration:none;color:inherit}ul,ol{list-style:none}body{background-color:#111;color:#d4d4d4;font-family:Roboto,sans-serif}h1,h2,h3,h4,h5,h6{font-family:Playfair Display,serif;color:#c6a87d}
