:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html{height:100%;width:100%;max-width:100%;overflow-x:hidden;background:linear-gradient(135deg,#2c3e50,#34495e);box-sizing:border-box}body{margin:0;padding:0;min-width:320px;min-height:100vh;height:100%;width:100%;max-width:100%;overflow-x:hidden;background:linear-gradient(135deg,#2c3e50,#34495e);box-sizing:border-box}#root{height:100%;width:100%;max-width:100%;min-height:100vh;overflow-x:hidden;background:linear-gradient(135deg,#2c3e50,#34495e);box-sizing:border-box}*{margin:0;padding:0;box-sizing:border-box}#radius-map{z-index:1}#radius-map .leaflet-container{border-radius:8px}.app{min-height:100vh;height:100vh;width:100%;max-width:100%;background:linear-gradient(135deg,#2c3e50,#34495e);display:flex;justify-content:stretch;align-items:stretch;padding:0;margin:0;overflow:hidden;box-sizing:border-box}.phone-mockup{perspective:1000px}.phone-frame{width:375px;height:812px;background:#1a1a1a;border-radius:45px;padding:8px;box-shadow:0 0 0 2px #333,0 20px 60px #00000080,inset 0 0 0 2px #ffffff1a;position:relative;animation:phoneFloat 3s ease-in-out infinite}@keyframes phoneFloat{0%,to{transform:translateY(0) rotateY(-5deg)}50%{transform:translateY(-10px) rotateY(5deg)}}.phone-notch{position:absolute;top:8px;left:50%;transform:translate(-50%);width:150px;height:30px;background:#1a1a1a;border-radius:0 0 20px 20px;z-index:10}.phone-screen{width:100%;height:100%;background:#fff;border-radius:37px;overflow-y:auto;overflow-x:hidden;position:relative;display:flex;flex-direction:column}.phone-home-indicator{position:absolute;bottom:8px;left:50%;transform:translate(-50%);width:134px;height:5px;background:#0000004d;border-radius:3px;z-index:10}.auth-container{min-height:100vh;height:100vh;display:flex;justify-content:stretch;align-items:stretch;padding:0;margin:0;width:100%;background:linear-gradient(135deg,#2c3e50,#34495e)}.app .auth-container{min-height:100vh;height:100vh;width:100%;max-width:100%;padding:0;margin:0}.phone-screen .auth-container{min-height:100%;padding:0;margin:0;overflow-y:auto;width:100%}.auth-box{background:#fff;border-radius:0;padding:3rem;width:100%;height:100%;max-width:100%;max-height:100vh;box-shadow:none;animation:slideIn .5s ease-out;display:flex;flex-direction:column;justify-content:center;overflow-y:auto}.phone-screen .auth-box{padding:2rem 1.5rem;max-width:100%;max-height:100%;box-shadow:none;border-radius:0}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.auth-box h1{text-align:center;font-size:1.75rem;margin-bottom:.5rem;background:linear-gradient(135deg,#2c3e50,#34495e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;word-wrap:break-word;overflow-wrap:break-word;padding:0 .5rem}.auth-subtitle{text-align:center;color:#666;margin-bottom:2rem;font-size:1rem}.auth-form{display:flex;flex-direction:column;gap:1.5rem;max-width:400px;width:100%;margin:0 auto}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:#333;font-size:.9rem}.form-input{padding:1rem;border:2px solid #e0e0e0;border-radius:12px;font-size:1rem;transition:all .3s ease;outline:none;font-family:inherit;width:100%;max-width:400px;box-sizing:border-box}.form-input:focus{border-color:#2c3e50;box-shadow:0 0 0 3px #2c3e501a}.auth-button{padding:1rem 2rem;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #2c3e504d;margin-top:.5rem;width:100%;max-width:400px}.auth-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #2c3e5066}.auth-button:active{transform:translateY(0)}.error-message{background:#fee;color:#c33;padding:1rem;border-radius:8px;border-left:4px solid #c33;font-size:.9rem}.auth-switch{text-align:center;margin-top:1.5rem;color:#666}.link-button{background:none;border:none;color:#2c3e50;cursor:pointer;font-weight:600;text-decoration:underline;font-size:inherit;padding:0;pointer-events:auto;position:relative;z-index:10}.link-button:hover{color:#34495e}.dashboard{width:100%;max-width:100%;min-height:100vh;height:100%;background:#f5f7fa;border-radius:0;box-shadow:none;overflow:visible;display:flex;flex-direction:column;flex:1;box-sizing:border-box;margin:0;padding:0}.dashboard-mobile{width:100%;height:100%;background:#f5f7fa;overflow:hidden;display:flex;flex-direction:column}.dashboard-header{background:#fff;padding:2rem;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;align-items:center}.dashboard-header h1{font-size:1.5rem;background:linear-gradient(135deg,#2c3e50,#34495e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.25rem;word-wrap:break-word;overflow-wrap:break-word}.logo-title{transition:all .3s ease;-webkit-user-select:none;user-select:none}.logo-title:hover{opacity:.8;transform:scale(1.02)}.dashboard-header p{color:#666;font-size:1rem}.navigation{background:#fff;padding:0;box-shadow:0 2px 10px #0000001a;display:flex;gap:0;border-top:1px solid #e0e0e0;position:sticky;top:0;z-index:50}.navigation-mobile{background:#fff;padding:0;box-shadow:0 2px 10px #0000001a;display:flex;gap:0;border-top:1px solid #e0e0e0;position:sticky;bottom:0;z-index:100}.nav-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem;background:none;border:none;cursor:pointer;transition:all .3s ease;color:#666;font-size:.9rem;font-weight:500;border-bottom:3px solid transparent}.nav-item:hover{background:#f8f9fa;color:#2c3e50}.nav-item.active{color:#2c3e50;border-bottom-color:#2c3e50;background:#2c3e500d}.nav-icon{font-size:1.5rem}.nav-label{font-weight:500}.page-content{width:100%;max-width:100%;padding:0;min-height:100%;box-sizing:border-box;margin:0}.empty-state{text-align:center;padding:4rem 2rem;color:#666}.empty-state p{font-size:1.25rem;margin-bottom:.5rem}.empty-state-subtitle{font-size:1rem;color:#999}.profile-card{background:#fff;border-radius:16px;padding:2rem;display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem;margin-left:0;margin-right:0;box-shadow:0 2px 8px #0000001a;width:100%}.profile-avatar{width:80px;height:80px;border-radius:50%;background:linear-gradient(135deg,#2c3e50,#34495e);display:flex;align-items:center;justify-content:center}.avatar-icon{font-size:2.5rem}.profile-info h3{font-size:1.5rem;color:#333;margin-bottom:.25rem}.profile-email{color:#666;font-size:1rem}.profile-section{background:#fff;border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;margin-left:0;margin-right:0;box-shadow:0 2px 8px #0000001a;width:100%}.profile-section h3{font-size:1.25rem;color:#333;margin-bottom:1rem}.info-item{display:flex;justify-content:space-between;padding:.75rem 0;border-bottom:1px solid #f0f0f0}.info-item:last-child{border-bottom:none}.info-item-edit{padding:1rem 0;border-bottom:1px solid #f0f0f0;display:block!important;visibility:visible!important;opacity:1!important}.info-item-edit:last-child{border-bottom:none}.info-label{font-weight:600;color:#666;margin-bottom:.5rem}.info-value{color:#333}.info-value-with-edit{display:flex;justify-content:space-between;align-items:center;gap:1rem}.edit-button{padding:.5rem 1rem;background:#f8f9fa;color:#2c3e50;border:1px solid #2c3e50;border-radius:6px;font-size:.85rem;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.edit-button:hover{background:#2c3e50;color:#fff}.edit-form{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.edit-buttons{display:flex;gap:.75rem;margin-top:.5rem}.save-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1}.save-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2c3e504d}.cancel-button{padding:.75rem 1.5rem;background:#f8f9fa;color:#666;border:1px solid #e0e0e0;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;flex:1}.cancel-button:hover{background:#e9ecef;border-color:#d0d0d0}.success-message{background:#4caf50;color:#fff;padding:1rem;border-radius:8px;margin-bottom:1rem;text-align:center;font-weight:500;animation:slideIn .3s ease}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-button{width:100%;padding:1rem;background:#f8f9fa;border:1px solid #e0e0e0;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin-bottom:.75rem;text-align:left}.settings-button:hover{background:#e9ecef;border-color:#2c3e50}.settings-button:last-child{margin-bottom:0}.logout-button-full{width:100%;padding:1rem;background:#f44336;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-top:1rem}.logout-button-full:hover{background:#d32f2f;transform:translateY(-2px)}.booking-price{color:#2c3e50;font-weight:600;font-size:1.1rem;margin-top:.25rem}.logout-button{padding:.75rem 1.5rem;background:#f44336;color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap;font-size:.9rem}.logout-button:hover{background:#d32f2f;transform:translateY(-2px)}.account-menu-container{position:relative;display:inline-block}.account-button{padding:.75rem 1.5rem;background:#fff;color:#333;border:1px solid rgba(0,0,0,.1);border-radius:8px;font-weight:600;font-size:.9rem;font-family:inherit;cursor:pointer;transition:all .3s ease;white-space:nowrap;position:relative;box-shadow:0 2px 4px #0000001a;line-height:1.5}.account-button:hover{transform:translateY(-2px);box-shadow:0 4px 8px #00000026;background:#f5f5f5}.dashboard-header-mobile .account-button{padding:.5rem 1rem;font-size:.85rem}.account-dropdown{position:absolute;top:calc(100% + .5rem);right:0;left:0;background:#fff;border-radius:8px;box-shadow:0 4px 12px #00000026;width:100%;z-index:1000;overflow:hidden;animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{width:100%;padding:.75rem 1rem;background:#fff;border:none;text-align:left;cursor:pointer;transition:all .2s ease;font-size:.9rem;color:#333;display:flex;align-items:center;gap:.5rem}.dropdown-item:hover{background:#f5f7fa;color:#2c3e50}.dropdown-item.active{background:#e6f7ff;color:#34495e;font-weight:600}.dropdown-item:not(:last-child){border-bottom:1px solid #f0f0f0}.dropdown-divider{height:1px;background:#f0f0f0;margin:.25rem 0}.dropdown-item-logout{color:#f44336!important}.dropdown-item-logout:hover{background:#ffebee!important;color:#d32f2f!important}.dashboard-content{width:100%;max-width:100%;padding:2rem;flex:1;overflow-y:auto;box-sizing:border-box;margin:0}.dashboard-content-mobile{width:100%;max-width:100%;padding:1rem;overflow-y:auto;flex:1;min-height:0;box-sizing:border-box;margin:0}.dashboard-mobile{display:flex;flex-direction:column;height:100%;min-height:100%;overflow:hidden}.phone-screen .dashboard-mobile{height:100%;overflow:hidden}.dashboard-header-mobile{background:#fff;padding:1rem;box-shadow:0 2px 10px #0000001a;display:flex;justify-content:space-between;align-items:center}.dashboard-header-mobile h1{font-size:1.25rem;margin-bottom:.25rem;word-wrap:break-word;overflow-wrap:break-word;background:linear-gradient(135deg,#2c3e50,#34495e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-header-mobile .logo-title{transition:all .3s ease;-webkit-user-select:none;user-select:none}.dashboard-header-mobile .logo-title:hover{opacity:.8;transform:scale(1.02)}.dashboard-header-mobile p{font-size:.9rem}.search-section{margin-bottom:2rem;margin-left:0;margin-right:0}.search-container{display:flex;gap:1rem;align-items:stretch;justify-content:flex-start;width:100%;max-width:100%}.search-input-wrapper{flex:0 0 auto;position:relative;display:flex;align-items:center;min-width:200px;max-width:250px}.search-icon{position:absolute;left:1rem;font-size:1.2rem;z-index:1}.search-input{width:100%;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:all .3s ease;background:#fff;color:#000}.search-input::placeholder{color:#999}.search-input:focus{outline:none;border-color:#2c3e50;box-shadow:0 0 0 3px #2c3e501a}.category-select-wrapper,.radius-select-wrapper{position:relative;display:flex;align-items:center;min-width:150px;justify-content:flex-start}.radius-button{white-space:nowrap}.category-icon{position:absolute;left:1rem;font-size:1.2rem;z-index:2;pointer-events:none}.category-select{width:100%;padding:.75rem 2.5rem .75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;background:#fff;cursor:pointer;transition:all .3s ease;appearance:none;-webkit-appearance:none;-moz-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='%23333' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;position:relative;z-index:10;pointer-events:auto;color:#000;text-align:left!important;text-align-last:left!important;direction:ltr;text-indent:0}.category-select option{padding:.5rem .5rem .5rem 1rem;background:#fff;color:#000;text-align:left;direction:ltr}.category-select{-webkit-text-align:left!important;-moz-text-align:left!important;text-align:left!important}.category-select::-ms-expand{display:none}.category-select:focus{outline:none;border-color:#2c3e50;box-shadow:0 0 0 3px #2c3e501a}.category-select:hover{border-color:#2c3e50}.no-results{text-align:center;padding:2rem;color:#666;font-size:1.1rem}.categories-section,.services-section,.bookings-section{margin-bottom:3rem;margin-left:0;margin-right:0}.categories-section h2,.services-section h2,.bookings-section h2{font-size:1.75rem;color:#333;margin-bottom:1.5rem}.categories-grid{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:2rem}.category-button{display:flex;align-items:center;gap:.5rem;padding:1rem 1.5rem;background:#fff;border:2px solid #e0e0e0;border-radius:12px;cursor:pointer;transition:all .3s ease;font-size:1rem;font-weight:500}.category-button:hover{border-color:#2c3e50;transform:translateY(-2px);box-shadow:0 4px 12px #2c3e5026}.category-button.active{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;border-color:transparent}.category-icon{font-size:1.5rem}.services-list{display:flex;flex-direction:column;gap:1.5rem}.service-card{background:#fff;border-radius:16px;padding:1.5rem;box-shadow:0 4px 12px #0000001a;transition:all .3s ease;display:flex;flex-direction:row;align-items:flex-start;gap:1.5rem;text-align:left}.service-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.service-image-container{flex-shrink:0;width:120px;height:120px;border-radius:12px;overflow:hidden;background:#f5f5f5;display:flex;align-items:center;justify-content:center}.service-image{width:100%;height:100%;object-fit:cover}.service-image-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;color:#999}.placeholder-icon{font-size:2rem;margin-bottom:.25rem}.placeholder-text{font-size:.75rem;color:#999}.service-content{flex:1;display:flex;flex-direction:column;gap:.5rem;justify-content:space-between}.service-name{font-size:1.25rem;font-weight:600;color:#333;margin:0}.service-meta{display:flex;flex-direction:column;gap:.25rem;margin-bottom:.5rem}.service-subcategory{color:#666;font-size:.85rem;font-weight:400;margin:0;font-style:normal}.service-rating{color:#666;font-size:.85rem;font-weight:400;display:flex;align-items:center;gap:.25rem}.star-filled{color:#ffc107;filter:grayscale(0%)}.star-empty{color:#ddd;filter:grayscale(100%);opacity:.5}.star-half{position:relative;display:inline-block;font-size:1rem;width:1em;height:1em;line-height:1em}.service-details{display:flex;justify-content:space-between;align-items:center;margin-top:.5rem;margin-bottom:1rem}.service-duration{color:#666;font-size:.9rem}.service-price{font-size:1.5rem;font-weight:700;color:#2c3e50}.modal-subcategory{color:#666;font-size:.9rem;margin-top:.25rem;font-style:italic}.service-info{display:flex;gap:1rem;margin-bottom:1rem;font-size:.9rem;color:#666}.book-button{width:100%;padding:.75rem;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.book-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2c3e504d}.add-service-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.add-service-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2c3e504d}.service-actions{display:flex;gap:.75rem;margin-top:1rem}.edit-service-button,.delete-service-button{padding:.5rem 1rem;border:none;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;font-size:.9rem}.edit-service-button{background:#2c3e50;color:#fff}.edit-service-button:hover{background:#34495e;transform:translateY(-2px)}.delete-service-button{background:#f44336;color:#fff}.delete-service-button:hover{background:#d32f2f;transform:translateY(-2px)}.bookings-list{display:flex;flex-direction:column;gap:1rem}.booking-card{background:#fff;border-radius:12px;padding:1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 2px 8px #0000001a}.booking-service{display:flex;align-items:center;gap:1rem}.booking-icon{font-size:2rem}.booking-service h4{font-size:1.1rem;color:#333;margin-bottom:.25rem}.booking-service p{color:#666;font-size:.9rem}.booking-status{padding:.5rem 1rem;border-radius:20px;font-weight:600;font-size:.9rem}.booking-status.pending{background:#fff3cd;color:#856404}.booking-status.confirmed{background:#d4edda;color:#155724}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000;padding:2rem;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal-content{background:#fff;border-radius:20px;padding:2rem;width:100%;max-width:500px;position:relative;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;font-size:2rem;cursor:pointer;color:#666;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.modal-close:hover{background:#f0f0f0;color:#333}.modal-content h2{font-size:1.75rem;color:#333;margin-bottom:1.5rem}.modal-selected-service{margin-bottom:1.5rem}.selected-service-label{font-size:.9rem;color:#666;margin-bottom:.5rem;font-weight:600;width:100%}.modal-service-info{display:flex;flex-direction:column;gap:1rem;padding:1.5rem;background:#f8f9fa;border:2px solid #2c3e50;border-radius:12px;box-shadow:0 2px 8px #2c3e501a}.modal-service-info h3{color:#34495e;margin-bottom:.5rem;font-size:1.5rem}.modal-service-details{display:flex;gap:1rem;margin-top:.75rem;flex-wrap:wrap}.modal-price{font-size:1.5rem;font-weight:700;color:#2c3e50}.modal-duration,.modal-rating{color:#666;font-size:.95rem;padding:.25rem .75rem;background:#fff;border-radius:6px}.modal-service-icon{font-size:3rem}.modal-service-info h3{font-size:1.25rem;color:#333;margin-bottom:.25rem}.modal-service-info p{color:#666;font-size:.9rem}.booking-form{display:flex;flex-direction:column;gap:1.5rem}.modal-actions{display:flex;gap:1rem;margin-top:1rem}.cancel-button,.confirm-button{flex:1;padding:1rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.cancel-button{background:#f0f0f0;color:#333}.cancel-button:hover{background:#e0e0e0}.confirm-button{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff}.confirm-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2c3e504d}.chat-modal{max-width:600px;max-height:80vh;display:flex;flex-direction:column;padding:0;overflow:hidden}.chat-header{padding:1.5rem;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.chat-header h2{margin:0 0 1rem;font-size:1.5rem;color:#333}.service-provider-info{display:flex;flex-direction:column;gap:.5rem}.provider-detail{display:flex;gap:.5rem;font-size:.9rem}.provider-label{font-weight:600;color:#666;min-width:80px}.provider-value{color:#333}.chat-messages{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:1rem;min-height:200px;max-height:400px}.chat-empty{display:flex;align-items:center;justify-content:center;height:100%;color:#999;font-style:italic}.chat-message{display:flex;flex-direction:column;gap:.25rem;padding:.75rem 1rem;border-radius:12px;max-width:80%}.customer-message{align-self:flex-end;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff}.provider-message{align-self:flex-start;background:#f0f0f0;color:#333}.message-header{display:flex;justify-content:space-between;align-items:center;font-size:.75rem;opacity:.8;margin-bottom:.25rem}.message-sender{font-weight:600}.message-time{font-size:.7rem}.message-text{word-wrap:break-word;line-height:1.4}.chat-input-form{display:flex;gap:.5rem;padding:1rem 1.5rem;border-top:1px solid #e0e0e0;background:#f8f9fa}.chat-input{flex:1;padding:.75rem 1rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;outline:none;transition:all .3s ease}.chat-input:focus{border-color:#2c3e50}.send-button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;white-space:nowrap}.send-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #2c3e504d}.send-button:disabled{opacity:.5;cursor:not-allowed}.send-button:active:not(:disabled){transform:translateY(0)}.file-preview-container{padding:.75rem 1.5rem;border-top:1px solid #e0e0e0;background:#f8f9fa}.file-preview{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;position:relative}.file-preview-image{max-width:150px;max-height:150px;border-radius:8px;object-fit:cover}.file-preview-info{display:flex;align-items:center;gap:.5rem;flex:1}.remove-file-button{position:absolute;top:-8px;right:-8px;width:24px;height:24px;border-radius:50%;background:#f44336;color:#fff;border:none;cursor:pointer;font-size:1rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease}.remove-file-button:hover{background:#d32f2f;transform:scale(1.1)}.file-upload-button{padding:.75rem 1rem;background:#fff;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;font-size:1.2rem;display:flex;align-items:center;justify-content:center;transition:all .3s ease;flex-shrink:0}.file-upload-button:hover{border-color:#2c3e50;background:#f8f9fa}.message-file{margin-top:.5rem}.message-image{max-width:100%;max-height:300px;border-radius:8px;object-fit:cover}.file-attachment{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#fff3;border-radius:6px}.file-icon{font-size:1.2rem}.file-name{font-weight:500}.file-size{font-size:.85rem;opacity:.8}.dashboard-content-mobile .categories-section h2,.dashboard-content-mobile .services-section h2,.dashboard-content-mobile .bookings-section h2,.dashboard-content-mobile h2{font-size:1.25rem;margin-bottom:1rem}.dashboard-content-mobile .page-content{width:100%;padding:0}.dashboard-content-mobile .profile-section{margin-bottom:1rem;padding:1rem}.dashboard-content-mobile .info-item-edit{padding:.75rem 0}.dashboard-content-mobile .edit-form{margin-top:.5rem}.dashboard-content-mobile .edit-buttons{flex-direction:column;gap:.5rem}.dashboard-content-mobile .save-button,.dashboard-content-mobile .cancel-button{width:100%}.dashboard-content-mobile .profile-card{padding:1rem;margin-bottom:1rem}.dashboard-content-mobile .logout-button-full{margin-top:1rem}.dashboard-content-mobile .search-container{flex-direction:column;gap:.75rem}.dashboard-content-mobile .category-select-wrapper,.dashboard-content-mobile .radius-select-wrapper,.dashboard-content-mobile .category-select{min-width:100%;width:100%}.dashboard-content-mobile .search-input{font-size:.9rem;padding:.65rem .9rem;color:#000}.dashboard-content-mobile .category-select{font-size:.9rem;padding:.65rem .9rem .65rem 1rem;color:#000}.dashboard-content-mobile .services-list{gap:1rem}.dashboard-content-mobile .service-card{flex-direction:column;align-items:center;text-align:center}.dashboard-content-mobile .service-image-container{width:100px;height:100px}.dashboard-content-mobile .service-name{text-align:center}.dashboard-content-mobile .service-content{align-items:center;text-align:center}.dashboard-content-mobile .service-details{flex-direction:column;gap:.5rem}.dashboard-content-mobile .service-card{padding:1rem}.dashboard-content-mobile .service-icon{font-size:2rem}.dashboard-content-mobile .service-card h3{font-size:1.1rem}.dashboard-content-mobile .service-price{font-size:1.5rem}@media(max-width:1600px){.app-layout{gap:2rem;padding:1.5rem}.phone-frame{transform:scale(.9)}}@media(max-width:1200px){.app-layout{grid-template-columns:1fr;gap:2rem}.mobile-view{position:relative;top:0;justify-content:center}.phone-frame{transform:scale(.85)}}@media(max-width:1024px)and (min-width:769px){.dashboard{padding:1rem}.dashboard-header{padding:1rem 1.5rem}.dashboard-content{padding:1.5rem}.services-list{grid-template-columns:repeat(2,1fr);gap:1rem}.service-card{padding:1rem}.page-content{padding:1.5rem}.auth-form{max-width:500px}}@media(max-width:768px){.auth-box{padding:2rem 1.5rem}.auth-form{max-width:100%}.form-input{font-size:16px}.dashboard{padding:0}.dashboard-header{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.dashboard-header h1{font-size:1.25rem}.dashboard-header p{font-size:.9rem}.dashboard-content,.page-content{padding:1rem}.services-list{grid-template-columns:1fr;gap:1rem}.service-card{flex-direction:column;padding:1rem}.service-image-container{width:100%;height:200px}.service-content{width:100%;text-align:left}.search-container{flex-direction:column;gap:.75rem}.search-input-wrapper,.category-select-wrapper,.radius-select-wrapper{width:100%}.search-input,.category-select{width:100%;font-size:16px}.categories-grid{justify-content:center;flex-wrap:wrap;gap:.5rem}.category-card{min-width:calc(50% - .25rem);max-width:calc(50% - .25rem)}.booking-card{flex-direction:column;align-items:flex-start;gap:1rem;padding:1rem}.modal-content{padding:1.5rem;margin:1rem;max-width:calc(100% - 2rem);max-height:calc(100vh - 2rem);overflow-y:auto}.modal-overlay{padding:0}.account-dropdown{width:100%;left:0;right:0}.account-menu-container,.account-button{width:100%}.profile-section{padding:1rem}.info-item-edit{padding:.75rem 0}.edit-buttons{flex-direction:column;gap:.5rem}.edit-buttons button{width:100%}.book-button{width:100%;margin-top:.75rem}.app-layout{padding:1rem}.phone-frame{transform:scale(.7)}.service-card button[style*="position: absolute"]{width:2rem!important;height:2rem!important;top:.5rem!important;right:.5rem!important}.service-card button[style*="position: absolute"] span{font-size:1.25rem!important}}@media(max-width:480px){.auth-box{padding:1.5rem 1rem}.auth-box h1{font-size:1.5rem}.dashboard-header{padding:.75rem}.dashboard-header h1{font-size:1.1rem}.dashboard-content,.page-content,.service-card{padding:.75rem}.service-name{font-size:1rem}.modal-content{padding:1rem;margin:.5rem;max-width:calc(100% - 1rem)}}@media(max-width:768px)and (orientation:landscape){.auth-box{padding:1.5rem}.modal-content{max-height:calc(100vh - 1rem)}}.data-import-section,.data-export-section{margin-top:1.5rem;padding:1.5rem;background:#f8f9fa;border-radius:8px;border:1px solid #e0e0e0}.info-description{color:#666;font-size:.9rem;margin-bottom:1rem;line-height:1.5}.info-hint{color:#888;font-size:.85rem;margin-top:.5rem;font-style:italic}.import-button,.export-button{display:inline-block;padding:.75rem 1.5rem;background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;border:none;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 8px #2c3e5033}.import-button:hover,.export-button:hover{transform:translateY(-2px);box-shadow:0 4px 12px #2c3e504d}.import-button:active,.export-button:active{transform:translateY(0)}.import-button{cursor:pointer;display:inline-block}#import-data-input{display:none}
