@charset "UTF-8";.login-page-container{max-width:450px;margin:64px auto;padding:0;background-color:transparent;text-align:center}.login-page-container h2{font-size:2em;font-weight:700;color:#4a4a4a;margin-bottom:40px}.login-card{padding:40px;background-color:#fff;border-radius:18px;box-shadow:0 6px 20px #5e5e5e1a;border:1px solid #f0f0f0;outline:none;box-shadow:none}.form-input{width:100%;color:#4a4a4a;font-size:1em;box-sizing:border-box;outline:none;transition:border-color .2s ease,box-shadow .2s ease;padding:12px 16px;border:1px solid #d4d4d4;border-radius:6px;background-color:#f0f0f0;box-shadow:inset 0 1px 3px #4a4a4a0d}.form-input::placeholder{color:#d4d4d4;font-size:1em}.form-input:focus{background-color:#fff;border-color:#5e5e5e;box-shadow:0 0 5px #5e5e5e4d}.password-input-container .form-input{padding-right:40px}.password-toggle{font-size:1.2rem}.response-message.error{background-color:#fff;color:#f33;border:1px solid #ff3333;text-shadow:0 0 2px #ff3333;box-shadow:0 0 5px #f33,0 0 10px #f33}.form-button{width:200px;padding:12px;margin-top:24px;background-color:#4a4a4a;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1.1em;font-weight:700;transition:background-color .2s ease;box-shadow:0 2px 5px #4a4a4a33}.form-button:hover:not(:disabled){background-color:#3a3a3a}.login-link-container{text-align:center;margin-top:24px;font-size:.9rem;color:#5e5e5e}.login-link-container .login-link{color:#5e5e5e;text-decoration:underline;font-weight:600;transition:color .3s}.login-link-container .login-link:hover{color:#4a4a4a}.registration-container{max-width:450px;margin:64px auto;padding:0;background-color:transparent;text-align:center}.registration-container h2{font-size:2em;font-weight:700;color:#4a4a4a;margin-bottom:40px}.registration-form{padding:40px;background-color:#fff;border-radius:18px;box-shadow:0 6px 20px #5e5e5e1a;border:1px solid #f0f0f0}.registration-form[style*="text-align: center"]{min-height:250px;display:flex;align-items:center;justify-content:center;font-size:1.1em;font-style:italic;color:#5e5e5e;margin-bottom:24px}.form-title{font-size:1.4em;margin-bottom:32px;color:#4a4a4a;font-weight:500;text-align:center}.form-group{margin-bottom:24px;text-align:left}.form-label{display:block;font-size:1.1em;font-weight:700;color:#4a4a4a;margin-bottom:8px;text-align:left}.form-input,.form-textarea{width:100%;color:#4a4a4a;font-size:1em;box-sizing:border-box;outline:none;transition:border-color .2s ease,box-shadow .2s ease;padding:12px 16px;border:1px solid #d4d4d4;border-radius:6px;background-color:#f0f0f0;box-shadow:inset 0 1px 3px #4a4a4a0d}.form-input::placeholder,.form-textarea::placeholder{color:#d4d4d4;font-size:1em}.form-input:focus,.form-textarea:focus{background-color:#fff;border-color:#5e5e5e;box-shadow:0 0 5px #5e5e5e4d}.form-textarea{resize:vertical;min-height:100px}.form-button{width:200px;padding:12px;margin-top:24px;background-color:#d4d4d4;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:1.1em;font-weight:700;transition:background-color .2s ease;box-shadow:0 2px 5px #4a4a4a33}.form-button:hover:not(:disabled){background-color:#4a4a4a}.form-button:disabled{background-color:#d4d4d4;opacity:.8;cursor:not-allowed}.role-tabs{display:flex;justify-content:center;gap:8px;margin-bottom:32px}.role-tabs .tab-button{padding:8px 20px;border:1px solid #d4d4d4;border-radius:3px;background-color:#fff;color:#4a4a4a;font-weight:500;cursor:pointer;transition:background-color .2s ease,color .2s ease,border-color .2s ease}.role-tabs .tab-button:hover:not(:disabled){background-color:#f0f0f0}.role-tabs .tab-button.active-tab{background-color:#4a4a4a;color:#fff;border-color:#4a4a4a}.role-tabs .tab-button:disabled{cursor:not-allowed;opacity:.6;background-color:#f0f0f0}.password-group{position:relative}.password-input-container{position:relative;display:flex;align-items:center}.password-input-container .form-input,.password-input-container .form-textarea{padding-right:40px}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center;opacity:.6;transition:opacity .2s ease}.password-toggle:hover{opacity:1}.password-toggle:disabled{opacity:.3;cursor:not-allowed}.password-toggle svg{width:20px;height:20px;fill:#d4d4d4}.input-error{border-color:#f33!important;box-shadow:0 0 5px #f33,0 0 10px #f33!important}.error-message{margin-top:8px;color:#f33;font-size:.95em;font-weight:700;text-align:left;text-shadow:0 0 1px #ff3333}.response-message{margin-top:24px;padding:16px;border-radius:6px;font-weight:700;text-align:center;font-size:.9em}.response-message.success{background-color:#d9eeda;color:#2d682f;border:1px solid #4caf50}.response-message.loading{background-color:#f0f0f0;color:#4a4a4a;border:1px solid #d4d4d4}.response-message.error{background-color:#fff;color:#f33;border:1px solid #ff3333;font-weight:700;text-shadow:0 0 2px #ff3333;box-shadow:0 0 5px #f33,0 0 10px #f33}.user-page-container{max-width:1200px;margin:0 auto;padding:24px;font-family:sans-serif}.user-page-header{color:#5e5e5e;margin-bottom:32px}.content-block{margin-bottom:40px}.avatar-profile-button{position:fixed;top:16px;right:16px;z-index:1000;width:48px;height:48px;border-radius:50%;background-color:#f0f0f0;border:2px solid #d4d4d4;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}.avatar-profile-button:hover{box-shadow:0 4px 8px #0000000d}.user-profile-button{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-radius:12px;box-shadow:0 4px 8px #0000000d;margin-bottom:32px;cursor:pointer;transition:transform .2s,box-shadow .2s}.user-profile-button:hover{transform:translateY(-2px);box-shadow:0 8px 16px #0000001a}.user-avatar-large{width:80px;height:80px;background:#4a4a4a;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:700;flex-shrink:0}.avatar-text{font-size:32px}.user-greeting h1{margin:0;font-size:1.8em;color:#4a4a4a}.user-role-text{margin:4px 0 0;color:#5e5e5e;font-weight:500}.arrow-right{margin-left:auto;font-size:24px;color:#d4d4d4}.master-list-container{margin:16px 0}.master-list-container h2{color:#5e5e5e;margin-bottom:16px}.master-list-card-wrapper{background-color:#fff;border:1px solid #d4d4d4;border-radius:12px;padding:16px;box-shadow:0 4px 8px #0000000d}.mySwiper{width:100%;height:auto;padding:8px 0}.swiper-slide{width:auto!important;height:auto;display:flex;justify-content:center}.master-card{width:100%;max-width:250px;margin:0}.swiper-button-disabled{opacity:.3!important;cursor:not-allowed!important}.master-card{min-width:200px;width:20%;flex-shrink:0;padding:16px;border:1px solid #d4d4d4;border-radius:12px;text-align:center;box-shadow:0 1px 3px #0000001a;background-color:#fff}.master-image-container{display:flex;justify-content:center;margin-bottom:16px}.master-image{width:80px;height:80px;border-radius:50%;background-color:#f0f0f0;background-size:cover;background-position:center;border:2px solid #ffffff;box-shadow:0 1px 3px #0000001a}.master-info{display:flex;flex-direction:column;align-items:center}.master-info .master-name{font-size:1em;font-weight:600;color:#5e5e5e;margin:8px 0}.master-info .master-specialization{font-size:.9em;color:#5e5e5e;opacity:.7;margin-bottom:9.6px}.master-rating{color:#ffc107;margin-bottom:16px;font-size:.9em}.master-rating .rating-value,.master-rating .review-count{color:#5e5e5e;margin-left:4px}.book-button{background-color:#f0f0f0;border:1px solid #d4d4d4;padding:8px 20px;border-radius:20px;cursor:pointer;font-weight:700;color:#4a4a4a;transition:background-color .2s}.book-button:hover{background-color:#d4d4d4}.service-list-block{margin:16px 0;border:1px solid #d4d4d4;border-radius:12px;padding:16px 24px;box-shadow:0 4px 8px #0000000d;background-color:#fff}.service-list-block h2{color:#5e5e5e;margin-top:0;margin-bottom:16px}.show-all-button-container{text-align:center;padding:16px 0 8px}.show-all-button{background:#f0f0f0;border:1px solid #d4d4d4;padding:8px 16px;border-radius:20px;cursor:pointer;font-weight:500;color:#5e5e5e;transition:background-color .2s;display:inline-block;text-decoration:none;text-align:center}.show-all-button:hover{background-color:#d4d4d4}.service-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #f0f0f0}.service-item:last-child{border-bottom:none}.service-info-left{display:flex;align-items:center}.service-image-container{margin-right:16px}.service-image{width:50px;height:50px;border-radius:4px;background-color:#d4d4d4;background-size:cover}.service-details .service-name{font-weight:500;color:#4a4a4a;margin:0}.service-details .service-category{font-size:.85em;color:#5e5e5e;opacity:.6;margin:4px 0 0}.service-info-right{display:flex;align-items:center}.service-price-duration{text-align:right;margin-right:24px}.service-price-duration .service-price{font-weight:700;color:#4a4a4a;margin:0;white-space:nowrap}.service-price-duration .service-duration{font-size:.9em;color:#5e5e5e;margin:0;white-space:nowrap}.book-service-button{background-color:#f0f0f0;border:1px solid #d4d4d4;padding:8px 16px;border-radius:20px;cursor:pointer;font-weight:700;color:#4a4a4a;white-space:nowrap;transition:background-color .2s}.book-service-button:hover{background-color:#d4d4d4}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block;width:100%}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;box-sizing:content-box}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;width:auto!important;display:flex;justify-content:center}.swiper-button-prev-custom,.swiper-button-next-custom{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;background-color:#fff;border-radius:50%;box-shadow:0 4px 8px #0000000d;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:10;font-size:1.5em;color:#4a4a4a;opacity:0;transition:opacity .3s ease-in-out,background-color .2s;pointer-events:none}.swiper-button-prev-custom.visible,.swiper-button-next-custom.visible{opacity:1;pointer-events:all}.swiper-button-prev-custom:hover,.swiper-button-next-custom:hover{background-color:#f0f0f0}.swiper-button-prev-custom.swiper-button-disabled-custom,.swiper-button-next-custom.swiper-button-disabled-custom{opacity:.3;cursor:not-allowed;pointer-events:none}.swiper-button-prev-custom{left:0}.swiper-button-next-custom{right:0}.swiper-wrapper-custom{position:relative;padding:8px}.service-catalog-page-container{max-width:1000px;margin:0 auto;padding:24px;background-color:#f0f0f0;min-height:100vh}.service-catalog-page-container h1{color:#5e5e5e;margin-bottom:24px;font-size:1.8em}.search-bar-container{margin-bottom:24px}.search-bar-container .service-search-input{width:100%;padding:12px;border:1px solid #d4d4d4;border-radius:12px;font-size:1em;color:#5e5e5e;box-shadow:0 1px 3px #0000001a}.search-bar-container .service-search-input::placeholder{color:#d4d4d4}.category-tabs-wrapper{display:flex;gap:8px;margin-bottom:32px;overflow-x:auto;padding-bottom:8px}.category-tab{flex-shrink:0;padding:8px 16px;border:1px solid #d4d4d4;border-radius:20px;background-color:#fff;color:#5e5e5e;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s}.category-tab:hover{background-color:#f0f0f0}.category-tab.active{background-color:#4a4a4a;color:#fff;border-color:#4a4a4a}.service-category-block{margin-bottom:32px}.service-category-block .category-title{color:#5e5e5e;font-size:1.5em;margin-bottom:16px;padding-top:16px;margin-top:-16px}.category-services-list{background-color:#fff;border-radius:12px;box-shadow:0 4px 8px #0000000d;padding:0 16px}.no-results{color:#5e5e5e;text-align:center;padding:32px;background-color:#fff;border-radius:12px;box-shadow:0 4px 8px #0000000d}.user-account{padding:24px;background-color:#fff;border-radius:12px;box-shadow:0 10px 30px #0000001a;max-width:320px;margin:20px;border:1px solid #e5e7eb}.user-info{display:flex;align-items:center;gap:16px;margin-bottom:20px}.user-avatar{width:60px;height:60px;flex-shrink:0}.avatar-placeholder{display:flex;align-items:center;justify-content:center;width:100%;height:100%;border-radius:50%;background-color:#6d28d9;color:#fff;font-size:20px;font-weight:600;box-shadow:0 2px 8px #0000001a}.user-details{flex-grow:1}.user-name{margin:0;font-size:1.1em;color:#374151;font-weight:700}.user-role{margin:2px 0;font-size:.85em;color:#6d28d9;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.user-email{margin:2px 0 0;font-size:.8em;color:#6b7280}.logout-button{width:100%;padding:10px;background-color:#f87171;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:background-color .2s,transform .1s}.logout-button:hover{background-color:#ef4444}.logout-button:active{transform:translateY(1px)}.choose-date-page{padding:24px;background-color:#f0f0f0;min-height:100vh;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.back-button{background:none;border:none;font-size:24px;color:#5e5e5e;cursor:pointer;padding:8px 16px;margin-bottom:16px;transition:color .2s}.back-button:hover{color:#4a4a4a}.page-header{text-align:center;margin-bottom:32px}.page-header h1{font-size:22px;font-weight:600;color:#5e5e5e;margin:0 0 8px}.page-header .subtitle{font-size:16px;color:#d4d4d4;margin:0;font-weight:500}.dates-container{margin-bottom:32px}.dates-grid{display:flex;gap:12px;overflow-x:auto;padding:8px 0;scrollbar-width:none}.dates-grid::-webkit-scrollbar{display:none}.date-block{min-width:76px;padding:12px 8px;background-color:#fff;border-radius:12px;border:1px solid transparent;text-align:center;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.date-block .day-number{font-size:28px;font-weight:600;color:#5e5e5e;line-height:1;margin-bottom:4px}.date-block .day-info{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#d4d4d4;text-transform:lowercase}.date-block .day-info .weekday,.date-block .day-info .month{font-weight:500}.date-block.selected{background-color:#d4d4d4;border-color:#5e5e5e}.date-block.selected .day-number,.date-block.selected .day-info span{color:#fff}.date-block:active{transform:scale(.96)}.time-section{background-color:#fff;border-radius:18px;padding:24px;box-shadow:0 4px 8px #0000000d}.selected-date-title{font-size:18px;font-weight:600;color:#5e5e5e;text-align:center;margin:0 0 24px;text-transform:capitalize}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px;margin-top:16px}.time-slot{padding:16px;background-color:#f0f0f0;border:none;border-radius:12px;font-size:16px;font-weight:500;color:#5e5e5e;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.time-slot:hover{background-color:#e0e0e0;transform:translateY(-2px)}.time-slot:active{transform:scale(.96)}.loading,.error,.no-slots{text-align:center;padding:32px;color:#d4d4d4;font-size:16px}.error{color:#f44336}.no-slots{font-style:italic}.ready-appointment-page{padding:24px;background-color:#f0f0f0;min-height:100vh}.back-button{background:none;border:none;font-size:24px;color:#5e5e5e;cursor:pointer;margin-bottom:16px}.appointment-card{background:#fff;border-radius:18px;padding:24px;box-shadow:0 4px 8px #0000000d;margin-bottom:24px}.master-info{display:flex;align-items:center;gap:16px;margin-bottom:16px}.master-info .avatar-placeholder{width:48px;height:48px;border-radius:50%;background-color:#d4d4d4}.master-info h3{margin:0;font-size:18px;font-weight:600}.master-info .master-role{margin:4px 0 0;color:#d4d4d4;font-size:14px}.appointment-datetime{display:flex;align-items:center;gap:16px;font-size:15px;color:#5e5e5e}.appointment-datetime .calendar-icon{width:20px;height:20px;background:#d4d4d4;border-radius:4px}.appointment-datetime .time-range{margin-top:4px;color:#d4d4d4}.separator{height:1px;background:#d4d4d4;margin:24px 0}.service-item{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.service-item h4{margin:0;font-size:16px}.service-item .duration{margin:4px 0 0;color:#d4d4d4;font-size:14px}.service-item .price{font-weight:600;font-size:18px}.cancellation-note{display:flex;align-items:center;gap:8px;background:#fff8e1;padding:12px;border-radius:12px;font-size:14px;color:#ff6d00}.cancellation-note .cancel-icon{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:#ff6d00;color:#fff;border-radius:50%;font-weight:700;font-size:12px}.cancellation-note .details-link{margin-left:auto;background:none;border:none;color:#ff6d00;text-decoration:underline;cursor:pointer}.summary{display:flex;justify-content:space-between;font-size:18px;font-weight:600;margin:32px 0}.terms-checkbox{display:flex;align-items:center;gap:8px;font-size:14px;color:#5e5e5e;margin-bottom:24px}.terms-checkbox input{cursor:pointer}.terms-checkbox span{color:#f44336}.confirm-button{width:100%;padding:20px;background-color:#4a4a4a;color:#fff;border:none;border-radius:12px;font-size:18px;font-weight:600;cursor:pointer;transition:background .2s}.confirm-button:hover{background-color:#3a3a3a}.confirm-button:disabled{opacity:.6;cursor:not-allowed}.success-message{text-align:center;padding:24px;background:#4caf50;color:#fff;border-radius:12px;font-size:18px;font-weight:600}.error-message{margin-top:16px;color:#f44336;text-align:center}body,html,#root{margin:0;padding:0;font-family:Arial,sans-serif;background-color:#f0f0f0;color:#333;min-height:100vh;box-sizing:border-box;-webkit-user-select:none;user-select:none}.app-container{padding:20px;max-width:1200px;margin:0 auto}@media(max-width:768px){.app-container{padding:10px}}
