@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.modal-overlay{position:fixed;inset:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal.login-modal{background:#fff;border-radius:16px;padding:32px;width:90%;max-width:460px;max-height:90vh;overflow-y:auto;position:relative;animation:slideUp .3s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal.login-modal h3{margin:0 0 24px;font-size:22px;color:#1a1a2e;text-align:center}.login-group{margin-bottom:16px}.login-group label{display:block;margin-bottom:6px;font-weight:600;font-size:14px;color:#333}.login-group input,.login-group select{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:15px;box-sizing:border-box;transition:border-color .2s}.login-group input:focus,.login-group select:focus{outline:none;border-color:#ff6b9d}.login-group input:disabled{background:#f5f5f5;cursor:not-allowed}.checkbox-group{margin:16px 0}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-size:14px;color:#666;user-select:none}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:#ff6b9d;cursor:pointer}.checkbox-label span{font-weight:500}.btn-submit{width:100%;padding:14px;background:linear-gradient(135deg,#ff6b9d,#ff5a8a);color:#fff;border:none;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s;margin-top:8px}.btn-submit:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #ff6b9d4d}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.btn-ghost{display:block;width:100%;padding:10px;background:#f0f0f0;color:#333;border:1px solid #ddd;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.btn-ghost:hover{background:#e0e0e0}.success-message{background:#e8f5e9;color:#2e7d32;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;font-weight:500;text-align:center}.error-message{background:#fee2e2;color:#dc2626;padding:12px 16px;border-radius:8px;margin-bottom:16px;font-size:14px;font-weight:500;text-align:center}.login-footer{margin-top:16px;text-align:center;font-size:14px;color:#666}.login-footer a{color:#ff6b9d;font-weight:600;text-decoration:none}.login-footer a:hover{text-decoration:underline}.city-dropdown{position:absolute;top:100%;left:0;right:0;background:#fff;border:2px solid #e0e0e0;border-top:none;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 12px #0000001a}.city-option{padding:10px 16px;cursor:pointer;font-size:14px;color:#333;transition:background .15s;border-bottom:1px solid #f0f0f0}.city-option:last-child{border-bottom:none}.city-option:hover{background:#fff0f5;color:#ff6b9d}@media(max-width:480px){.modal.login-modal{padding:24px 20px;max-width:95%}}.review-card{padding:1.25rem}.review-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem}.review-client{display:flex;flex-direction:column;gap:.25rem}.review-client-name{font-weight:600;color:#2d3748;font-size:1rem}.review-date{font-size:.8rem;color:#a0aec0}.review-stars{display:flex;gap:2px}.star{font-size:1.1rem;color:#e2e8f0}.star.filled{color:#f6c23e}.review-comment{color:#4a5568;font-size:.95rem;line-height:1.6;margin:0}.reviews-section{padding:4rem 0;background:#f7fafc}.reviews-section h2{font-size:2rem;margin-bottom:1.5rem;text-align:center;color:#2d3748}.reviews-summary{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:2rem}.reviews-average{font-size:1.5rem;color:#f6c23e;letter-spacing:2px}.reviews-count{font-size:1rem;color:#718096}.reviews-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}@media(max-width:768px){.reviews-grid{grid-template-columns:1fr}}:root{--swiper-theme-color: #007aff}:host{position:relative;display:block;margin-left:auto;margin-right:auto;z-index:1}.swiper{margin-left:auto;margin-right:auto;position:relative;overflow:hidden;list-style:none;padding:0;z-index:1;display:block}.swiper-vertical>.swiper-wrapper{flex-direction:column}.swiper-wrapper{position:relative;width:100%;height:100%;z-index:1;display:flex;transition-property:transform;transition-timing-function:var(--swiper-wrapper-transition-timing-function, initial);box-sizing:content-box}.swiper-android .swiper-slide,.swiper-ios .swiper-slide,.swiper-wrapper{transform:translateZ(0)}.swiper-horizontal{touch-action:pan-y}.swiper-vertical{touch-action:pan-x}.swiper-slide{flex-shrink:0;width:100%;height:100%;position:relative;transition-property:transform;display:block}.swiper-slide-invisible-blank{visibility:hidden}.swiper-autoheight,.swiper-autoheight .swiper-slide{height:auto}.swiper-autoheight .swiper-wrapper{align-items:flex-start;transition-property:transform,height}.swiper-backface-hidden .swiper-slide{transform:translateZ(0);backface-visibility:hidden}.swiper-3d.swiper-css-mode .swiper-wrapper{perspective:1200px}.swiper-3d .swiper-wrapper{transform-style:preserve-3d}.swiper-3d{perspective:1200px;.swiper-slide,.swiper-cube-shadow{transform-style:preserve-3d}}.swiper-css-mode{>.swiper-wrapper{overflow:auto;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{display:none}}>.swiper-wrapper>.swiper-slide{scroll-snap-align:start start}&.swiper-horizontal{>.swiper-wrapper{scroll-snap-type:x mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-slides-offset-before);scroll-margin-inline-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-inline-end:var(--swiper-slides-offset-after)}}&.swiper-vertical{>.swiper-wrapper{scroll-snap-type:y mandatory}>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-slides-offset-before);scroll-margin-block-start:var(--swiper-slides-offset-before)}>.swiper-wrapper>.swiper-slide:last-child{margin-block-end:var(--swiper-slides-offset-after)}}&.swiper-free-mode{>.swiper-wrapper{scroll-snap-type:none}>.swiper-wrapper>.swiper-slide{scroll-snap-align:none}}&.swiper-centered{>.swiper-wrapper:before{content:"";flex-shrink:0;order:9999}>.swiper-wrapper>.swiper-slide{scroll-snap-align:center center;scroll-snap-stop:always}}&.swiper-centered.swiper-horizontal{>.swiper-wrapper>.swiper-slide:first-child{margin-inline-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{height:100%;min-height:1px;width:var(--swiper-centered-offset-after)}}&.swiper-centered.swiper-vertical{>.swiper-wrapper>.swiper-slide:first-child{margin-block-start:var(--swiper-centered-offset-before)}>.swiper-wrapper:before{width:100%;min-width:1px;height:var(--swiper-centered-offset-after)}}}.swiper-3d{.swiper-slide-shadow,.swiper-slide-shadow-left,.swiper-slide-shadow-right,.swiper-slide-shadow-top,.swiper-slide-shadow-bottom{position:absolute;left:0;top:0;width:100%;height:100%;pointer-events:none;z-index:10}.swiper-slide-shadow{background:#00000026}.swiper-slide-shadow-left{background-image:linear-gradient(to left,#00000080,#0000)}.swiper-slide-shadow-right{background-image:linear-gradient(to right,#00000080,#0000)}.swiper-slide-shadow-top{background-image:linear-gradient(to top,#00000080,#0000)}.swiper-slide-shadow-bottom{background-image:linear-gradient(to bottom,#00000080,#0000)}}.swiper-lazy-preloader{width:42px;height:42px;position:absolute;left:50%;top:50%;margin-left:-21px;margin-top:-21px;z-index:10;transform-origin:50%;box-sizing:border-box;border:4px solid var(--swiper-preloader-color, var(--swiper-theme-color));border-radius:50%;border-top-color:transparent}.swiper:not(.swiper-watch-progress),.swiper-watch-progress .swiper-slide-visible{.swiper-lazy-preloader{animation:swiper-preloader-spin 1s infinite linear}}.swiper-lazy-preloader-white{--swiper-preloader-color: #fff}.swiper-lazy-preloader-black{--swiper-preloader-color: #000}@keyframes swiper-preloader-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}:root{--swiper-navigation-size: 44px}.swiper-button-prev,.swiper-button-next{position:absolute;width:var(--swiper-navigation-size);height:var(--swiper-navigation-size);z-index:10;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--swiper-navigation-color, var(--swiper-theme-color));&.swiper-button-disabled{opacity:.35;cursor:auto;pointer-events:none}&.swiper-button-hidden{opacity:0;cursor:auto;pointer-events:none}.swiper-navigation-disabled &{display:none!important}::slotted(svg),svg{width:100%;height:100%;object-fit:contain;transform-origin:center;fill:currentColor;pointer-events:none}}.swiper-button-lock{display:none}.swiper-button-prev,.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2))}.swiper-button-prev{left:var(--swiper-navigation-sides-offset, 4px);right:auto;::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(180deg)}}.swiper-button-next{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-horizontal{.swiper-button-prev,.swiper-button-next,~.swiper-button-prev,~.swiper-button-next{top:var(--swiper-navigation-top-offset, 50%);margin-top:calc(0px - (var(--swiper-navigation-size) / 2));margin-left:0}.swiper-button-prev,~.swiper-button-prev,&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next{left:var(--swiper-navigation-sides-offset, 4px);right:auto}.swiper-button-next,~.swiper-button-next,&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{right:var(--swiper-navigation-sides-offset, 4px);left:auto}.swiper-button-prev,~.swiper-button-prev,&.swiper-rtl .swiper-button-next,&.swiper-rtl~.swiper-button-next{::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(180deg)}}&.swiper-rtl .swiper-button-prev,&.swiper-rtl~.swiper-button-prev{::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(0)}}}.swiper-vertical{.swiper-button-prev,.swiper-button-next,~.swiper-button-prev,~.swiper-button-next{left:var(--swiper-navigation-top-offset, 50%);right:auto;margin-left:calc(0px - (var(--swiper-navigation-size) / 2));margin-top:0}.swiper-button-prev,~.swiper-button-prev{top:var(--swiper-navigation-sides-offset, 4px);bottom:auto;::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(-90deg)}}.swiper-button-next,~.swiper-button-next{bottom:var(--swiper-navigation-sides-offset, 4px);top:auto;::slotted(.swiper-navigation-icon),.swiper-navigation-icon{transform:rotate(90deg)}}}.home-page{min-height:100vh}.hero{background:linear-gradient(-45deg,#ff6b9d,#c471ed,#12c2e9,#ff6b9d);background-size:400% 400%;animation:gradientShift 15s ease infinite;color:#fff;padding:6rem 1rem;text-align:center}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.hero-content h1{font-size:3rem;margin-bottom:1rem;text-shadow:0 2px 10px rgba(0,0,0,.2)}.hero-content p{font-size:1.25rem;opacity:.95;margin-bottom:2rem}.btn-login{padding:16px 40px;font-size:18px;font-weight:700;background:#fff;color:#ff6b9d;border:none;border-radius:12px;cursor:pointer;transition:transform .3s,box-shadow .3s}.btn-login:hover{transform:translateY(-3px);box-shadow:0 8px 25px #0003}.services-section,.masters-section{padding:4rem 0}.services-section h2,.masters-section h2{font-size:2rem;margin-bottom:2rem;text-align:center;color:#2d3748}.services-grid,.masters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:2rem}.service-card,.master-card{display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease;min-height:320px}.service-card:hover,.master-card:hover{transform:translateY(-4px);box-shadow:0 8px 25px #00000026}.service-card h3,.master-card h3{color:#ff6b9d;margin-bottom:.5rem;flex-shrink:0}.service-card p,.master-card p{color:#666;margin-bottom:1rem;font-size:.95rem;flex-grow:1}.service-meta{display:flex;justify-content:space-between;align-items:center;margin:1rem 0;padding:1rem 0;border-top:1px solid #eee;border-bottom:1px solid #eee;flex-shrink:0}.service-card .btn,.master-card .btn{margin-top:auto;flex-shrink:0}.duration,.price{font-weight:600;color:#2d3748}.phone{font-weight:600;color:#ff6b9d}.public-app{background:#fafafa}.admin-app{background:#fff}.card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #00000014;padding:1.5rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease;text-decoration:none;display:inline-block;text-align:center}@media(max-width:768px){.hero-content h1{font-size:2rem}.services-grid,.masters-grid{grid-template-columns:1fr}.card{padding:1rem}.btn{width:100%}}.carousel-container{position:relative;background:#fafafa;overflow:hidden}.carousel-wrapper{position:relative;overflow:hidden}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;background:#fffffff2;border:2px solid #e0e0e0;border-radius:50%;font-size:28px;font-weight:300;color:#ff6b9d;cursor:pointer;transition:all .3s ease;z-index:10;display:flex;align-items:center;justify-content:center;line-height:1;padding:0}.carousel-btn:hover{background:#ff6b9d;color:#fff;border-color:#ff6b9d;transform:translateY(-50%) scale(1.1)}.carousel-btn-prev{left:16px}.carousel-btn-next{right:16px}.carousel-indicators{display:flex;justify-content:center;gap:12px;padding:24px 0}.carousel-indicator{width:12px;height:12px;border-radius:50%;border:2px solid #ddd;background:#fff;cursor:pointer;transition:all .3s ease;padding:0}.carousel-indicator:hover{border-color:#ff6b9d;background:#ffe0eb}.carousel-indicator.active{background:#ff6b9d;border-color:#ff6b9d;transform:scale(1.2)}.carousel-labels{display:flex;justify-content:center;gap:24px;padding:0 0 32px}.carousel-label{font-size:14px;color:#999;font-weight:500;transition:all .3s ease;padding:4px 12px;border-radius:16px}.carousel-label.active{color:#ff6b9d;background:#ffe0eb;font-weight:600}.swiper-pagination-bullet{width:12px;height:12px;background:#ddd;opacity:1;border-radius:50%}.swiper-pagination-bullet-active{background:#ff6b9d;transform:scale(1.2)}.swiper-button-next,.swiper-button-prev{display:none}.swiper-wrapper{align-items:stretch}.reviews-carousel-slide .reviews-section{padding:3rem 0;background:transparent}.reviews-carousel-slide .reviews-section h2{margin-bottom:2rem}.booking-page{min-height:100vh;padding:2rem 1rem}.booking-page h1{text-align:center;font-size:2rem;margin-bottom:2rem;color:#2d3748}.booking-form{max-width:600px;margin:0 auto}fieldset{border:none;padding:1.5rem 0;border-bottom:1px solid #eee}fieldset:last-of-type{border-bottom:none}legend{font-weight:600;color:#ff6b9d;margin-bottom:1rem;font-size:1.1rem}.services-list{display:flex;flex-direction:column;gap:1rem}.service-option{display:flex;align-items:flex-start;gap:1rem;padding:1rem;border:2px solid #e0e0e0;border-radius:8px;cursor:pointer;transition:all .3s ease}.service-option:hover{border-color:#ff6b9d;background:#fff9fb}.service-option input[type=radio]{margin-top:.25rem;cursor:pointer;accent-color:#ff6b9d}.service-label{display:flex;flex-direction:column;gap:.25rem}.service-details{font-size:.9rem;color:#666;font-weight:400}fieldset input.input{margin-bottom:1rem}fieldset input.input:last-child{margin-bottom:0}.error-message{background:#fed7d7;color:#c53030;padding:1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid #c53030}.btn-submit{width:100%;margin-top:1.5rem;padding:1rem;font-size:1.1rem;font-weight:700}.success-message{max-width:500px;margin:2rem auto;text-align:center}.success-message h2{color:#22863a;margin-bottom:1rem}.success-message p{color:#666;margin-bottom:.5rem}.success-message .btn{margin-top:1.5rem}@media(max-width:768px){.booking-page{padding:1rem .5rem}.booking-page h1{font-size:1.5rem}.booking-form{padding:1rem}}.breadcrumb{display:flex;align-items:center;gap:8px;padding:12px 0;margin-bottom:8px;font-size:13px;color:#999;flex-wrap:wrap}.breadcrumb-home{color:#667eea;text-decoration:none;font-size:16px;transition:color .2s}.breadcrumb-home:hover{color:#5a6fd6}.breadcrumb-item{display:flex;align-items:center;gap:8px}.breadcrumb-sep{color:#ccc;user-select:none;font-size:12px}.skeleton,.skeleton-line{background:linear-gradient(90deg,#f0f0f0 25%,#e8e8e8,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:6px}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.tooltip-trigger{position:relative;display:inline-flex;cursor:pointer}.tooltip-trigger-active .tooltip{opacity:1;visibility:visible;transform:translate(-50%)}.tooltip{position:absolute;background:#1a1a2e;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;white-space:nowrap;pointer-events:none;opacity:0;visibility:hidden;transform:translate(-50%,-8px);transition:all .2s;z-index:10000;box-shadow:0 4px 12px #00000026}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:#1a1a2e}.tooltip-tooltip-bottom{transform:translate(-50%,8px)}.tooltip-tooltip-bottom:after{top:auto;bottom:100%;border-top-color:transparent;border-bottom-color:#1a1a2e}.tooltip-tooltip-left{transform:translate(-8px,-50%)}.tooltip-tooltip-left:after{left:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-right-color:#1a1a2e;border-top-color:transparent;border-bottom-color:transparent}.tooltip-tooltip-right{transform:translate(8px,-50%)}.tooltip-tooltip-right:after{left:auto;right:100%;top:50%;transform:translateY(-50%);border:6px solid transparent;border-left-color:#1a1a2e;border-top-color:transparent;border-bottom-color:transparent}.keyboard-hint-backdrop,.search-modal .search-modal-content,.keyboard-hint-modal .keyboard-hint-content{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.search-modal,.keyboard-hint-modal{position:fixed;inset:0;z-index:10000}.search-modal-content,.keyboard-hint-content{background:#fff;border-radius:16px;padding:24px;max-width:520px;width:100%;box-shadow:0 20px 60px #0000004d}.search-input-wrapper{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f8f9fb;border-radius:10px;border:2px solid #e0e0e0;transition:border-color .2s}.search-input-wrapper:focus-within{border-color:#667eea}.search-icon{font-size:18px}.search-input{flex:1;border:none;background:transparent;font-size:16px;outline:none;color:#333}.search-input::placeholder{color:#999}.search-close{background:#f0f0f0;border:none;padding:4px 10px;border-radius:6px;font-size:12px;color:#666;cursor:pointer}.search-hint{margin-top:12px;font-size:12px;color:#999;text-align:center}.search-hint kbd{background:#f0f0f0;padding:2px 6px;border-radius:4px;font-size:11px;border:1px solid #ddd}.keyboard-hint-content h3{margin:0 0 20px;font-size:18px;color:#1a1a2e}.shortcut-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.shortcut-item{display:flex;align-items:center;gap:16px;padding:8px 0}.shortcut-item kbd{background:#f0f0f0;padding:4px 10px;border-radius:6px;font-size:13px;border:1px solid #ddd;font-family:monospace;min-width:36px;text-align:center}.shortcut-item span{font-size:14px;color:#666}.btn-close-hint{width:100%;text-align:center;padding:10px;background:#f0f0f0;color:#333;border:1px solid #ddd;border-radius:8px;font-weight:500;cursor:pointer}.toast-container{position:fixed;bottom:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px}.toast{display:flex;align-items:center;gap:10px;padding:14px 18px;border-radius:10px;box-shadow:0 4px 16px #0000001f;cursor:pointer;min-width:280px;max-width:420px;animation:toast-slide-in .3s ease-out;transition:transform .2s,opacity .2s}.toast:hover{transform:translateY(-2px)}.toast-success{background:#e8f5e9;color:#2e7d32;border-left:4px solid #4caf50}.toast-error{background:#ffebee;color:#c62828;border-left:4px solid #f44336}.toast-info{background:#e3f2fd;color:#1565c0;border-left:4px solid #2196f3}.toast-warning{background:#fff8e1;color:#f57f17;border-left:4px solid #ffc107}.toast-message{flex:1;font-size:14px;font-weight:500}.toast-undo{background:none;border:none;color:inherit;font-weight:700;cursor:pointer;padding:4px 8px;border-radius:4px;font-size:13px;margin-left:8px;transition:background .2s}.toast-undo:hover{background:#00000014}@keyframes toast-slide-in{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes toast-slide-out{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}.toast-exiting{animation:toast-slide-out .3s ease-in forwards}.filter-bar{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px;justify-content:center}.filter-btn{padding:8px 16px;border:2px solid #e0e0e0;border-radius:20px;background:#fff;cursor:pointer;font-size:14px;transition:all .2s}.filter-btn:hover{border-color:#667eea;background:#f5f7ff}.filter-btn.active{border-color:#667eea;background:#667eea;color:#fff}.pagination{display:flex;justify-content:center;align-items:center;gap:16px;margin-top:20px}.pagination-info{font-size:14px;color:#666}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.modal{background:#fff;border-radius:12px;padding:24px;max-width:480px;width:100%;box-shadow:0 4px 20px #00000026}.modal h3{margin:0 0 16px;font-size:18px}.modal-body{margin-bottom:20px}.message-bar{padding:12px 16px;border-radius:8px;margin-bottom:16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.message-success{background:#e8f5e9;color:#2e7d32}.message-error{background:#ffebee;color:#c62828}.message-dismiss{background:none;border:none;font-size:18px;cursor:pointer;opacity:.6;padding:0 4px}.message-dismiss:hover{opacity:1}.admin-layout{display:flex;min-height:100vh}.admin-layout .app{background:none!important}.admin-sidebar{width:260px;background:#1a1a2e;color:#fff;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:200;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.admin-sidebar.collapsed{width:64px}.sidebar-header{padding:20px 12px;border-bottom:1px solid rgba(255,255,255,.1)}.sidebar-header-top{display:flex;align-items:center;gap:8px}.collapse-btn{background:#ffffff14;border:none;color:#fff9;width:28px;height:28px;border-radius:6px;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}.collapse-btn:hover{background:#ffffff26;color:#fff}.sidebar-brand h2{margin:0;font-size:16px;color:#e94560;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-subtitle{margin:4px 0 0;font-size:11px;color:#ffffff80;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-user{margin:10px 0 0;font-size:13px;color:#e94560;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-nav{flex:1;padding:12px 0;overflow-y:auto;overflow-x:hidden}.nav-item{display:flex;align-items:center;gap:12px;padding:12px 16px;color:#ffffffb3;text-decoration:none;font-size:14px;transition:all .2s;border-left:3px solid transparent;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin:2px 0}.nav-item:hover{background:#ffffff0d;color:#fff}.nav-item.active{background:#e945601a;color:#e94560;border-left-color:#e94560}.nav-icon{font-size:18px;flex-shrink:0;width:24px;text-align:center}.nav-label{overflow:hidden;text-overflow:ellipsis}.admin-sidebar.collapsed .nav-label{display:none}.admin-sidebar.collapsed .nav-item{justify-content:center;padding:12px}.sidebar-footer{padding:16px 12px;border-top:1px solid rgba(255,255,255,.1)}.btn-logout{width:100%;text-align:left;display:flex;align-items:center;gap:12px;padding:10px 16px;border:none;background:transparent;color:#ffffffb3;cursor:pointer;border-radius:6px;font-size:14px;transition:all .2s;white-space:nowrap}.btn-logout:hover{background:#ffffff14;color:#fff}.admin-sidebar.collapsed .btn-logout{justify-content:center;padding:10px}.admin-sidebar.collapsed .btn-logout .nav-label{display:none}.hamburger-btn{display:none;position:fixed;top:12px;left:12px;z-index:300;width:44px;height:44px;background:#1a1a2e;border:none;border-radius:10px;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:10px}.hamburger-line{display:block;width:22px;height:2px;background:#fff;border-radius:2px;transition:all .3s}.hamburger-btn.active .hamburger-line:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger-btn.active .hamburger-line:nth-child(2){opacity:0}.hamburger-btn.active .hamburger-line:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.sidebar-overlay{display:none;position:fixed;inset:0;background:#00000080;z-index:150}.admin-main{flex:1;margin-left:260px;background:#f8f9fb;min-height:100vh;transition:margin-left .3s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.admin-sidebar.collapsed~.admin-main,.admin-layout:has(.admin-sidebar.collapsed) .admin-main{margin-left:64px}.main-content{flex:1;padding:24px 32px;max-width:1200px;width:100%}.breadcrumb{display:flex;align-items:center;gap:8px;padding:12px 0;margin-bottom:8px;font-size:13px;color:#999}.breadcrumb a{color:#667eea;text-decoration:none;transition:color .2s}.breadcrumb a:hover{color:#5a6fd6;text-decoration:underline}.breadcrumb-sep{color:#ccc;user-select:none}.breadcrumb-current{color:#666;font-weight:500}@media(max-width:1024px){.hamburger-btn{display:flex}.admin-sidebar{transform:translate(-100%);width:280px!important;transition:transform .3s cubic-bezier(.4,0,.2,1)}.admin-sidebar.mobile-open{transform:translate(0)}.admin-sidebar .collapse-btn{display:none}.sidebar-overlay{display:block}.admin-main{margin-left:0!important}.main-content{padding:64px 16px 16px}}@media(max-width:640px){.main-content{padding:60px 12px 12px}.page-header h1{font-size:20px!important}.stats-grid{grid-template-columns:1fr 1fr!important}}.dashboard-page{max-width:1200px;margin:0 auto}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px}.stat-card{text-align:center;padding:24px;transition:transform .2s,box-shadow .2s;cursor:default}.stat-card.clickable{cursor:pointer;position:relative;overflow:hidden}.stat-card.clickable:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#667eea0d,#756aea0d);opacity:0;transition:opacity .2s}.stat-card.clickable:hover:before{opacity:1}.stat-card.clickable:hover{transform:translateY(-4px) scale(1.02);box-shadow:0 8px 24px #0000001f}.stat-card.clickable:active{transform:translateY(-2px) scale(1.01);box-shadow:0 4px 12px #00000014}.stat-value{font-size:32px;font-weight:700;color:#1a1a2e;margin-bottom:4px}.stat-label{font-size:14px;color:#666}.stat-sub{display:block;font-size:13px;color:#999;margin-top:2px}.stat-active{font-weight:700;color:#4caf50;font-size:15px}.card-hint{font-size:11px;color:#667eea;opacity:0;transition:opacity .2s;margin-top:6px;font-weight:500}.stat-card.clickable:hover .card-hint{opacity:1}.section-title{display:flex;align-items:baseline;gap:12px;margin-bottom:16px}.section-title h2{margin:0;font-size:22px;color:#1a1a2e;font-weight:700}.section-subtitle{font-size:13px;color:#999;font-weight:400}.revenue-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:16px}.revenue-card{padding:20px;transition:transform .2s,box-shadow .2s}.revenue-card-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.revenue-card-icon{font-size:24px}.revenue-card-title{font-size:14px;font-weight:600;color:#666}.revenue-card-value{font-size:36px;font-weight:700;color:#1a1a2e;margin-bottom:4px}.revenue-card-amount{font-size:18px;font-weight:600;color:#4caf50;margin-bottom:4px}.revenue-card-detail{font-size:12px;color:#999}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.card h3{margin:0 0 16px;font-size:18px;color:#1a1a2e}.card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.card-header h3{margin:0}.card-header .link{color:#667eea;text-decoration:none;font-size:14px}.status-list{display:flex;flex-direction:column;gap:12px}.status-row{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #f0f0f0}.status-count{background:#f0f0f0;padding:2px 10px;border-radius:12px;font-size:13px;font-weight:600}.appointment-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid #f0f0f0}.appt-date{font-size:14px;color:#333}.appt-status{font-size:12px;padding:4px 10px;border-radius:12px;font-weight:500}.appt-info{display:flex;flex-direction:column;gap:2px}.appt-client{font-weight:600;font-size:14px;color:#1a1a2e}.appt-service{font-size:12px;color:#666}.appt-master{font-size:12px;color:#667eea;font-weight:500}.empty-state{text-align:center;padding:48px 24px;color:#999}.empty-state-icon{font-size:56px;margin-bottom:16px;opacity:.6}.empty-state-title{margin:0 0 8px;font-size:18px;color:#666;font-weight:600}.empty-state-description{margin:0 0 20px;font-size:14px;color:#999}.empty-state-action{margin:0 auto}.loading{text-align:center;padding:60px;color:#666;font-size:16px}@media(max-width:768px){.dashboard-grid{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.revenue-grid{grid-template-columns:1fr 1fr}.stat-value{font-size:24px}.revenue-card-value{font-size:28px}}@media(max-width:480px){.stats-grid,.revenue-grid{grid-template-columns:1fr}}.filters-bar{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;justify-content:center}.filter-btn{padding:8px 16px;border:2px solid #e0e0e0;border-radius:20px;background:#fff;cursor:pointer;font-size:13px;font-weight:500;transition:all .2s}.filter-btn:hover{border-color:#667eea;color:#667eea}.filter-btn.active{background:#667eea;border-color:#667eea;color:#fff}.appointments-table{width:100%;border-collapse:collapse}.appointments-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.appointments-table th,.appointments-table td{padding:12px 16px 12px 0;text-align:left;border-bottom:1px solid #f0f0f0;white-space:nowrap}.appointments-table th:last-child,.appointments-table td:last-child{padding-right:0}.appointments-table th{font-weight:600;color:#666;font-size:13px;text-transform:uppercase}.sortable{cursor:pointer;user-select:none}.sortable:hover{color:#667eea}.sortable.active{color:#667eea;background:#667eea0f}.sort-arrow{display:inline-block;width:16px;text-align:center;margin-left:4px;font-size:12px;opacity:.35}.appointments-table th:nth-child(6),.appointments-table td:nth-child(6){width:140px;min-width:140px;max-width:140px}.btn-confirm{background:#d1fae5;color:#065f46}.btn-confirm:hover{background:#a7f3d0}.btn-cancel{background:#fee2e2;color:#991b1b}.btn-cancel:hover{background:#fecaca}.btn-complete{background:#dbeafe;color:#1e40af}.btn-complete:hover{background:#bfdbfe}.btn-complete:disabled{opacity:.4;cursor:not-allowed}.btn-no-show{background:#fff3e0;color:#e65100}.btn-no-show:hover{background:#ffe0b2}.btn-delete{background:#fee2e2;color:#991b1b;border:none;border-radius:6px;cursor:pointer;font-size:13px;padding:6px 10px;transition:all .2s}.btn-delete:hover{background:#fecaca}.text-muted{color:#999;font-size:13px}@media(max-width:768px){.appointments-table{font-size:13px}.appointments-table th,.appointments-table td{padding:8px 6px}.actions-cell{flex-direction:column}}.form-card{margin-bottom:24px}.form-card h3{margin:0 0 16px}.form-row{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;font-weight:600;font-size:13px;color:#333}.form-group input{width:100%;padding:10px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;box-sizing:border-box}.form-actions{display:flex;gap:12px;margin-top:8px}.form-actions .btn-ghost{background:#f0f0f0;color:#333;border:1px solid #ddd;padding:8px 20px;border-radius:8px;font-weight:500}.services-table{width:100%;border-collapse:collapse}.services-table th,.services-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f0f0f0}.services-table th{font-weight:600;color:#666;font-size:13px;text-transform:uppercase}.services-table td{font-size:14px;color:#333}.actions-cell{display:flex;gap:8px}.btn-edit{background:#fef3c7;color:#92400e;border:none;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:14px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:16px;padding:32px;max-width:400px;width:90%;box-shadow:0 20px 60px #0000004d}.modal h3{margin:0 0 8px;font-size:20px;color:#1a1a2e}.modal p{margin:0 0 24px;color:#666;font-size:15px}.modal-actions{display:flex;gap:12px;justify-content:flex-end}.modal-actions .btn{min-width:100px}.modal .btn-ghost{background:#f0f0f0;color:#333;border:1px solid #ddd;padding:8px 20px;border-radius:8px;font-weight:500}.modal .btn-delete{background:#dc2626;color:#fff;padding:8px 20px;border-radius:8px;font-weight:500}.btn-delete{background:#fee2e2;color:#991b1b;border:none;padding:6px 10px;border-radius:6px;cursor:pointer;font-size:14px}@media(max-width:768px){.form-row{grid-template-columns:1fr}}.clients-table{width:100%;border-collapse:collapse}.clients-table th,.clients-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f0f0f0}.clients-table th{font-weight:600;color:#666;font-size:13px;text-transform:uppercase}.clients-table td{font-size:14px;color:#333}.clients-table td a{color:#667eea;text-decoration:none}.clients-table td a:hover{text-decoration:underline}.client-count{font-weight:400;color:#999;font-size:14px}.form-card{margin-bottom:20px}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:16px}.form-actions{display:flex;gap:12px;justify-content:flex-end}.input-disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.btn-edit{background:#e3f2fd;color:#1565c0;border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .2s}.btn-edit:hover{background:#bbdefb}.btn-delete{background:#fee2e2;color:#c62828;border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .2s}.btn-delete:hover{background:#ffcdd2}.btn-success{background:#e8f5e9;color:#2e7d32;border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .2s}.btn-warn{background:#fff3e0;color:#e65100;border:none;border-radius:6px;cursor:pointer;font-size:14px;padding:6px 12px;transition:all .2s}.schedule-calendar{margin-bottom:24px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.calendar-nav-btn{background:#667eea;color:#fff;border:none;width:40px;height:40px;border-radius:8px;font-size:20px;cursor:pointer}.calendar-month-name{font-size:20px;font-weight:600;color:#1a1a2e;text-transform:capitalize}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}.calendar-day-header{text-align:center;font-size:13px;font-weight:600;padding:8px 0;color:#666}.calendar-day-header.weekend{color:#f44336}.calendar-day{padding:12px 8px;border-radius:10px;text-align:center;cursor:pointer;min-height:80px;transition:all .2s ease;user-select:none}.calendar-day.other-month{opacity:.5}.calendar-day.active{background:linear-gradient(135deg,#e8f5e9,#c8e6c9);border:2px solid #4caf50}.calendar-day.inactive{background:#f9f9f9;border:2px solid #e0e0e0}.calendar-day.today{background:#e3f2fd;border:2px solid #42a5f5;box-shadow:0 0 0 3px #42a5f540}.calendar-day.selected{box-shadow:0 0 0 3px #ff98004d}.calendar-day:not(.other-month):not(.inactive):hover{transform:translateY(-2px)}.calendar-day-number{font-size:18px;font-weight:700;color:#333;margin-bottom:6px}.calendar-day-badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;display:inline-block}.badge-active{background:#c8e6c9;color:#2e7d32}.badge-inactive{background:#f5f5f5;color:#999}.badge-today{background:#bbdefb;color:#1565c0}.badge-past{background:#bdbdbd;color:#616161}.calendar-day-count{margin-top:4px;font-size:11px;color:#1565c0;font-weight:500}.calendar-add-slot-btn{margin-top:4px;width:24px;height:24px;border-radius:50%;border:2px solid #4caf50;background:#fff;color:#4caf50;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.calendar-add-slot-btn:hover{background:#4caf50;color:#fff;transform:scale(1.1)}.schedule-time-slots{margin-bottom:24px;padding:20px;background:#fff;border-radius:12px;border:1px solid #e0e0e0}.time-slots-title{margin:0 0 16px;font-size:18px;color:#1a1a2e;text-transform:capitalize}.time-slots-past{font-size:14px;color:#999;font-weight:400;margin-left:12px}.time-slots-header{display:flex;align-items:center;gap:12px;margin-bottom:8px}.time-slots-checkbox{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:600;color:#333;cursor:pointer}.time-slots-checkbox input{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.time-slots-list{display:flex;flex-direction:column;gap:8px}.time-slot{display:flex;align-items:center;gap:16px;padding:12px 16px;border-radius:8px;transition:all .2s ease}.time-slot.slot-active{border:2px solid #4caf50;background:#e8f5e9}.time-slot.slot-inactive{border:2px solid #e0e0e0;background:#f5f5f5}.time-slot.slot-past{opacity:.5}.time-slot-checkbox input{width:18px;height:18px;cursor:pointer;accent-color:#4caf50;flex-shrink:0}.time-slot-time{font-size:16px;font-weight:700;color:#333;min-width:60px;flex-shrink:0}.time-slot-appointments{flex:1;display:flex;flex-direction:column;gap:4px}.time-slot-appt{display:flex;align-items:center;gap:12px;font-size:14px}.appt-client{font-weight:600;color:#333}.appt-service{color:#666;font-size:13px}.appt-status,.status-free,.status-pending,.status-confirmed,.status-completed,.status-cancelled{padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.status-pending{background:#fff8e1;color:#f57f17}.status-confirmed{background:#e3f2fd;color:#1565c0}.status-completed{background:#e8f5e9;color:#2e7d32}.status-cancelled{background:#f5f5f5;color:#616161}.time-slot-status{flex:1;font-size:13px}.btn-book{background:#4caf50;color:#fff;border:none;padding:4px 12px;border-radius:6px;cursor:pointer;font-size:12px;font-weight:600}.btn-sm{padding:4px 12px;font-size:12px}.booking-modal-date{color:#666;font-size:14px;margin-bottom:16px}.dropdown-list{position:absolute;top:100%;left:0;right:0;max-height:200px;overflow:auto;border:2px solid #e0e0e0;border-radius:8px;margin-top:4px;background:#fff;z-index:1000}.dropdown-item{padding:10px 12px;cursor:pointer;font-size:14px;border-bottom:1px solid #f0f0f0}.dropdown-item:hover{background:#f5f5f5}.dropdown-item.selected{background:#e8f5e9}.dropdown-empty{padding:12px;color:#999;font-size:13px}.schedule-stats{padding:20px;background:#fff;border-radius:12px;border:1px solid #e0e0e0}.stats-title{margin:0 0 16px;font-size:18px;color:#1a1a2e}.stats-grid{display:flex;gap:24px;flex-wrap:wrap}.stat-card{text-align:center;flex:1;min-width:120px}.stat-value{display:block;font-size:32px;font-weight:700;color:#667eea;margin-bottom:4px}.stat-label{font-size:13px;color:#666}.stat-loading{color:#999;font-size:14px}.form-input{width:100%;padding:10px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px}.form-group{margin-bottom:16px}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal{background:#fff;border-radius:12px;padding:24px;max-width:450px;width:90%;max-height:80vh;overflow:auto}.modal h3{margin:0 0 8px;font-size:18px;color:#1a1a2e}.modal-actions{display:flex;gap:12px;margin-top:20px}.btn{padding:8px 16px;border-radius:8px;border:none;cursor:pointer;font-size:14px;font-weight:600}.btn-primary{background:#667eea;color:#fff}.btn-ghost{background:#f5f5f5;color:#333}.btn-logout{width:100%;margin-top:8px}.error-message{padding:10px;background:#ffebee;color:#c62828;border-radius:8px;margin-bottom:16px;font-size:14px}.logs-table{width:100%;border-collapse:collapse}.logs-table th,.logs-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #f0f0f0}.logs-table th{font-size:13px;font-weight:600;color:#666;text-transform:uppercase}.logs-table td{font-size:14px;color:#333}.logs-table code{background:#f5f5f5;padding:2px 8px;border-radius:4px;font-size:13px}.level-badge{display:inline-block;padding:4px 10px;border-radius:6px;font-size:11px;font-weight:700;letter-spacing:.5px;white-space:nowrap}.level-info{background:#e3f2fd;color:#1565c0}.level-warning{background:#fff3e0;color:#e65100}.level-error{background:#fce4ec;color:#c62828}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 10px;border-radius:6px;font-size:12px;font-weight:600;white-space:nowrap;min-width:120px;text-align:center;box-sizing:border-box}.status-pending{background:#e3f2fd;color:#1565c0}.status-confirmed{background:#e8f5e9;color:#2e7d32}.status-cancelled{background:#fce4ec;color:#c62828}.status-completed{background:#f3e5f5;color:#6a1b9a}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.login-card{width:100%;max-width:420px;padding:40px}.login-card h1{margin:0 0 8px;font-size:28px;color:#333}.login-subtitle{margin:0 0 30px;color:#666;font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:600;font-size:14px;color:#333}.form-group input{width:100%;padding:12px 16px;border:2px solid #e0e0e0;border-radius:8px;font-size:16px;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.btn-submit{width:100%;margin-top:10px;padding:14px;font-size:16px;font-weight:600}.login-footer{margin-top:24px;text-align:center}.login-footer a{color:#667eea;text-decoration:none;font-size:14px}.masters-page .page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;flex-wrap:wrap;gap:12px}.page-header-actions{display:flex;align-items:center;gap:12px}.bulk-actions{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#e3f2fd;border-radius:8px;font-size:13px}.bulk-count{font-weight:600;color:#1565c0}.masters-page .page-header h1{margin:0;font-size:24px;color:#1a1a2e}.masters-filters{margin-bottom:20px}.filter-row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.filter-input{flex:1;min-width:200px;padding:8px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .2s}.filter-input:focus{outline:none;border-color:#667eea}.filter-select{padding:8px 14px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;background:#fff;cursor:pointer;transition:border-color .2s}.filter-select:focus{outline:none;border-color:#667eea}.masters-table-wrapper{overflow-x:auto}.masters-table{width:100%;border-collapse:collapse}.masters-table th,.masters-table td{padding:14px 16px;text-align:left;border-bottom:1px solid #f0f0f0}.masters-table th{font-weight:600;color:#666;font-size:13px;text-transform:uppercase;background:#fafafa}.col-checkbox{width:40px;text-align:center}.col-checkbox input[type=checkbox]{width:18px;height:18px;cursor:pointer;accent-color:#667eea}.master-name-link{background:none;border:none;cursor:pointer;padding:0;text-align:left}.master-name-link:hover .master-name{color:#667eea;text-decoration:underline}.masters-table tbody tr.selected{background:#f0f4ff}.masters-table tbody tr{transition:background .2s}.masters-table tbody tr:hover{background:#f8f9ff}.master-name{font-weight:600;color:#1a1a2e;font-size:14px}.master-telegram{font-size:12px;color:#667eea;margin-top:2px}.role-user{background:#e3f2fd;color:#1565c0}.actions-cell{display:flex;gap:6px;align-items:center}.actions-cell button{flex-shrink:0}.btn-sm{padding:6px 10px;font-size:13px;border:none;border-radius:6px;cursor:pointer;font-weight:500;transition:all .2s}.btn-secondary{background:#f0f0f0;color:#333}.btn-danger{background:#fee2e2;color:#c62828}.btn-danger:hover{background:#ffcdd2}.btn-ghost{background:transparent;color:#666;border:1px solid #ddd}.btn-ghost:hover{background:#f5f5f5}.btn-success{background:#e8f5e9;color:#2e7d32}.btn-success:hover{background:#c8e6c9}.btn-warn{background:#fff3e0;color:#e65100}.btn-warn:hover{background:#ffe0b2}.delete-confirm{display:flex;gap:4px}.master-form{display:flex;flex-direction:column;gap:16px}.form-group{display:flex;flex-direction:column;gap:6px}.form-group label{font-size:13px;font-weight:500;color:#666}.form-group input,.form-group textarea{padding:8px 12px;border:2px solid #e0e0e0;border-radius:8px;font-size:14px;transition:border-color .2s}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#667eea}.form-group input:disabled{background:#f5f5f5;color:#999;cursor:not-allowed}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.skeleton-table{display:flex;flex-direction:column;gap:12px;padding:20px 0}@media(max-width:768px){.masters-page .page-header{flex-direction:column;gap:12px;text-align:center}.filter-row{flex-direction:column}.filter-input{min-width:100%}.masters-table th,.masters-table td{padding:10px 8px;font-size:13px}}.master-detail{max-width:1200px;margin:0 auto}.detail-header{display:flex;align-items:center;gap:20px;margin-bottom:24px;flex-wrap:wrap}.back-btn{padding:8px 16px;background:#f0f0f0;border:none;border-radius:8px;cursor:pointer;font-size:14px;color:#666;transition:all .2s}.back-btn:hover{background:#e0e0e0;color:#333}.detail-title h1{margin:0;font-size:28px;color:#1a1a2e}.detail-meta{display:flex;gap:12px;align-items:center;margin-top:4px}.telegram-link{color:#667eea;font-size:14px}.detail-actions{display:flex;gap:8px;margin-left:auto}.detail-tabs{display:flex;gap:4px;margin-bottom:24px;border-bottom:2px solid #f0f0f0;padding-bottom:0}.tab-btn{padding:12px 20px;border:none;background:none;cursor:pointer;font-size:14px;font-weight:500;color:#999;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.tab-btn:hover{color:#666}.tab-btn.active{color:#667eea;border-bottom-color:#667eea}.detail-content{min-height:400px}.overview-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.stat-card{text-align:center;padding:24px;transition:transform .2s}.stat-card:hover{transform:translateY(-2px)}.stat-icon{font-size:32px;margin-bottom:8px}.stat-value{font-size:28px;font-weight:700;color:#1a1a2e}.stat-label{font-size:13px;color:#999;margin-top:4px}.status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}.status-item{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:#f8f9fb;border-radius:8px}.status-count{font-weight:600;color:#667eea}.appointment-list{display:flex;flex-direction:column;gap:8px}.appointment-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #f0f0f0}.appt-client{font-weight:600;color:#1a1a2e}.appt-service{font-size:12px;color:#999}.appt-date{font-size:13px;color:#666}.info-list{display:flex;flex-direction:column;gap:12px}.info-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:1px solid #f0f0f0}.info-label{font-weight:500;color:#999}.info-value{color:#333}.reviews-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.rating-summary{display:flex;align-items:center;gap:12px}.rating-big{font-size:36px;font-weight:700;color:#1a1a2e}.stars{font-size:20px}.review-count{font-size:14px;color:#999}.reviews-list{display:flex;flex-direction:column;gap:12px}.review-card{padding:16px;background:#f8f9fb;border-radius:12px}.review-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.review-client{font-weight:600;color:#1a1a2e}.review-rating{font-size:16px}.review-comment{margin:8px 0;color:#666;font-size:14px}.review-meta{display:flex;justify-content:space-between;font-size:12px;color:#999}.published-badge{color:#4caf50;font-weight:500}.unpublished-badge{color:#ff9800;font-weight:500}.audit-list{display:flex;flex-direction:column;gap:8px}.audit-item{display:flex;align-items:center;gap:12px;padding:12px;background:#f8f9fb;border-radius:8px}.audit-level{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase}.audit-info{background:#fee2e2;color:#c62828}.audit-warning{background:#fff3e0;color:#e65100}.audit-info-level{background:#e3f2fd;color:#1565c0}.audit-content{flex:1}.audit-action{font-weight:500;color:#333;font-size:14px}.audit-details{font-size:12px;color:#999;margin-top:2px}.audit-time{font-size:12px;color:#999;white-space:nowrap}.bulk-bar{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#e3f2fd;border-radius:8px;margin-bottom:16px;font-size:14px}.status-badge{display:inline-flex;align-items:center;justify-content:center;padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;min-width:120px;text-align:center;box-sizing:border-box}.status-active{background:#d1fae5;color:#065f46}.status-inactive{background:#fee2e2;color:#991b1b}.role-badge{display:inline-flex;align-items:center;justify-content:center;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;min-width:180px;text-align:center;line-height:1.4;box-sizing:border-box}.role-admin{background:#fef3c7;color:#92400e}@media(max-width:768px){.detail-header{flex-direction:column;align-items:flex-start}.detail-actions{margin-left:0;width:100%}.detail-actions button{flex:1}.overview-grid{grid-template-columns:1fr 1fr}.tab-btn{padding:10px 12px;font-size:13px}}.revenue-page{max-width:1200px;margin:0 auto}.revenue-page .page-header h1{margin:0;font-size:24px;color:#1a1a2e}.revenue-page .page-header p{margin:4px 0 0;color:#999;font-size:14px}.revenue-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:24px}.revenue-card{text-align:center;padding:24px;transition:transform .2s,box-shadow .2s}.revenue-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.revenue-card.main{background:linear-gradient(135deg,#4caf50,#388e3c);color:#fff}.revenue-card.main .revenue-card-value{color:#fff}.revenue-card.main .revenue-card-label{color:#ffffffe6}.revenue-card.main .revenue-card-sub{color:#ffffffb3}.revenue-card-icon{font-size:32px;margin-bottom:8px}.revenue-card-value{font-size:32px;font-weight:700;color:#1a1a2e;margin-bottom:4px}.revenue-card-label{font-size:14px;color:#666}.revenue-card-sub{font-size:12px;color:#999;margin-top:6px}.revenue-section{margin-bottom:24px}.revenue-section h2{font-size:20px;color:#1a1a2e;margin:0 0 16px}.status-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}.status-card{text-align:center;padding:20px;border-radius:12px;transition:transform .2s}.status-card:hover{transform:translateY(-2px)}.status-card-icon{font-size:24px;margin-bottom:8px}.status-card-value{font-size:28px;font-weight:700;margin-bottom:4px}.status-card-label{font-size:13px;font-weight:500}.status-pending{background:#fef3c7;color:#92400e}.status-confirmed{background:#d1fae5;color:#065f46}.status-completed{background:#dbeafe;color:#1e40af}.status-cancelled{background:#fee2e2;color:#991b1b}.full-width{grid-column:1 / -1}.funnel-container{padding:8px 0}.funnel-step{margin-bottom:10px}.funnel-bar{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;background:#f8f9fb;border-radius:10px;min-width:200px;transition:background .2s}.funnel-bar:hover{background:#f0f4ff}.funnel-bar.confirmed-bar{background:#e8f5e9}.funnel-bar.confirmed-bar:hover{background:#d4edda}.funnel-bar.completed-bar{background:#dbeafe}.funnel-bar.completed-bar:hover{background:#bfdbfe}.funnel-bar.cancelled-bar{background:#fee2e2}.funnel-bar.cancelled-bar:hover{background:#fecaca}.funnel-label{font-size:14px;font-weight:500;color:#333}.funnel-value{font-size:14px;font-weight:700;color:#1a1a2e}@media(max-width:768px){.revenue-stats-grid,.status-cards{grid-template-columns:repeat(2,1fr)}.revenue-card-value,.status-card-value{font-size:24px}}@media(max-width:480px){.revenue-stats-grid,.status-cards{grid-template-columns:1fr}}.app{min-height:100vh}.public-app{background:linear-gradient(135deg,#fff5f7,#ffe4ec)}.admin-app,.superadmin-app{background:#fff}.container{max-width:1200px;margin:0 auto;padding:0 1rem}.card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:1.5rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-weight:600;cursor:pointer;transition:all .3s ease}.btn-primary{background:linear-gradient(135deg,#ff6b9d,#ff5a8a);color:#fff}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 4px 12px #ff6b9d4d}.btn-secondary{background:#f0f0f0;color:#2d3748}.btn-secondary:hover{background:#e0e0e0}.input{width:100%;padding:.75rem;border:2px solid #e0e0e0;border-radius:8px;font-size:1rem;transition:border-color .3s ease}.input:focus{outline:none;border-color:#ff6b9d}.grid{display:grid;gap:1rem;margin-top:1rem}.grid-2{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}@media(max-width:768px){.card{padding:1rem}.btn{width:100%}}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#2d3748}button{font-family:inherit}a{color:inherit;text-decoration:none}.toast-container{position:fixed;top:24px;right:24px;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:400px}.toast{display:flex;align-items:flex-start;gap:12px;padding:14px 18px;border-radius:12px;background:#fff;box-shadow:0 4px 20px #00000026;cursor:pointer;transition:all .3s ease;animation:slideIn .3s ease;border-left:4px solid}.toast:hover{transform:translate(-4px)}.toast-success{border-left-color:#48bb78}.toast-error{border-left-color:#f56565}.toast-info{border-left-color:#4299e1}.toast-icon{font-size:18px;flex-shrink:0}.toast-message{flex:1;font-size:14px;line-height:1.4;color:#2d3748}@keyframes slideIn{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}
