*{margin:0;padding:0;box-sizing:border-box;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}:root{--pastel-red: #ffccd5;--dark-magenta: #c9184a;--light-pink: #ff8fa3;--white: #ffffff;--gray: #f8f9fa;--dark: #343a40;--shadow: rgba(0, 0, 0, .1)}body{background-color:var(--pastel-red);color:var(--dark);padding-bottom:80px;min-height:100vh}.service-option.selected{border-color:var(--dark-magenta);background-color:#ff14930d;box-shadow:0 0 0 2px #ff149333}.photo-indicator{margin-left:8px;color:var(--dark-magenta);font-size:.9em}.booking-comment{margin-top:8px;padding:8px;background:#00000008;border-radius:8px;font-size:.9em;color:#666}.booking-comment i{margin-right:5px;color:var(--dark-magenta)}.container{max-width:100%;padding:16px}.app-header{text-align:center;padding:20px 16px;background:linear-gradient(135deg,var(--light-pink),var(--dark-magenta));color:#fff;border-radius:0 0 24px 24px;margin-bottom:20px;box-shadow:0 4px 12px var(--shadow)}.app-header h1{font-size:1.8rem;margin-bottom:8px}.app-header p{opacity:.9}.rounded-card{background-color:var(--white);border-radius:24px;padding:20px;margin-bottom:20px;box-shadow:0 6px 16px var(--shadow);transition:transform .3s ease}.rounded-card:hover{transform:translateY(-5px)}.section-title{font-size:1.4rem;margin-bottom:16px;color:var(--dark-magenta);display:flex;align-items:center;gap:10px}.section-title i{font-size:1.2rem}.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px;margin-top:20px}.service-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 4px 12px var(--shadow);transition:all .3s ease}.service-card:hover{box-shadow:0 8px 20px #c9184a26}.service-image{height:180px;width:100%;background-color:var(--light-pink);background-image:url(https://images.unsplash.com/photo-1604654894610-df63bc536371?ixlib=rb-4.0.3&auto=format&fit=crop&w=800&q=80);background-size:cover;background-position:center}.service-info{padding:16px}.service-name{font-size:1.2rem;font-weight:600;margin-bottom:8px;color:var(--dark)}.service-desc{font-size:.9rem;color:#666;margin-bottom:12px;line-height:1.4}.service-price{font-size:1.3rem;font-weight:700;color:var(--dark-magenta);margin-bottom:16px}.book-btn{display:block;width:100%;padding:12px;background:linear-gradient(to right,var(--light-pink),var(--dark-magenta));color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .3s}.book-btn:hover{opacity:.9}.profile-form{max-width:500px;margin:0 auto}.form-group{margin-bottom:20px}.form-label{display:block;margin-bottom:8px;font-weight:600;color:var(--dark)}.form-input{width:100%;padding:16px;border:2px solid #e9ecef;border-radius:12px;font-size:1rem;transition:border-color .3s}.form-input:focus{outline:none;border-color:var(--dark-magenta)}.login-btn{width:100%;padding:16px;background:linear-gradient(to right,var(--light-pink),var(--dark-magenta));color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:opacity .3s;margin-top:10px}.login-btn:hover{opacity:.9}.bottom-nav{position:fixed;bottom:0;left:0;width:100%;background-color:var(--white);display:flex;justify-content:space-around;align-items:center;padding:12px 0;box-shadow:0 -4px 12px var(--shadow);z-index:1000;border-radius:24px 24px 0 0}.nav-item{display:flex;flex-direction:column;align-items:center;text-decoration:none;color:#777;transition:all .3s;flex:1;padding:8px 0}.nav-item.active{color:var(--dark-magenta)}.nav-item i{font-size:1.5rem;margin-bottom:4px}.nav-item span{font-size:.8rem;font-weight:500}.nav-item:hover{color:var(--dark-magenta)}.page-content{display:none;animation:fadeIn .5s}.page-content.active{display:block}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.offer-card{background:linear-gradient(135deg,#ffccd5,#ff8fa3);color:var(--dark);padding:20px;border-radius:20px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center}.offer-title{font-size:1.3rem;font-weight:700;margin-bottom:5px}.offer-desc{font-size:1rem;opacity:.9}.offer-badge{background-color:var(--dark-magenta);color:#fff;padding:8px 16px;border-radius:50px;font-weight:700;font-size:1.2rem}@media (max-width: 768px){.services-grid{grid-template-columns:1fr}.app-header h1{font-size:1.5rem}}@media (min-width: 769px){.container{max-width:1200px;margin:0 auto}.bottom-nav{max-width:1200px;left:50%;transform:translate(-50%);border-radius:24px;bottom:20px;width:calc(100% - 40px)}body{padding-bottom:100px}}.booking-form{margin-top:20px}.form-grid{display:grid;gap:20px}@media (min-width: 768px){.form-grid{grid-template-columns:repeat(2,1fr)}.calendar-group{grid-column:span 2}}.services-selector,.masters-selector{display:grid;gap:10px;margin-top:10px}.service-option,.master-option{background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;padding:12px;cursor:pointer;transition:all .3s}.service-option:hover,.master-option:hover{border-color:var(--light-pink);background:#fff}.service-option.selected,.master-option.selected{border-color:var(--dark-magenta);background:#c9184a0d}.service-option-name{font-weight:600;margin-bottom:4px}.service-option-price{color:var(--dark-magenta);font-weight:700}.master-option{display:flex;align-items:center;gap:12px}.master-avatar{width:40px;height:40px;background:linear-gradient(135deg,var(--light-pink),var(--dark-magenta));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:20px}.master-info{flex:1}.master-name{font-weight:600;margin-bottom:2px}.master-specialization{font-size:12px;color:#666}.calendar-group{margin-top:10px}.calendar-navigation{display:flex;align-items:center;justify-content:space-between;margin-bottom:15px}.current-month{font-weight:600;color:var(--dark);font-size:1.1rem}.calendar-nav-btn{background:#f8f9fa;border:none;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--dark);transition:all .3s}.calendar-nav-btn:hover{background:var(--light-pink);color:#fff}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:5px;margin-bottom:10px;text-align:center;font-weight:600;color:#666;font-size:14px}.calendar-days{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s;background:#f8f9fa;border:2px solid transparent}.calendar-day.available{background:#fff;border-color:#e9ecef}.calendar-day.available:hover{border-color:var(--light-pink);background:#ff8fa31a}.calendar-day.available.selected{background:var(--dark-magenta);color:#fff;border-color:var(--dark-magenta)}.calendar-day.unavailable{background:#f8f9fa;color:#ccc;cursor:not-allowed}.calendar-day.today{border-color:var(--dark-magenta);background:#c9184a1a}.calendar-day.empty{background:transparent;cursor:default}.time-slots{display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.time-slot{padding:10px 16px;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s;background:#fff}.time-slot.available{background:#fff}.time-slot.available:hover{border-color:var(--light-pink);background:#ff8fa31a}.time-slot.available.selected{background:var(--dark-magenta);color:#fff;border-color:var(--dark-magenta)}.time-slot.unavailable{background:#f8f9fa;color:#ccc;cursor:not-allowed}.booking-summary{margin-top:30px;padding:20px;background:#f8f9fa;border-radius:16px;border:2px solid #e9ecef}.summary-title{font-weight:700;color:var(--dark);margin-bottom:15px;font-size:1.1rem;display:flex;align-items:center;gap:10px}.summary-title:before{content:"";width:4px;height:20px;background:var(--dark-magenta);border-radius:2px}.summary-content{display:grid;gap:10px}.summary-item{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #e9ecef}.summary-item:last-child{border-bottom:none}.summary-item.total{font-weight:700;font-size:1.2rem;color:var(--dark-magenta);margin-top:10px;padding-top:10px;border-top:2px solid var(--light-pink)}.confirm-booking-btn{width:100%;padding:16px;background:linear-gradient(135deg,var(--light-pink),var(--dark-magenta));color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s;margin-top:20px;display:flex;align-items:center;justify-content:center;gap:10px}.confirm-booking-btn:hover{opacity:.9;transform:translateY(-2px);box-shadow:0 6px 20px #c9184a4d}.confirm-booking-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.admin-controls{background:#ff8fa30d;border-radius:16px}.admin-controls-grid{display:grid;gap:20px}@media (min-width: 768px){.admin-controls-grid{grid-template-columns:repeat(2,1fr)}}.admin-control-group{padding:15px;background:#fff;border-radius:12px;border:1px solid #e9ecef}.admin-btn{width:100%;padding:12px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:600;color:var(--dark);transition:all .3s;margin-bottom:10px;display:flex;align-items:center;justify-content:center;gap:8px}.admin-btn:hover{background:var(--light-pink);color:#fff;border-color:var(--light-pink)}.admin-btn:last-child{margin-bottom:0}.booking-notification{animation:slideInRight .3s ease}.profile-header,.avatar-container{position:relative}.user-avatar{width:80px;height:80px;background:linear-gradient(135deg,var(--light-pink),var(--dark-magenta));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:40px}.avatar-badge{position:absolute;bottom:0;right:0;width:28px;height:28px;background:#ffc107;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#333;font-size:14px;border:2px solid white}.user-name{font-size:1.5rem;font-weight:700;color:var(--dark);margin:0 0 10px}.user-stats{display:flex;gap:15px;margin-bottom:10px}.stat-item{display:flex;align-items:center;gap:6px;font-size:14px;color:#666}.social-link{display:inline-flex;align-items:center;gap:8px;color:var(--dark-magenta);text-decoration:none;font-weight:600;transition:opacity .3s}.social-link:hover{opacity:.8}.profile-form .form-grid{display:grid;gap:20px}@media (min-width: 768px){.profile-form .form-grid{grid-template-columns:repeat(2,1fr)}}.favorite-services{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0}.service-tag{background:var(--pastel-red);padding:8px 16px;border-radius:20px;display:inline-flex;align-items:center;gap:8px;font-weight:600;color:var(--dark)}.remove-service{background:none;border:none;color:#666;cursor:pointer;padding:2px;font-size:12px;transition:color .3s}.remove-service:hover{color:#f44336}.add-service-container{display:flex;gap:10px;margin-top:10px}.add-service-btn{padding:12px 20px;background:var(--light-pink);color:#fff;border:none;border-radius:12px;cursor:pointer;font-weight:600;transition:opacity .3s}.add-service-btn:hover{opacity:.9}.form-actions{display:flex;gap:15px;margin-top:25px}.save-btn{flex:1;padding:15px;background:linear-gradient(135deg,var(--light-pink),var(--dark-magenta));color:#fff;border:none;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:opacity .3s}.save-btn:hover{opacity:.9}.logout-btn{padding:15px 25px;background:#f8f9fa;color:#666;border:2px solid #e9ecef;border-radius:12px;font-size:1.1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .3s}.logout-btn:hover{background:#f44336;color:#fff;border-color:#f44336}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}@media (min-width: 768px){.stats-grid{grid-template-columns:repeat(4,1fr)}}.stat-card{background:#fff;padding:15px;border-radius:12px;display:flex;align-items:center;gap:12px;border:1px solid #e9ecef}.booking-filters{margin-bottom:20px}.filter-btn{padding:10px 20px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:600;color:#666;transition:all .3s;display:flex;align-items:center;gap:8px}.filter-btn:hover{border-color:var(--light-pink);color:var(--dark)}.filter-btn.active{background:var(--dark-magenta);color:#fff;border-color:var(--dark-magenta)}.booking-item{padding:20px;border-bottom:1px solid #eee;transition:background .3s}.booking-item:hover{background:#f8f9fa}.booking-item:last-child{border-bottom:none}.booking-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:15px}.booking-main{flex:1}.booking-service{font-weight:700;font-size:1.1rem;color:var(--dark);margin-bottom:8px}.booking-meta{display:flex;flex-wrap:wrap;gap:15px;font-size:14px;color:#666}.booking-meta span{display:flex;align-items:center;gap:6px}.booking-side{text-align:right}.booking-price{font-size:1.2rem;font-weight:700;color:var(--dark-magenta);margin-bottom:8px}.booking-status{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700}.status-completed{background:#4caf501a;color:#4caf50}.status-upcoming{background:#2196f31a;color:#2196f3}.booking-actions{display:flex;gap:10px}.booking-action-btn{padding:8px 16px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:600;color:#666;transition:all .3s;display:flex;align-items:center;gap:8px}.booking-action-btn:hover{transform:translateY(-2px)}.edit-booking:hover{background:#4caf50;color:#fff;border-color:#4caf50}.cancel-booking:hover{background:#f44336;color:#fff;border-color:#f44336}.repeat-booking:hover{background:#2196f3;color:#fff;border-color:#2196f3}.empty-bookings{text-align:center;padding:40px 20px}.book-now-btn{padding:12px 24px;background:linear-gradient(135deg,var(--light-pink),var(--dark-magenta));color:#fff;border:none;border-radius:12px;font-weight:600;cursor:pointer;display:inline-flex;align-items:center;gap:10px;margin-top:15px;transition:opacity .3s}.book-now-btn:hover{opacity:.9}.admin-profile-controls{margin-top:20px}.admin-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:25px}@media (max-width: 768px){.admin-actions{grid-template-columns:1fr}}.admin-action-btn{padding:15px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:12px;cursor:pointer;font-weight:600;color:var(--dark);transition:all .3s;display:flex;align-items:center;justify-content:center;gap:10px;text-align:center}.admin-action-btn:hover{background:var(--light-pink);color:#fff;border-color:var(--light-pink)}.admin-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:15px}@media (min-width: 768px){.admin-stats-grid{grid-template-columns:repeat(4,1fr)}}.admin-stat{background:#fff;padding:20px;border-radius:12px;border:1px solid #e9ecef;text-align:center}.admin-stat-value{font-size:1.5rem;font-weight:700;color:var(--dark-magenta);margin-bottom:5px}.admin-stat-label{font-size:12px;color:#666}.profile-notification{animation:slideInRight .3s ease}.users-stats{margin-top:20px}.users-controls{padding:20px}.users-list{display:grid;gap:15px;margin-bottom:30px}.user-card{background:#fff;border-radius:16px;padding:20px;border:1px solid #e9ecef;transition:all .3s;cursor:pointer}.user-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:var(--light-pink)}.user-card.vip{border-left:4px solid #FFC107}.user-card.inactive{opacity:.7;border-left:4px solid #f44336}.user-card-header{display:flex;align-items:center;gap:15px;margin-bottom:15px}.user-avatar{position:relative;width:60px;height:60px;background:linear-gradient(135deg,var(--light-pink),var(--dark-magenta));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:30px}.vip-badge{position:absolute;bottom:-5px;right:-5px;width:24px;height:24px;background:#ffc107;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#333;font-size:12px;border:2px solid white}.user-info{flex:1}.user-instagram{font-size:14px;color:var(--dark-magenta);margin-bottom:2px;display:flex;align-items:center;gap:6px}.user-email{font-size:12px;color:#666}.user-status{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}.status-active{background:#4caf501a;color:#4caf50}.status-vip{background:#ffc1071a;color:#ffc107}.status-inactive{background:#f443361a;color:#f44336}.user-card-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:15px;margin-bottom:15px;padding:15px;background:#f8f9fa;border-radius:12px}@media (min-width: 768px){.user-card-stats{grid-template-columns:repeat(4,1fr)}}.user-stat{text-align:center}.user-stat .stat-label{font-size:11px;color:#666;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.user-stat .stat-value{font-weight:700;font-size:1rem;color:var(--dark)}.user-card-actions{display:flex;gap:10px;flex-wrap:wrap}.user-action-btn{padding:8px 16px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:600;color:#666;transition:all .3s;display:flex;align-items:center;gap:6px;font-size:14px}.user-action-btn:hover{transform:translateY(-2px)}.view-user:hover{background:#2196f3;color:#fff;border-color:#2196f3}.edit-user:hover,.activate-user:hover{background:#4caf50;color:#fff;border-color:#4caf50}.deactivate-user:hover{background:#f44336;color:#fff;border-color:#f44336}.users-pagination{display:flex;justify-content:space-between;align-items:center;padding:20px 0;border-top:1px solid #e9ecef}.pagination-info{color:#666;font-size:14px}.pagination-controls{display:flex;gap:5px}.pagination-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;color:#666;font-weight:600;transition:all .3s}.pagination-btn:hover:not(.disabled):not(.active){border-color:var(--light-pink);color:var(--dark)}.pagination-btn.active{background:var(--dark-magenta);color:#fff;border-color:var(--dark-magenta)}.pagination-btn.disabled{opacity:.5;cursor:not-allowed}.user-modal .modal-content{animation:modalFadeIn .3s ease}.user-avatar-large{position:relative;width:80px;height:80px;background:linear-gradient(135deg,var(--light-pink),var(--dark-magenta));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:40px}.vip-badge-large{position:absolute;bottom:-5px;right:-5px;width:32px;height:32px;background:#ffc107;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#333;font-size:16px;border:3px solid white}.info-content p{margin:8px 0;color:#666;display:flex;align-items:center;gap:8px}.edit-btn{background:#4caf50;color:#fff}.edit-btn:hover{background:#45a049}.history-btn{background:#2196f3;color:#fff}.history-btn:hover{background:#0b7dda}.admin-notification{animation:slideInRight .3s ease}@media (max-width: 768px){.user-card-header{flex-direction:column;text-align:center;gap:10px}.user-status{align-self:center}.user-card-actions{justify-content:center}.controls-row,.filters-container{flex-direction:column}.filter-group{min-width:100%}.actions-row{justify-content:stretch}.action-btn{flex:1;justify-content:center}.users-pagination{flex-direction:column;gap:15px;text-align:center}}.empty-users{text-align:center;padding:40px 20px;color:#666}.analytics-content>.rounded-card{margin-top:20px}.loyalty-card,.push-settings-card{margin-top:18px;padding:18px;border-radius:16px;background:linear-gradient(135deg,#ffccd559,#ff8fa31f)}.account-status-warning{display:flex;align-items:center;gap:10px;margin:16px 0;padding:14px 16px;border:1px solid rgba(201,24,74,.28);border-radius:14px;color:var(--dark-magenta);background:#ffccd559;font-weight:600}.loyalty-heading{color:var(--dark-magenta);font-weight:700;margin-bottom:8px}.loyalty-value{color:var(--dark);font-weight:600;margin-bottom:10px}.loyalty-track{height:9px;border-radius:99px;background:#c9184a1f;overflow:hidden}.loyalty-progress{height:100%;border-radius:inherit;background:linear-gradient(90deg,#ff8fa3,#c9184a)}.loyalty-caption{color:#666;font-size:.85rem;margin-top:9px}.push-settings-card{display:flex;align-items:center;justify-content:space-between;gap:16px}@media (max-width: 600px){.push-settings-card{align-items:stretch;flex-direction:column}}.transfer-dialog{width:min(480px,100%);padding:24px;border-radius:20px;background:#fff}.transfer-dialog-header,.service-editor-header,.service-gallery-header,.image-cropper-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:20px}.transfer-dialog-header h3,.service-editor-header h3,.service-gallery-header h3,.image-cropper-header h3{margin:0 0 5px;color:var(--dark-magenta)}.transfer-dialog-header p,.service-editor-header p,.service-gallery-header p,.image-cropper-header p{margin:0;color:#6b7280}.modal-btn.save-btn{background:linear-gradient(135deg,var(--light-pink),var(--dark-magenta));color:#fff}.modal-btn:disabled{cursor:not-allowed;opacity:.55}.service-add-btn{width:auto;margin:0 0 16px auto}.service-image{position:relative;cursor:zoom-in}.photo-indicator{position:absolute;right:10px;bottom:10px;display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border-radius:999px;background:#23151cbf;color:#fff;font-size:.76rem;font-weight:700;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.service-gallery-modal,.service-editor-modal,.image-cropper-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:11000;display:flex;align-items:center;justify-content:center;padding:18px;background:#190f14b8}.service-gallery-dialog,.service-editor-dialog,.image-cropper-dialog{width:min(760px,100%);max-height:calc(100dvh - 36px);overflow:auto;padding:24px;border-radius:24px;background:#fff;box-shadow:0 24px 70px #00000047}.service-gallery-main{aspect-ratio:1 / 1;width:min(62vh,100%);margin:0 auto 14px;overflow:hidden;border-radius:18px;background:#f7e7eb}.service-gallery-main img{width:100%;height:100%;object-fit:cover;display:block}.service-gallery-collage{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.service-gallery-thumb{aspect-ratio:1;padding:0;overflow:hidden;border:3px solid transparent;border-radius:12px;background:#f5f5f5;cursor:pointer}.service-gallery-thumb.active{border-color:var(--dark-magenta)}.service-gallery-thumb img{width:100%;height:100%;object-fit:cover;display:block}.service-gallery-empty{padding:50px 15px;text-align:center;color:#6b7280}.service-editor-dialog{width:min(680px,100%)}.service-editor-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.service-photo-editor{margin-top:8px;padding:16px;border:1px solid #f1c6d2;border-radius:16px;background:#fff8fa}.service-photo-editor-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.service-photo-editor-title>div{display:flex;align-items:center;gap:8px}.photo-counter{color:#6b7280;font-size:.85rem}.service-photo-add{min-height:38px;padding:8px 12px;border:0;border-radius:10px;background:var(--dark-magenta);color:#fff;font-weight:700;cursor:pointer}.service-photo-list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.service-photo-item{position:relative;aspect-ratio:1;overflow:hidden;border-radius:12px;background:#f1f3f5}.service-photo-item img{width:100%;height:100%;object-fit:cover;display:block;cursor:pointer}.remove-service-photo{position:absolute;top:6px;right:6px;width:30px;height:30px;border:0;border-radius:50%;background:#000000b8;color:#fff;cursor:pointer}.primary-photo-label{position:absolute;left:6px;bottom:6px;padding:4px 6px;border-radius:7px;background:var(--dark-magenta);color:#fff;font-size:.65rem;font-weight:700}.service-photo-empty{grid-column:1 / -1;display:grid;place-items:center;gap:6px;min-height:110px;color:#8b7280}.service-photo-empty i{font-size:1.8rem}.service-photo-hint{margin:10px 0 0;color:#6b7280;font-size:.82rem}.service-editor-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}.image-cropper-dialog{width:min(620px,100%)}.image-cropper-stage{position:relative;width:min(100%,500px);margin:0 auto;overflow:hidden;border-radius:16px;background:#1f1f1f;touch-action:none}.image-cropper-stage canvas{display:block;width:100%;height:auto;cursor:grab;touch-action:none}.image-cropper-stage canvas:active{cursor:grabbing}.image-cropper-frame{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;border:2px solid rgba(255,255,255,.9);box-shadow:inset 0 0 0 1px #00000059}.image-cropper-frame:before,.image-cropper-frame:after{content:"";position:absolute;background:#ffffffa6}.image-cropper-frame:before{left:33.333%;right:33.333%;top:0;bottom:0;border-left:1px solid rgba(255,255,255,.65);border-right:1px solid rgba(255,255,255,.65);background:transparent}.image-cropper-frame:after{top:33.333%;bottom:33.333%;left:0;right:0;border-top:1px solid rgba(255,255,255,.65);border-bottom:1px solid rgba(255,255,255,.65);background:transparent}.image-cropper-zoom{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin:18px auto;width:min(100%,500px);color:var(--dark-magenta)}.image-cropper-zoom input{width:100%;accent-color:var(--dark-magenta)}.image-cropper-actions{display:flex;justify-content:flex-end;gap:10px}@media (max-width: 600px){.calendar-generation-modal,.service-gallery-modal,.service-editor-modal,.image-cropper-modal{align-items:flex-end;padding:0}.transfer-dialog,.service-gallery-dialog,.service-editor-dialog,.image-cropper-dialog{width:100%;max-height:94dvh;border-radius:22px 22px 0 0;padding:18px 14px calc(18px + env(safe-area-inset-bottom))}.service-editor-fields{grid-template-columns:1fr;gap:0}.service-photo-list,.service-gallery-collage{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.service-photo-editor-title{align-items:flex-start;flex-direction:column}.service-photo-add{width:100%}.service-editor-actions,.image-cropper-actions{display:grid;grid-template-columns:1fr 1fr}}.analytics-period-selector{display:flex;gap:15px;margin-top:20px;flex-wrap:wrap;align-items:end}.analytics-select-group{min-width:160px;margin:0}.analytics-period-actions{display:flex;gap:8px;margin-left:auto}.analytics-subtitle{font-size:1.2rem;margin-bottom:20px}.analytics-state{margin-top:20px;padding:40px 20px;border-radius:12px;background:#fff;text-align:center;color:#666}.analytics-state.error{color:#b71c1c}.analytics-bars-legend{display:flex;gap:20px;margin-bottom:16px;color:#666;font-size:13px}.analytics-bars-legend span{display:flex;align-items:center;gap:6px}.analytics-bars-legend i{width:12px;height:12px;border-radius:3px}.analytics-bars-legend .revenue,.analytics-bar.revenue{background:var(--dark-magenta)}.analytics-bars-legend .bookings,.analytics-bar.bookings{background:#5c6bc0}.analytics-bars-legend .expenses,.analytics-bar.expenses{background:#ef5350}.analytics-bars{display:grid;gap:9px}.analytics-bar-row{display:grid;grid-template-columns:36px 1fr 1fr 1fr;gap:10px;align-items:center;color:#666;font-size:12px}.bonus-system-banner{display:flex;align-items:center;gap:12px;margin:0 0 16px;padding:11px 14px;border:1px solid rgba(201,24,74,.18);border-radius:14px;background:linear-gradient(135deg,#fff6f8,#ffe3ea);color:var(--dark)}.bonus-system-banner>i{display:grid;place-items:center;flex:0 0 38px;width:38px;height:38px;border-radius:12px;background:linear-gradient(135deg,var(--light-pink),var(--dark-magenta));color:#fff}.bonus-system-banner div{display:grid;gap:2px}.bonus-system-banner strong{color:var(--dark-magenta);font-size:.9rem}.bonus-system-banner span{color:#6b6570;font-size:.78rem;line-height:1.35}.service-image{position:relative;cursor:grab;transition:background-image .2s ease;touch-action:pan-y}.service-carousel-nav{position:absolute;z-index:2;top:50%;display:grid;place-items:center;width:34px;height:34px;padding:0;border:0;border-radius:50%;background:#140e117a;color:#fff;opacity:0;cursor:pointer;transform:translateY(-50%);transition:opacity .18s,background .18s;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.service-carousel-nav.previous{left:9px}.service-carousel-nav.next{right:9px}.service-image:hover .service-carousel-nav,.service-carousel-nav:focus-visible{opacity:1}.service-carousel-nav:hover{background:#c9184ad1}.service-more-dots{position:absolute;z-index:2;right:13px;bottom:12px;display:flex;align-items:center;gap:5px;padding:7px 9px;border-radius:999px;background:#160f125c;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.service-more-dots span{width:6px;height:6px;border-radius:50%;background:#ffffff94;box-shadow:0 1px 3px #00000047;transition:width .18s,background .18s}.service-more-dots span.active{width:13px;border-radius:5px;background:#fff}.expense-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:16px}.expense-card-heading .analytics-subtitle{margin-bottom:5px}.expense-card-heading p{color:#6b7280;font-size:.88rem;line-height:1.4}.expense-card-heading>strong{color:#ef5350;font-size:1.25rem;white-space:nowrap}.expense-form{display:grid;grid-template-columns:150px 150px minmax(220px,1fr) auto;align-items:end;gap:12px;padding:14px;border-radius:16px;background:#fff7f9;border:1px solid #f4d5de}.expense-form .form-group{margin:0}.expense-form .action-btn{min-height:46px;padding-inline:18px}.expense-list{display:grid;gap:8px;margin-top:14px}.expense-item{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;border-radius:12px;background:#fafafa}.expense-item>div{display:grid;gap:3px}.expense-item strong{color:var(--dark)}.expense-item span{color:#8a8a8a;font-size:.78rem}.expense-item b{color:#ef5350;white-space:nowrap}.expense-empty{padding:18px;border-radius:12px;background:#fafafa;color:#858585;text-align:center}@media (min-width: 1200px){.kpi-grid{grid-template-columns:repeat(4,1fr)}}@media (max-width: 760px){.service-carousel-nav{opacity:.9;width:32px;height:32px}.expense-card-heading{flex-direction:column;gap:8px}.expense-form{grid-template-columns:1fr 1fr}.expense-description{grid-column:1 / -1}.expense-form .action-btn{grid-column:1 / -1;width:100%}}@media (max-width: 480px){.bonus-system-banner{align-items:flex-start;padding:10px}.bonus-system-banner>i{flex-basis:34px;width:34px;height:34px}.expense-form{grid-template-columns:1fr}.expense-description,.expense-form .action-btn{grid-column:auto}.analytics-bar-row{grid-template-columns:30px 1fr 1fr 1fr;gap:6px}}.analytics-bar-track{height:10px;overflow:hidden;border-radius:6px;background:#f0f0f0}.analytics-bar{min-width:0;height:100%;border-radius:6px;transition:width .25s ease}@media (max-width: 700px){.analytics-period-actions{width:100%;margin-left:0}.analytics-period-selector .action-btn{flex:1}}.analytics-period-selector .period-btn{padding:10px 20px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:600;color:#666;transition:all .3s;display:flex;align-items:center;gap:8px}.analytics-period-selector .period-btn:hover{border-color:var(--light-pink);color:var(--dark)}.analytics-period-selector .period-btn.active{background:var(--dark-magenta);color:#fff;border-color:var(--dark-magenta)}.kpi-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:15px}@media (min-width: 768px){.kpi-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width: 1200px){.kpi-grid{grid-template-columns:repeat(6,1fr)}}.kpi-card{background:#fff;padding:20px;border-radius:12px;border:1px solid #e9ecef;transition:all .3s;display:flex;align-items:center;gap:15px}.kpi-card:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0000001a}.kpi-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff}.kpi-icon i{filter:brightness(0) invert(1)}.kpi-content{flex:1}.kpi-value{font-weight:800;font-size:1.8rem;color:var(--dark);margin-bottom:4px;line-height:1}.kpi-label{font-size:14px;color:#666;margin-bottom:6px}.kpi-change{font-size:12px;font-weight:600;padding:4px 8px;border-radius:12px;display:inline-block}.kpi-change.positive{background:#4caf501a;color:#4caf50}.kpi-change.negative{background:#f443361a;color:#f44336}.kpi-change.neutral{background:#9e9e9e1a;color:#666}.charts-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-top:15px}@media (max-width: 768px){.charts-grid{grid-template-columns:1fr}}.chart-container{background:#fff;padding:20px;border-radius:12px;border:1px solid #e9ecef}.chart-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.chart-header h4{margin:0;color:var(--dark);font-size:1rem}.chart-legend{display:flex;gap:15px;flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:6px;font-size:12px;color:#666}.legend-color{width:12px;height:12px;border-radius:2px}.table-container{overflow-x:auto;margin-top:15px}.analytics-table{width:100%;border-collapse:collapse;font-size:14px}.analytics-table th{background:#f8f9fa;padding:12px 16px;text-align:left;font-weight:700;color:var(--dark);border-bottom:2px solid #e9ecef;white-space:nowrap}.analytics-table td{padding:12px 16px;border-bottom:1px solid #e9ecef;color:#666}.analytics-table tbody tr:hover{background:#f8f9fa}.current-month-row{background:#ff8fa30d!important;font-weight:600}.current-month-row td:first-child{color:var(--dark-magenta)}.summary-row{background:#f8f9fa;font-weight:700}.summary-row td{color:var(--dark)}.retention-cell{display:flex;align-items:center;gap:10px}.retention-value{min-width:50px;font-weight:600;color:var(--dark)}.retention-bar{flex:1;height:8px;background:#e9ecef;border-radius:4px;overflow:hidden}.retention-fill{height:100%;background:linear-gradient(90deg,#4caf50,#8bc34a);border-radius:4px;transition:width .3s ease}.export-controls{padding:20px}.export-options{display:flex;gap:10px;flex-wrap:wrap}.export-btn{padding:12px 20px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:600;color:var(--dark);transition:all .3s;display:flex;align-items:center;gap:8px;flex:1;min-width:150px;justify-content:center}.export-btn:hover{background:var(--light-pink);color:#fff;border-color:var(--light-pink)}.insights-list{display:grid;gap:12px}.insight-item{padding:15px;border-radius:12px;border-left:4px solid;background:#fff;border:1px solid #e9ecef;display:flex;align-items:flex-start;gap:12px;font-size:14px}.insight-item.positive{border-left-color:#4caf50}.insight-item.negative{border-left-color:#f44336}.insight-item.warning{border-left-color:#ff9800}.insight-item.neutral{border-left-color:#9e9e9e}.insight-item i{font-size:16px;margin-top:2px}.insight-item.positive i{color:#4caf50}.insight-item.negative i{color:#f44336}.insight-item.warning i{color:#ff9800}.insight-item.neutral i{color:#9e9e9e}.analytics-notification{animation:slideInRight .3s ease}@media (max-width: 576px){.analytics-period-selector .period-btn{padding:8px 14px;font-size:13px;justify-content:center}.kpi-grid{grid-template-columns:1fr;gap:12px}.kpi-card{padding:14px;gap:12px}.kpi-icon{width:42px;height:42px;font-size:20px}.kpi-value{font-size:1.4rem}.kpi-label{font-size:12px}.chart-container{padding:14px}.chart-header{flex-direction:column;align-items:flex-start;gap:8px}.chart-header h4{font-size:.95rem}.chart-legend{gap:10px}.table-container{overflow-x:auto;-webkit-overflow-scrolling:touch}.analytics-table{font-size:12px;min-width:600px}.retention-cell{gap:6px}.retention-value{min-width:42px;font-size:12px}.retention-bar{height:6px}.export-controls{padding:14px}.export-btn{padding:10px 14px;font-size:13px}.insight-item{padding:12px;font-size:13px;gap:10px}.insight-item i{font-size:14px}.analytics-period-selector>div{margin-left:0!important;width:100%;display:grid!important;grid-template-columns:44px 1fr 44px;gap:8px}.period-btn{padding:10px;font-size:13px;justify-content:center;white-space:nowrap}#prev-period-btn,#next-period-btn{padding:10px}#prev-period-btn span,#next-period-btn span{display:none}#prev-period-btn i,#next-period-btn i{font-size:14px}#current-period-btn{font-weight:700;font-size:13px}}.time-slot.unavailable{background-color:#ffebee;color:#c62828;cursor:not-allowed}.user-admin .time-slot.unavailable{cursor:pointer;opacity:.7;border:2px dashed #ff9800}.user-admin .time-slot.unavailable:hover{opacity:1;background-color:#fff3e0}.admin-add-time-btn{margin-top:10px;padding:8px 16px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px;display:flex;align-items:center;gap:5px;justify-content:center;width:100%}.admin-add-time-btn:hover{background-color:#45a049}.services-selector{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:12px}.service-option{padding:20px;border:2px solid var(--light-pink);border-radius:20px;cursor:pointer;background:var(--white);transition:all .3s ease;box-shadow:0 4px 10px var(--shadow)}.service-option:hover{border-color:var(--dark-magenta);transform:translateY(-4px);box-shadow:0 8px 20px #c9184a26}.service-option.selected{border-color:var(--dark-magenta);background:linear-gradient(135deg,#ff8fa326,#c9184a14)}.service-option-name{font-weight:600;font-size:1.15rem;margin-bottom:6px;color:var(--dark)}.service-option-description{font-size:.9rem;color:#666;margin-bottom:14px;line-height:1.4}.service-option-details{display:flex;justify-content:space-between;align-items:center}.service-time{background-color:var(--gray);padding:6px 14px;border-radius:50px;font-size:.85rem;font-weight:500;color:var(--dark)}.service-price{font-weight:700;font-size:1.25rem;color:var(--dark-magenta)}.no-services{text-align:center;padding:32px;color:#777;font-style:italic;grid-column:1 / -1}.booking-extra{margin-top:15px}.form-textarea{width:100%;padding:12px 14px;border-radius:12px;border:2px solid #e9ecef;font-size:14px;resize:vertical;transition:all .2s ease;font-family:inherit}.form-textarea:focus{outline:none;border-color:#da9c4b;box-shadow:0 0 0 3px #da9c4b26}.form-file{width:100%;padding:10px;border-radius:12px;border:2px dashed #e9ecef;background:#fafafa;cursor:pointer;transition:all .2s ease}.form-file:hover{border-color:#da9c4b;background:#fff}.file-upload{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;padding:14px;border-radius:12px;border:2px dashed #e9ecef;background:#fafafa;font-weight:600;color:#666;cursor:pointer;transition:all .2s ease}.file-upload i{font-size:18px;color:#da9c4b}.file-upload:hover{border-color:#da9c4b;background:#fff}.file-upload:active{transform:scale(.98)}.appointments-stats{margin-top:20px}.stat-card{background:#fff;padding:15px;border-radius:12px;display:flex;align-items:center;gap:12px;border:1px solid #e9ecef;transition:transform .3s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.stat-icon{width:50px;height:50px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.stat-content{flex:1}.stat-value{font-weight:700;font-size:1.2rem;color:var(--dark);margin-bottom:4px}.stat-label{font-size:12px;color:#666}.appointments-controls{padding:20px}.controls-row{display:flex;flex-direction:column;gap:20px;margin-bottom:20px}@media (min-width: 768px){.controls-row{flex-direction:row;align-items:flex-end}}.search-container{flex:1}.search-input-wrapper{position:relative}.search-input-wrapper i{position:absolute;left:16px;top:50%;transform:translateY(-50%);color:#999}.search-input{padding-left:45px!important}.filters-container{display:flex;gap:15px;flex-wrap:wrap}.filter-group{flex:1;min-width:200px}.actions-row{display:flex;gap:10px;justify-content:flex-end}.action-btn{padding:12px 24px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:600;color:var(--dark);transition:all .3s;display:flex;align-items:center;gap:8px}.action-btn:hover{background:var(--light-pink);color:#fff;border-color:var(--light-pink)}.appointments-list{display:grid;gap:15px;margin-top:20px}.appointment-card{background:#fff;border-radius:16px;padding:20px;border:1px solid #e9ecef;transition:all .3s;cursor:pointer}.appointment-card:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001a;border-color:var(--light-pink)}.appointment-card.status-confirmed{border-left:4px solid #4CAF50}.appointment-card.status-completed{border-left:4px solid #2196F3}.appointment-card.status-cancelled{border-left:4px solid #f44336}.appointment-card.status-pending{border-left:4px solid #FF9800}.appointment-card-header{margin-bottom:15px}.appointment-info{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.appointment-user{display:flex;align-items:center;gap:15px}.user-avatar-small{width:50px;height:50px;background:linear-gradient(135deg,var(--light-pink),var(--dark-magenta));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px}.user-details{flex:1}.user-name{font-weight:700;font-size:1.1rem;color:var(--dark);margin-bottom:4px}.appointment-time{font-size:14px;color:#666}.appointment-meta{text-align:right}.appointment-cost{font-size:1.2rem;font-weight:700;color:var(--dark-magenta);margin-bottom:8px}.appointment-status{padding:6px 12px;border-radius:20px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:inline-block}.status-confirmed{background:#4caf501a;color:#4caf50}.status-completed{background:#2196f31a;color:#2196f3}.status-cancelled{background:#f443361a;color:#f44336}.status-pending{background:#ff98001a;color:#ff9800}.appointment-preview{padding:10px;background:#f8f9fa;border-radius:8px}.appointment-comment{font-size:14px;color:#666;display:flex;align-items:center;gap:8px}.appointment-comment i{color:var(--dark-magenta)}.appointment-card-actions{display:flex;gap:10px;flex-wrap:wrap}.appointment-action-btn{padding:8px 16px;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;font-weight:600;color:#666;transition:all .3s;display:flex;align-items:center;gap:6px;font-size:14px}.appointment-action-btn:hover{transform:translateY(-2px)}.view-details:hover{background:#2196f3;color:#fff;border-color:#2196f3}.change-status:hover{background:#4caf50;color:#fff;border-color:#4caf50}.appointment-modal .modal-content,.status-change-modal .modal-content{animation:modalFadeIn .3s ease}@keyframes modalFadeIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.user-avatar-large{width:80px;height:80px;background:linear-gradient(135deg,var(--light-pink),var(--dark-magenta));border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:40px}.info-card{background:#f8f9fa;padding:15px;border-radius:12px}.info-label{font-weight:700;color:var(--dark);margin-bottom:10px;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.info-content{color:#666}.appointment-status-large{padding:10px 20px;border-radius:20px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;display:inline-block}.appointment-cost-large{font-size:1.5rem;font-weight:800;color:var(--dark-magenta)}.modal-btn{padding:12px 20px;border:none;border-radius:8px;cursor:pointer;font-weight:600;transition:all .3s;display:flex;align-items:center;justify-content:center;gap:8px;flex:1}.change-status-btn{background:#4caf50;color:#fff}.change-status-btn:hover{background:#45a049}.save-btn{background:var(--dark-magenta);color:#fff}.save-btn:hover{background:#b8123f}.close-btn{background:#f8f9fa;color:#666;border:2px solid #e9ecef}.close-btn:hover{background:#e9ecef}.cancel-btn{background:#f44336;color:#fff}.cancel-btn:hover{background:#d32f2f}.loading-appointments{text-align:center;padding:40px 20px}.spinner{width:40px;height:40px;border:3px solid var(--light-pink);border-top:3px solid var(--dark-magenta);border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.empty-appointments{text-align:center;padding:40px 20px;color:#666}.appointments-notification{animation:slideInRight .3s ease}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media (max-width: 768px){.appointment-info{flex-direction:column;gap:15px}.appointment-meta{text-align:left}.appointment-card-actions{justify-content:stretch}.appointment-action-btn{flex:1;justify-content:center}.controls-row,.filters-container{flex-direction:column}.filter-group{min-width:100%}.actions-row{justify-content:stretch}.action-btn{flex:1;justify-content:center}}.modal{position:fixed;top:0;left:0;width:100%;height:100%;background:#0000004d;display:flex;justify-content:center;align-items:center;z-index:10000}.modal-content{background-color:var(--white);border-radius:24px;padding:30px;max-width:500px;width:90%;box-shadow:0 6px 16px var(--shadow);font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;animation:fadeIn .3s;position:relative}.modal-content h3{font-size:1.4rem;color:var(--dark-magenta);margin-bottom:0}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--dark)}#edit-service-form{display:flex;flex-direction:column;gap:16px}#edit-service-form input,#edit-service-form textarea{width:100%;padding:14px;border:2px solid #e9ecef;border-radius:12px;font-size:1rem;transition:border-color .3s}#edit-service-form input:focus,#edit-service-form textarea:focus{outline:none;border-color:var(--dark-magenta)}#edit-service-form button[type=submit]{padding:14px;background:linear-gradient(to right,var(--light-pink),var(--dark-magenta));color:var(--white);border:none;border-radius:12px;font-weight:600;cursor:pointer;transition:opacity .3s}#edit-service-form button[type=submit]:hover{opacity:.9}#edit-service-form .btn-cancel{padding:14px;background:var(--gray);color:var(--dark);border:none;border-radius:12px;cursor:pointer;transition:opacity .3s}#edit-service-form .btn-cancel:hover{opacity:.8}.file-upload-area{padding:14px;background:var(--gray);border-radius:12px;text-align:center;cursor:pointer}.file-upload-area:hover{background:#e2e6ea}#image-preview{height:100px;border-radius:12px;background-size:cover;background-position:center}@keyframes fadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.calendar-location-legend{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px;color:#5f6368;font-size:.85rem}.calendar-location-legend span{display:inline-flex;align-items:center;gap:6px}.calendar-location-legend b,.calendar-location-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;color:#fff;font-size:.7rem;line-height:1}.location-k,.calendar-location-badge.location-k{background:#c9184a}.location-h,.calendar-location-badge.location-h{background:#6366f1}.calendar-day{position:relative;flex-direction:column;gap:1px}.calendar-location-badge{position:absolute;right:4px;bottom:4px;width:18px;height:18px}.calendar-generation-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:16px;background:#1e141a94}.calendar-planner-modal{width:min(760px,100%);max-width:760px;max-height:calc(100dvh - 32px);overflow:auto}.calendar-planner-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:20px}.calendar-planner-header p,.calendar-plan-hint{margin-top:6px;color:#6b7280;font-size:.9rem}.calendar-range-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.calendar-brushes{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:14px 0 6px}.calendar-brushes>span{width:100%;font-weight:600}.location-brush{min-height:42px;padding:9px 13px;border:2px solid #e5e7eb;border-radius:12px;background:#fff;color:#343a40;font-weight:600;cursor:pointer}.location-brush.active{border-color:var(--dark-magenta);background:#fff1f4;box-shadow:0 0 0 2px #c9184a1f}.calendar-plan-days{display:grid;grid-template-columns:repeat(7,minmax(58px,1fr));gap:8px;max-height:330px;margin:14px 0 20px;padding:4px;overflow:auto}.calendar-plan-day{min-height:76px;padding:7px 4px;border:2px solid transparent;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer}.calendar-plan-day span{font-size:.72rem;text-transform:capitalize}.calendar-plan-day strong{font-size:1.05rem}.calendar-plan-day small{font-weight:800}.calendar-plan-day.location-klokuchka{background:#fff0f4;border-color:#ff8fa3;color:#a4133c}.calendar-plan-day.location-hodyliv{background:#eef2ff;border-color:#818cf8;color:#4338ca}.calendar-plan-day.location-off{background:#f3f4f6;border-color:#d1d5db;color:#9ca3af}.modal-buttons{display:flex;justify-content:flex-end;gap:10px}.modal-btn{min-height:44px;padding:10px 18px;border:0;border-radius:10px;font-weight:700;cursor:pointer}.modal-btn.generate-btn{background:linear-gradient(135deg,var(--light-pink),var(--dark-magenta));color:#fff}.modal-btn.cancel-btn{background:#f1f3f5;color:#343a40}.auth-card{width:min(500px,100%);margin:40px auto}.auth-switch{display:grid;gap:12px;margin-top:20px;text-align:center;color:#666}.auth-subtitle{margin-bottom:20px;color:var(--dark-magenta)}.error-message{display:none;margin-top:5px;color:var(--dark-magenta);font-size:.9rem}@media (max-width: 600px){body{padding-bottom:calc(82px + env(safe-area-inset-bottom));overflow-x:hidden}.container{width:100%;padding:10px}.app-header{padding:15px 12px;margin-bottom:10px;border-radius:0 0 18px 18px}.app-header h1{font-size:1.3rem}.app-header p{font-size:.85rem}.rounded-card{padding:14px;border-radius:18px;margin-bottom:12px}.rounded-card:hover{transform:none}.section-title{font-size:1.15rem;gap:8px}.services-grid{gap:12px}.service-card{border-radius:15px}.services-selector{grid-template-columns:1fr}.service-option{padding:11px}.calendar-weekdays,.calendar-days{gap:3px}.calendar-weekdays{font-size:.72rem}.calendar-day{min-width:0;border-width:1px;border-radius:7px;font-size:.88rem}.calendar-location-badge{right:2px;bottom:2px;width:15px;height:15px;font-size:.6rem}.time-slots{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.time-slot{width:100%;padding:10px 5px;text-align:center}.booking-summary{margin-top:20px;padding:14px}.summary-item{gap:12px}.summary-item span:last-child{max-width:62%;text-align:right;overflow-wrap:anywhere}.admin-controls{padding:0}.admin-controls-grid{gap:10px}.admin-control-group{padding:12px}.bottom-nav{padding-bottom:max(8px,env(safe-area-inset-bottom))}.nav-item{min-width:0;padding:6px 2px}.nav-item i{font-size:1.25rem}.nav-item span{font-size:.7rem}.calendar-generation-modal{align-items:flex-end;padding:0}.calendar-planner-modal{width:100%;max-height:92dvh;border-radius:22px 22px 0 0;padding:18px 12px calc(18px + env(safe-area-inset-bottom))}.calendar-range-fields{grid-template-columns:1fr;gap:2px}.calendar-brushes{display:grid;grid-template-columns:1fr 1fr}.calendar-brushes>span{grid-column:1 / -1}.location-brush:last-child{grid-column:1 / -1}.calendar-plan-days{grid-template-columns:repeat(7,minmax(39px,1fr));gap:4px;max-height:310px}.calendar-plan-day{min-height:62px;padding:4px 1px;border-radius:9px}.calendar-plan-day span{font-size:.6rem}.calendar-plan-day strong{font-size:.9rem}.modal-buttons{display:grid;grid-template-columns:1fr 1fr}.auth-card{margin:12px auto}.form-actions,.appointment-card-actions,.actions-row{flex-direction:column}.form-actions>*,.appointment-card-actions>*,.actions-row>*{width:100%}.booking-notification,.appointments-notification,.analytics-notification{left:10px!important;right:10px!important;top:10px!important}.modal-content{width:calc(100% - 20px);max-height:92dvh;padding:18px;overflow-y:auto}}
