
/* ============================================================
   SERVIA — повний style.css
   ============================================================ */
:root{--bg:#0a0a0f;--surface:#13131a;--surface2:#1c1c28;--accent:#6c63ff;--accent2:#ff6584;--accent3:#43e97b;--text:#f0f0f8;--muted:#8888aa;--border:#2a2a3a;--card:#16161f;}
*{margin:0;padding:0;box-sizing:border-box;}html{scroll-behavior:smooth;}
body{font-family:"DM Sans",sans-serif;background:var(--bg);color:var(--text);overflow-x:hidden;}

nav{position:fixed;top:0;left:0;right:0;z-index:100;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:1rem 3rem;background:rgba(10,10,15,.85);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);}
nav .nav-left{justify-self:start;display:flex;flex-direction:row;align-items:center;gap:1rem;white-space:nowrap;}
nav .nav-links{justify-self:center;display:flex;gap:2rem;list-style:none;white-space:nowrap;}
nav .nav-right{justify-self:end;display:flex;flex-direction:row;align-items:center;gap:.75rem;white-space:nowrap;flex-wrap:nowrap;}
nav .nav-actions{display:flex;flex-direction:row;align-items:center;gap:.75rem;flex-wrap:nowrap;}
/* CAROUSEL */
.carousel-wrap{position:relative;display:flex;flex-direction:row;align-items:center;gap:1rem;width:100%;}
.carousel-viewport{overflow:hidden;flex:1;min-width:0;}
.carousel-btn{flex-shrink:0;flex-grow:0;width:44px;height:44px;min-width:44px;border-radius:50%;background:var(--surface2);border:1px solid var(--border);color:var(--text);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;}
.carousel-btn:hover{background:var(--accent);border-color:var(--accent);color:#fff;transform:scale(1.08);}
.carousel-section{padding-left:1rem!important;padding-right:1rem!important;}
/* NAV */
nav{position:fixed;top:0;left:0;right:0;z-index:100;display:flex;align-items:center;justify-content:space-between;padding:1.2rem 3rem;background:rgba(10,10,15,.85);backdrop-filter:blur(20px);border-bottom:1px solid var(--border);}
.logo{font-family:"Syne",sans-serif;font-weight:800;font-size:1.6rem;color:var(--text);text-decoration:none;letter-spacing:-1px;}
.logo span{color:var(--accent);}
.nav-links{display:flex;gap:2rem;list-style:none;}
.nav-links a{color:var(--muted);text-decoration:none;font-size:.95rem;transition:color .2s;}
.nav-links a:hover,.nav-links a.active{color:var(--text);}
.nav-actions{display:flex;gap:1rem;align-items:center;}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;gap:.5rem;padding:.6rem 1.4rem;border-radius:8px;font-family:"DM Sans",sans-serif;font-size:.9rem;font-weight:500;cursor:pointer;text-decoration:none;transition:all .2s;border:none;}
.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border);}
.btn-ghost:hover{color:var(--text);border-color:var(--accent);}
.btn-primary{background:var(--accent);color:#fff;}
.btn-primary:hover{background:#7c74ff;transform:translateY(-1px);}
.btn-lg{padding:.9rem 2rem;font-size:1rem;border-radius:10px;}
.btn-block{width:100%;justify-content:center;}
.btn-sm{padding:.4rem .9rem;font-size:.82rem;border-radius:7px;}
.btn-danger{background:rgba(255,101,132,.1);color:var(--accent2);border:1px solid rgba(255,101,132,.2);}
.btn-danger:hover{background:var(--accent2);color:#fff;}
.btn-success{background:rgba(67,233,123,.1);color:var(--accent3);border:1px solid rgba(67,233,123,.2);}
.btn-success:hover{background:var(--accent3);color:#000;}

/* HERO */
.hero{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding:8rem 3rem 4rem;position:relative;overflow:hidden;}
.hero-bg{position:absolute;inset:0;z-index:0;background:radial-gradient(ellipse 60% 50% at 70% 40%,rgba(108,99,255,.18) 0%,transparent 70%),radial-gradient(ellipse 40% 40% at 20% 70%,rgba(255,101,132,.12) 0%,transparent 60%),radial-gradient(ellipse 30% 30% at 80% 80%,rgba(67,233,123,.08) 0%,transparent 60%);}
.hero-content{position:relative;z-index:1;max-width:720px;}
.hero-badge{display:inline-flex;align-items:center;gap:.5rem;background:rgba(108,99,255,.15);border:1px solid rgba(108,99,255,.3);color:var(--accent);padding:.4rem 1rem;border-radius:100px;font-size:.8rem;font-weight:500;margin-bottom:2rem;animation:fadeUp .6s ease both;}
.hero h1{font-family:"Syne",sans-serif;font-size:clamp(2.8rem,6vw,5.5rem);font-weight:800;line-height:1.05;letter-spacing:-2px;margin-bottom:1.5rem;animation:fadeUp .6s .1s ease both;}
.hero h1 em{font-style:normal;color:var(--accent);}
.hero p{font-size:1.15rem;color:var(--muted);line-height:1.7;max-width:520px;margin-bottom:2.5rem;animation:fadeUp .6s .2s ease both;}
.hero-actions{display:flex;gap:1rem;flex-wrap:wrap;animation:fadeUp .6s .3s ease both;}
.hero-stats{display:flex;gap:3rem;margin-top:4rem;animation:fadeUp .6s .4s ease both;}
.stat-num{font-family:"Syne",sans-serif;font-size:2rem;font-weight:800;}
.stat-label{font-size:.85rem;color:var(--muted);margin-top:.2rem;}

/* SEARCH */
.search-section{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2.5rem 3rem;}
.search-bar{display:flex;gap:1rem;max-width:900px;margin:0 auto;background:var(--surface2);border:1px solid var(--border);border-radius:14px;padding:.6rem;}
.search-field{flex:1;display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;}
.search-field svg{color:var(--muted);flex-shrink:0;}
.search-field input,.search-field select{background:none;border:none;outline:none;color:var(--text);font-family:"DM Sans",sans-serif;font-size:.95rem;width:100%;}
.search-field select option{background:var(--surface2);}
.search-divider{width:1px;background:var(--border);margin:.5rem 0;}
.search-bar .btn-primary{padding:.8rem 2rem;border-radius:10px;white-space:nowrap;}

/* SECTIONS */
.section{padding:5rem 3rem;}
.section-label{font-size:.8rem;font-weight:600;letter-spacing:3px;color:var(--accent);text-transform:uppercase;margin-bottom:.8rem;}
.section-title{font-family:"Syne",sans-serif;font-size:clamp(1.8rem,3vw,2.8rem);font-weight:800;letter-spacing:-1px;margin-bottom:3rem;line-height:1.1;}

/* CATEGORIES */
.categories-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;}
.category-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:2rem;text-decoration:none;color:var(--text);transition:all .3s;position:relative;overflow:hidden;display:block;}
.category-card::before{content:"";position:absolute;inset:0;opacity:0;transition:opacity .3s;}
.category-card.beauty::before{background:radial-gradient(ellipse at top left,rgba(255,101,132,.12),transparent 60%);}
.category-card.home::before{background:radial-gradient(ellipse at top left,rgba(108,99,255,.12),transparent 60%);}
.category-card.auto::before{background:radial-gradient(ellipse at top left,rgba(67,233,123,.12),transparent 60%);}
.category-card:hover{border-color:var(--accent);transform:translateY(-4px);}
.category-card:hover::before{opacity:1;}
.cat-icon{width:56px;height:56px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.8rem;margin-bottom:1.2rem;}
.beauty .cat-icon{background:rgba(255,101,132,.15);}
.home .cat-icon{background:rgba(108,99,255,.15);}
.auto .cat-icon{background:rgba(67,233,123,.15);}
.cat-title{font-family:"Syne",sans-serif;font-size:1.3rem;font-weight:700;margin-bottom:.5rem;}
.cat-desc{color:var(--muted);font-size:.9rem;line-height:1.6;margin-bottom:1.2rem;}
.cat-count{font-size:.8rem;color:var(--accent);font-weight:500;}

/* SERVICE CARDS */
.services-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.2rem;}
.service-card{background:var(--card);border:1px solid var(--border);border-radius:16px;overflow:hidden;transition:all .3s;text-decoration:none;color:var(--text);display:block;}
.service-card:hover{border-color:var(--accent);transform:translateY(-4px);}
.service-img{height:140px;display:flex;align-items:center;justify-content:center;font-size:3.5rem;position:relative;}
.beauty-bg{background:linear-gradient(135deg,#2a1520,#3d1a2a);}
.home-bg{background:linear-gradient(135deg,#151525,#1a1a35);}
.auto-bg{background:linear-gradient(135deg,#0f2015,#152015);}
.service-body{padding:1.2rem;}
.service-badge{position:absolute;top:.7rem;right:.7rem;background:var(--accent2);color:#fff;font-size:.7rem;font-weight:600;padding:.2rem .6rem;border-radius:100px;}
.service-category{font-size:.75rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;margin-bottom:.5rem;}
.beauty-text{color:var(--accent2);}
.home-text{color:var(--accent);}
.auto-text{color:var(--accent3);}
.service-name{font-family:"Syne",sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:.5rem;}
.service-master{color:var(--muted);font-size:.85rem;margin-bottom:.5rem;}
.service-meta{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;}
.rating{display:flex;align-items:center;gap:.3rem;font-size:.85rem;}
.rating svg{color:#fbbf24;}
.reviews{color:var(--muted);font-size:.8rem;}
.service-footer{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--border);padding-top:1rem;margin-top:.5rem;}
.service-price{font-family:"Syne",sans-serif;font-weight:700;font-size:1.1rem;}
.btn-book{background:rgba(108,99,255,.15);color:var(--accent);border:1px solid rgba(108,99,255,.3);padding:.45rem 1rem;border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s;}
.btn-book:hover{background:var(--accent);color:#fff;}

/* HOW IT WORKS */
.how-bg{background:var(--surface);}
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;}
.step{text-align:center;padding:2rem 1rem;}
.step-num{width:60px;height:60px;border-radius:50%;background:rgba(108,99,255,.15);border:2px solid rgba(108,99,255,.3);display:flex;align-items:center;justify-content:center;font-family:"Syne",sans-serif;font-size:1.4rem;font-weight:800;color:var(--accent);margin:0 auto 1.2rem;}
.step h3{font-family:"Syne",sans-serif;font-size:1.1rem;font-weight:700;margin-bottom:.5rem;}
.step p{color:var(--muted);font-size:.9rem;line-height:1.6;}

/* FOOTER */
footer{background:var(--surface);border-top:1px solid var(--border);padding:3rem;display:flex;flex-direction:column;align-items:center;gap:1.5rem;}
.footer-links{display:flex;gap:2rem;flex-wrap:wrap;justify-content:center;}
.footer-links a{color:var(--muted);text-decoration:none;font-size:.9rem;transition:color .2s;}
.footer-links a:hover{color:var(--text);}
.footer-copy{color:var(--muted);font-size:.85rem;}

/* PAGE HEADER */
.page-header{padding:8rem 3rem 3rem;border-bottom:1px solid var(--border);}
.page-header.beauty-header{background:linear-gradient(135deg,#0a0a0f 0%,#1a0f18 50%,#0a0a0f 100%);}
.page-header.home-header{background:linear-gradient(135deg,#0a0a0f 0%,#0f0f1f 50%,#0a0a0f 100%);}
.page-header.auto-header{background:linear-gradient(135deg,#0a0a0f 0%,#0a130f 50%,#0a0a0f 100%);}
.breadcrumb{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;}
.breadcrumb a{color:var(--muted);text-decoration:none;font-size:.85rem;transition:color .2s;}
.breadcrumb a:hover{color:var(--text);}
.breadcrumb span{color:var(--muted);font-size:.85rem;}
.page-title{font-family:"Syne",sans-serif;font-size:2.5rem;font-weight:800;letter-spacing:-1px;margin-bottom:.5rem;}
.page-title em{font-style:normal;}
.page-sub{color:var(--muted);font-size:1rem;}

/* FILTERS LAYOUT */
.content{display:flex;gap:2rem;padding:3rem;max-width:1400px;margin:0 auto;}
.filters{width:260px;flex-shrink:0;}
.filter-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;}
.filter-title{font-family:"Syne",sans-serif;font-weight:700;font-size:1rem;margin-bottom:1.2rem;}
.filter-label{display:flex;align-items:center;gap:.6rem;cursor:pointer;color:var(--muted);font-size:.9rem;margin-bottom:.6rem;transition:color .2s;}
.filter-label:hover{color:var(--text);}
.filter-label input[type="checkbox"]{accent-color:var(--accent);width:16px;height:16px;}
.price-range{display:flex;gap:.5rem;align-items:center;}
.price-input{flex:1;background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.5rem .7rem;color:var(--text);font-family:"DM Sans",sans-serif;font-size:.85rem;outline:none;}
.price-sep{color:var(--muted);}
.rating-filter{display:flex;gap:.5rem;flex-wrap:wrap;}
.rating-btn{background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:.4rem .8rem;color:var(--muted);font-size:.85rem;cursor:pointer;transition:all .2s;}
.rating-btn.active,.rating-btn:hover{background:rgba(108,99,255,.15);border-color:var(--accent);color:var(--accent);}
.btn-apply{width:100%;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:.75rem;font-family:"DM Sans",sans-serif;font-weight:500;cursor:pointer;margin-top:.5rem;transition:background .2s;}
.btn-apply:hover{background:#7c74ff;}
.services-wrap{flex:1;min-width:0;}
.services-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;}
.results-count{color:var(--muted);font-size:.9rem;}
.sort-select{background:var(--card);border:1px solid var(--border);border-radius:8px;padding:.5rem 1rem;color:var(--text);font-family:"DM Sans",sans-serif;font-size:.9rem;outline:none;}
.subcats{display:flex;gap:.7rem;flex-wrap:wrap;margin-bottom:1.5rem;}
.subcat{background:var(--card);border:1px solid var(--border);border-radius:100px;padding:.45rem 1.1rem;font-size:.85rem;color:var(--muted);cursor:pointer;transition:all .2s;white-space:nowrap;}
.subcat:hover,.subcat.active{background:rgba(108,99,255,.15);border-color:var(--accent);color:var(--accent);}

/* SERVICE PAGE */
.main{padding:7rem 3rem 4rem;max-width:1200px;margin:0 auto;}
.service-layout{display:grid;grid-template-columns:1fr 400px;gap:3rem;}
.service-hero{height:260px;border-radius:20px;background:linear-gradient(135deg,#2a1520,#3d1a2a);display:flex;align-items:center;justify-content:center;font-size:6rem;margin-bottom:2rem;border:1px solid var(--border);}
.service-title{font-family:"Syne",sans-serif;font-size:2rem;font-weight:800;letter-spacing:-1px;margin-bottom:.5rem;}
.tag{background:var(--surface2);border:1px solid var(--border);border-radius:100px;padding:.3rem .9rem;font-size:.8rem;color:var(--muted);}
.tag.pink{background:rgba(255,101,132,.1);border-color:rgba(255,101,132,.3);color:var(--accent2);}
.service-desc{color:var(--muted);line-height:1.8;margin-bottom:2rem;font-size:.95rem;}
.includes{display:flex;flex-direction:column;gap:.6rem;margin-bottom:2rem;}
.include-item{display:flex;align-items:center;gap:.7rem;font-size:.9rem;}
.include-item svg{color:var(--accent3);flex-shrink:0;}
.master-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1.2rem;margin-bottom:2rem;}
.master-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;}
.master-name{font-family:"Syne",sans-serif;font-weight:700;margin-bottom:.2rem;}
.master-exp{color:var(--muted);font-size:.85rem;}
.reviews-list{display:flex;flex-direction:column;gap:1rem;}
.review{background:var(--card);border:1px solid var(--border);border-radius:12px;padding:1.2rem;}
.review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;}
.reviewer{font-weight:500;font-size:.9rem;}
.review-stars{color:#fbbf24;font-size:.85rem;}
.review-text{color:var(--muted);font-size:.9rem;line-height:1.6;}
.review-date{color:var(--muted);font-size:.78rem;margin-top:.4rem;}
.booking-panel{position:sticky;top:7rem;}
.booking-card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:2rem;}
.price-main{font-family:"Syne",sans-serif;font-size:2rem;font-weight:800;}
.price-sub{color:var(--muted);font-size:.85rem;}
.booking-price{margin-bottom:1.5rem;}
.step-indicator{display:flex;align-items:center;gap:.5rem;margin-bottom:1.5rem;}
.step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;}
.step-dot.done{background:var(--accent3);color:#000;}
.step-dot.active{background:var(--accent);color:#fff;}
.step-dot.pending{background:var(--surface2);color:var(--muted);border:1px solid var(--border);}
.step-line{flex:1;height:2px;background:var(--border);}
.step-line.done{background:var(--accent3);}
.booking-section{margin-bottom:1.5rem;}
.booking-section-title{font-size:.85rem;font-weight:600;color:var(--muted);margin-bottom:.8rem;text-transform:uppercase;letter-spacing:1px;}
.date-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;}
.date-btn{background:var(--surface2);border:1px solid var(--border);border-radius:10px;padding:.6rem .4rem;text-align:center;cursor:pointer;transition:all .2s;}
.date-btn:hover{border-color:var(--accent);}
.date-btn.active{background:rgba(108,99,255,.2);border-color:var(--accent);color:var(--accent);}
.date-day{font-size:.7rem;color:var(--muted);}
.date-num{font-family:"Syne",sans-serif;font-weight:700;font-size:1rem;}
.time-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;}
.time-btn{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.5rem;text-align:center;cursor:pointer;transition:all .2s;font-size:.85rem;}
.time-btn:hover{border-color:var(--accent);}
.time-btn.active{background:rgba(108,99,255,.2);border-color:var(--accent);color:var(--accent);}
.time-btn.busy{opacity:.35;cursor:not-allowed;text-decoration:line-through;}
.booking-summary{background:var(--surface2);border-radius:12px;padding:1rem;margin-bottom:1.5rem;}
.summary-row{display:flex;justify-content:space-between;font-size:.88rem;margin-bottom:.4rem;}
.summary-row:last-child{margin-bottom:0;font-weight:600;border-top:1px solid var(--border);padding-top:.6rem;margin-top:.4rem;}
.summary-label{color:var(--muted);}
.btn-book-main{width:100%;background:var(--accent);color:#fff;border:none;border-radius:12px;padding:1rem;font-family:"Syne",sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;}
.btn-book-main:hover{background:#7c74ff;transform:translateY(-1px);}
.success-overlay{display:none;position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.8);backdrop-filter:blur(8px);align-items:center;justify-content:center;}
.success-overlay.show{display:flex;}
.success-box{background:var(--surface2);border:1px solid var(--border);border-radius:24px;padding:3rem;text-align:center;max-width:400px;animation:pop .4s cubic-bezier(.34,1.56,.64,1);}
.success-icon{font-size:4rem;margin-bottom:1rem;}
.success-title{font-family:"Syne",sans-serif;font-size:1.5rem;font-weight:800;margin-bottom:.5rem;}
.success-sub{color:var(--muted);font-size:.9rem;margin-bottom:2rem;line-height:1.6;}

/* SIDEBAR LAYOUT */
body.sidebar-layout{display:flex;min-height:100vh;}
.sidebar{width:260px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);padding:2rem 1.5rem;display:flex;flex-direction:column;position:fixed;top:0;left:0;bottom:0;z-index:10;overflow-y:auto;}
.sidebar .logo{margin-bottom:.5rem;font-size:1.5rem;}
.role-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.25rem .8rem;border-radius:100px;font-size:.72rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;margin-bottom:2rem;}
.role-badge.user{background:rgba(108,99,255,.12);border:1px solid rgba(108,99,255,.25);color:var(--accent);}
.role-badge.provider{background:rgba(67,233,123,.12);border:1px solid rgba(67,233,123,.25);color:var(--accent3);}
.role-badge.admin{background:rgba(167,139,250,.12);border:1px solid rgba(167,139,250,.25);color:#a78bfa;}
.user-info{display:flex;align-items:center;gap:1rem;padding:1rem;background:var(--surface2);border-radius:12px;margin-bottom:2rem;border:1px solid var(--border);}
.user-avatar{width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;}
.user-name{font-weight:600;font-size:.95rem;}
.user-role{color:var(--muted);font-size:.78rem;}
.user-rating{display:flex;align-items:center;gap:.3rem;font-size:.8rem;color:#fbbf24;margin-top:.2rem;}
.nav-section{font-size:.72rem;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--muted);margin-bottom:.6rem;padding-left:.5rem;margin-top:1rem;}
.nav-item{display:flex;align-items:center;gap:.8rem;padding:.75rem .9rem;border-radius:10px;color:var(--muted);text-decoration:none;font-size:.9rem;cursor:pointer;transition:all .2s;margin-bottom:.2rem;border:1px solid transparent;}
.nav-item:hover{background:var(--surface2);color:var(--text);}
.nav-item.active{background:rgba(108,99,255,.12);color:var(--accent);border-color:rgba(108,99,255,.2);}
.nav-item.active-green{background:rgba(67,233,123,.1);color:var(--accent3);border-color:rgba(67,233,123,.2);}
.nav-badge{margin-left:auto;background:var(--accent2);color:#fff;font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:100px;}
.nav-badge.green{background:var(--accent3);color:#000;}
.sidebar-footer{margin-top:auto;padding-top:1rem;border-top:1px solid var(--border);}
.btn-logout{display:flex;align-items:center;gap:.8rem;padding:.75rem;border-radius:10px;color:var(--muted);font-size:.9rem;cursor:pointer;transition:all .2s;background:none;border:none;width:100%;font-family:"DM Sans",sans-serif;text-decoration:none;}
.btn-logout:hover{color:var(--accent2);}

/* SIDEBAR MAIN */
.sidebar-main{margin-left:260px;flex:1;padding:2.5rem;overflow-x:hidden;}
.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;flex-wrap:wrap;gap:1rem;}
.page-header-row .page-title{font-family:"Syne",sans-serif;font-size:1.8rem;font-weight:800;letter-spacing:-1px;margin-bottom:.2rem;}
.page-header-row .page-sub{color:var(--muted);font-size:.9rem;}

/* STATS */
.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1.2rem;margin-bottom:2rem;}
.stat-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;position:relative;overflow:hidden;}
.stat-card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;}
.stat-card.purple::before{background:var(--accent);}
.stat-card.green::before{background:var(--accent3);}
.stat-card.teal::before{background:#38f9d7;}
.stat-card.pink::before{background:var(--accent2);}
.stat-card.yellow::before{background:#fbbf24;}
.stat-icon{width:40px;height:40px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem;margin-bottom:1rem;}
.stat-icon.purple{background:rgba(108,99,255,.12);}
.stat-icon.green{background:rgba(67,233,123,.12);}
.stat-icon.teal{background:rgba(56,249,215,.12);}
.stat-icon.pink{background:rgba(255,101,132,.12);}
.stat-icon.yellow{background:rgba(251,191,36,.12);}
.stat-value{font-family:"Syne",sans-serif;font-size:1.8rem;font-weight:800;line-height:1;margin-bottom:.3rem;}
.stat-label{color:var(--muted);font-size:.82rem;}
.stat-delta{font-size:.78rem;color:var(--accent3);margin-top:.3rem;}
.stat-glow{position:absolute;top:-20px;right:-20px;width:80px;height:80px;border-radius:50%;opacity:.15;}

/* SECTION CARD */
.section-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;margin-bottom:1.5rem;}
.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;}
.section-title{font-family:"Syne",sans-serif;font-weight:700;font-size:1rem;}

/* BOOKINGS */
.bookings-list{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem;}
.booking-item{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;display:flex;align-items:center;gap:1.5rem;}
.booking-icon{width:52px;height:52px;border-radius:14px;display:flex;align-items:center;justify-content:center;font-size:1.5rem;flex-shrink:0;}
.booking-icon.beauty{background:rgba(255,101,132,.15);}
.booking-icon.home{background:rgba(108,99,255,.15);}
.booking-icon.auto{background:rgba(67,233,123,.15);}
.booking-info{flex:1;min-width:0;}
.booking-name{font-weight:600;margin-bottom:.2rem;}
.booking-meta{color:var(--muted);font-size:.85rem;}
.booking-actions{display:flex;gap:.7rem;flex-shrink:0;align-items:center;}
.booking-time{font-family:"Syne",sans-serif;font-weight:700;font-size:.9rem;min-width:50px;}
.booking-client{font-size:.88rem;font-weight:500;}
.booking-service{font-size:.78rem;color:var(--muted);}
.booking-row{display:flex;align-items:center;gap:1rem;padding:.9rem 0;border-bottom:1px solid var(--border);}
.booking-row:last-child{border-bottom:none;padding-bottom:0;}

/* STATUS */
.status{display:inline-flex;align-items:center;padding:.25rem .75rem;border-radius:100px;font-size:.75rem;font-weight:600;}
.status-upcoming{background:rgba(108,99,255,.15);color:var(--accent);}
.status-done{background:rgba(67,233,123,.15);color:var(--accent3);}
.status-cancelled{background:rgba(255,101,132,.1);color:var(--accent2);}
.status-new{background:rgba(67,233,123,.12);color:var(--accent3);}
.status-pending{background:rgba(251,191,36,.12);color:#fbbf24;}
.status-active{background:rgba(67,233,123,.12);color:var(--accent3);}
.status-blocked{background:rgba(255,101,132,.1);color:var(--accent2);}

/* FORMS */
.profile-form{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:2rem;display:none;}
.profile-form.active{display:block;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;}
.form-group{margin-bottom:1.2rem;}
.form-label{display:block;font-size:.85rem;color:var(--muted);margin-bottom:.4rem;}
.form-input,.form-select{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;color:var(--text);font-family:"DM Sans",sans-serif;font-size:.95rem;outline:none;transition:border-color .2s;}
.form-input:focus,.form-select:focus{border-color:var(--accent);}
.form-textarea{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:.75rem 1rem;color:var(--text);font-family:"DM Sans",sans-serif;font-size:.95rem;outline:none;resize:vertical;min-height:100px;transition:border-color .2s;}
.form-textarea:focus{border-color:var(--accent);}

/* TAB PANELS */
.tab-panel{display:none;}
.tab-panel.active{display:block;}
.bookings-tab{display:block;}

/* PROVIDER */
.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:2rem;}
.chart-card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.8rem;margin-bottom:2rem;}
.chart-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;}
.chart-title{font-family:"Syne",sans-serif;font-weight:700;font-size:1rem;}
.chart-tabs{display:flex;gap:.4rem;}
.chart-tab{padding:.3rem .8rem;border-radius:6px;font-size:.8rem;cursor:pointer;color:var(--muted);transition:all .2s;}
.chart-tab.active{background:rgba(67,233,123,.15);color:var(--accent3);}
.chart-bars{display:flex;align-items:flex-end;gap:.6rem;height:120px;}
.bar-wrap{flex:1;display:flex;flex-direction:column;align-items:center;gap:.4rem;height:100%;justify-content:flex-end;}
.bar{width:100%;border-radius:6px 6px 0 0;transition:all .3s;cursor:pointer;}
.bar-green{background:rgba(67,233,123,.2);border:1px solid rgba(67,233,123,.3);}
.bar-green:hover{background:rgba(67,233,123,.4);}
.bar-purple{background:rgba(108,99,255,.2);border:1px solid rgba(108,99,255,.3);}
.bar-purple:hover{background:rgba(108,99,255,.4);}
.bar-label{font-size:.7rem;color:var(--muted);}
.services-table{width:100%;border-collapse:collapse;}
.services-table th{text-align:left;font-size:.75rem;font-weight:600;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:0 0 .8rem;border-bottom:1px solid var(--border);}
.services-table td{padding:.9rem 0;border-bottom:1px solid var(--border);font-size:.88rem;vertical-align:middle;}
.services-table tr:last-child td{border-bottom:none;}
.service-name-cell{display:flex;align-items:center;gap:.7rem;}
.service-emoji{font-size:1.3rem;}
.service-nm{font-weight:500;}
.service-cat{font-size:.75rem;color:var(--muted);}
.toggle{width:36px;height:20px;border-radius:10px;background:var(--border);position:relative;cursor:pointer;transition:background .2s;}
.toggle.on{background:var(--accent3);}
.toggle::after{content:"";position:absolute;top:3px;left:3px;width:14px;height:14px;border-radius:50%;background:#fff;transition:left .2s;}
.toggle.on::after{left:19px;}
.schedule-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.4rem;}
.day-col{display:flex;flex-direction:column;gap:.3rem;}
.day-header{text-align:center;font-size:.72rem;color:var(--muted);font-weight:600;padding-bottom:.4rem;}
.slot{padding:.3rem .2rem;border-radius:5px;font-size:.65rem;text-align:center;cursor:pointer;transition:all .15s;border:1px solid transparent;}
.slot.free{background:rgba(67,233,123,.1);color:var(--accent3);border-color:rgba(67,233,123,.2);}
.slot.booked{background:rgba(108,99,255,.15);color:var(--accent);border-color:rgba(108,99,255,.25);}
.slot.off{background:var(--surface2);color:var(--muted);}
.slot:hover{transform:scale(1.05);}

/* ADMIN */
.table-card{background:var(--card);border:1px solid var(--border);border-radius:14px;overflow:hidden;margin-bottom:1.5rem;}
.table-header{display:flex;align-items:center;justify-content:space-between;padding:1.3rem 1.5rem;border-bottom:1px solid var(--border);flex-wrap:wrap;gap:.8rem;}
.table-title{font-family:"Syne",sans-serif;font-weight:700;font-size:1rem;}
.search-input{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:.5rem 1rem;color:var(--text);font-size:.85rem;outline:none;width:220px;font-family:"DM Sans",sans-serif;}
.search-input:focus{border-color:var(--accent);}
table{width:100%;border-collapse:collapse;}
th{text-align:left;font-size:.72rem;font-weight:700;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:.8rem 1.5rem;background:var(--surface);border-bottom:1px solid var(--border);}
td{padding:.9rem 1.5rem;border-bottom:1px solid var(--border);font-size:.86rem;vertical-align:middle;}
tr:last-child td{border-bottom:none;}
tr:hover td{background:rgba(108,99,255,.03);}
.user-cell{display:flex;align-items:center;gap:.7rem;}
.u-avatar{width:34px;height:34px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0;}
.u-name{font-weight:500;font-size:.86rem;}
.u-email{color:var(--muted);font-size:.75rem;}
.role-pill{display:inline-flex;padding:.2rem .65rem;border-radius:100px;font-size:.72rem;font-weight:600;}
.role-user{background:rgba(108,99,255,.12);color:var(--accent);}
.role-provider{background:rgba(67,233,123,.12);color:var(--accent3);}
.role-admin{background:rgba(251,146,60,.12);color:#fb923c;}
.status-pill{display:inline-flex;padding:.2rem .65rem;border-radius:100px;font-size:.72rem;font-weight:600;}
.td-actions{display:flex;gap:.4rem;}
.mod-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.4rem;margin-bottom:1rem;display:flex;align-items:flex-start;gap:1.2rem;}
.mod-icon{width:46px;height:46px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;}
.mod-icon.review{background:rgba(251,191,36,.12);}
.mod-icon.service{background:rgba(108,99,255,.12);}
.mod-icon.report{background:rgba(255,101,132,.1);}
.mod-info{flex:1;}
.mod-title{font-weight:600;font-size:.9rem;margin-bottom:.2rem;}
.mod-sub{color:var(--muted);font-size:.82rem;margin-bottom:.7rem;}
.mod-actions{display:flex;gap:.5rem;}
.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;}
.cat-card{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:1.3rem;display:flex;align-items:center;gap:1rem;transition:border-color .2s;}
.cat-card:hover{border-color:var(--accent);}
.cat-actions{margin-left:auto;display:flex;gap:.4rem;}
.analytics-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem;}

/* AUTH MODAL */
.modal-overlay{display:none;position:fixed;inset:0;z-index:1000;background:rgba(0,0,0,.75);backdrop-filter:blur(10px);align-items:center;justify-content:center;padding:1rem;}
.modal-overlay.active{display:flex;}
.modal{background:var(--surface2);border:1px solid var(--border);border-radius:22px;padding:2.5rem;width:100%;max-width:480px;animation:modalIn .3s ease;position:relative;}
.modal-close{position:absolute;top:1rem;right:1rem;background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.5rem;line-height:1;transition:color .2s;}
.modal-close:hover{color:var(--text);}
.modal-tabs{display:flex;background:var(--bg);border-radius:10px;padding:4px;margin-bottom:2rem;}
.modal-tab{flex:1;text-align:center;padding:.6rem;border-radius:8px;cursor:pointer;font-size:.9rem;color:var(--muted);transition:all .2s;border:none;background:none;font-family:"DM Sans",sans-serif;}
.modal-tab.active{background:var(--accent);color:#fff;font-weight:600;}
.modal-title{font-family:"Syne",sans-serif;font-size:1.4rem;font-weight:800;margin-bottom:.3rem;}
.modal-sub{color:var(--muted);font-size:.9rem;margin-bottom:1.8rem;}
.modal-actions{display:flex;gap:.8rem;margin-top:1.2rem;}
.role-selector{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-bottom:1.8rem;}
.role-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1.4rem .75rem;border-radius:14px;border:1px solid var(--border);background:var(--bg);cursor:pointer;transition:all .2s;text-align:center;min-height:110px;}
.role-btn:hover{border-color:var(--accent);background:rgba(108,99,255,.06);transform:translateY(-2px);}
.role-btn.active{border-color:var(--accent);background:rgba(108,99,255,.15);box-shadow:0 0 0 3px rgba(108,99,255,.12);}
.role-icon{font-size:2.2rem;transition:transform .2s;line-height:1;}
.role-btn.active .role-icon{transform:scale(1.15);}
.role-name{font-family:"Syne",sans-serif;font-size:.88rem;font-weight:700;color:var(--text);}
.role-desc{font-size:.72rem;color:var(--muted);line-height:1.3;}
.stars-select{display:flex;gap:.5rem;margin-bottom:1.5rem;}
.star{font-size:2rem;cursor:pointer;opacity:.3;transition:all .15s;}
.star.active{opacity:1;}

/* CONTACTS */
.contacts-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:4rem;align-items:start;}
.info-blocks{display:flex;flex-direction:column;gap:1.5rem;}
.info-block{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:1.5rem;display:flex;align-items:flex-start;gap:1rem;}
.info-icon{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:1.3rem;flex-shrink:0;}
.info-icon.purple{background:rgba(108,99,255,.15);}
.info-icon.pink{background:rgba(255,101,132,.15);}
.info-icon.green{background:rgba(67,233,123,.15);}
.info-title{font-family:"Syne",sans-serif;font-weight:700;margin-bottom:.2rem;}
.info-text{color:var(--muted);font-size:.9rem;line-height:1.6;}
.contact-form{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:2.5rem;}
.btn-send{width:100%;background:var(--accent);color:#fff;border:none;border-radius:12px;padding:1rem;font-family:"Syne",sans-serif;font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;}
.btn-send:hover{background:#7c74ff;transform:translateY(-1px);}

/* ANIMATIONS */
@keyframes fadeUp{from{opacity:0;transform:translateY(24px);}to{opacity:1;transform:translateY(0);}}
@keyframes modalIn{from{opacity:0;transform:scale(.95) translateY(20px);}to{opacity:1;transform:scale(1) translateY(0);}}
@keyframes pop{from{opacity:0;transform:scale(.8);}to{opacity:1;transform:scale(1);}}

/* RESPONSIVE */
@media(max-width:1024px){.two-cols{grid-template-columns:1fr;}.analytics-grid{grid-template-columns:1fr;}.service-layout{grid-template-columns:1fr;}.booking-panel{position:static;}.contacts-layout{grid-template-columns:1fr;gap:2rem;}}
@media(max-width:900px){.sidebar{transform:translateX(-100%);}.sidebar-main{margin-left:0;}.schedule-grid{grid-template-columns:repeat(4,1fr);}}
@media(max-width:768px){nav{padding:1rem 1.5rem;}.nav-links{display:none;}.hero{padding:6rem 1.5rem 3rem;}.hero-stats{gap:1.5rem;}.section{padding:3rem 1.5rem;}.search-section{padding:1.5rem;}.search-bar{flex-direction:column;}.search-divider{display:none;}footer{padding:2rem 1.5rem;}.content{flex-direction:column;padding:1.5rem;}.filters{width:100%;}.page-header{padding:6rem 1.5rem 2rem;}.main{padding:6rem 1.5rem 3rem;}.sidebar-main{padding:1.5rem;}.role-selector{grid-template-columns:1fr 1fr;}}

/* Date grid scroll for 14 days */
.date-grid { overflow-x: auto; scrollbar-width: thin; scrollbar-color: var(--border) transparent; }
.date-grid::-webkit-scrollbar { height: 4px; }
.date-grid::-webkit-scrollbar-track { background: transparent; }
.date-grid::-webkit-scrollbar-thumb { background: var(--border); border-radius: 2px; }
.date-btn.past { opacity: 0.3 !important; cursor: not-allowed !important; pointer-events: none !important; }

/* ============================================================
   СВІТЛА ТЕМА
   ============================================================ */
body.light {
  --bg: #f5f5fa;
  --surface: #ffffff;
  --surface2: #ebebf5;
  --accent: #6c63ff;
  --accent2: #ff6584;
  --accent3: #22c55e;
  --text: #1a1a2e;
  --muted: #6b7280;
  --border: #dde1f0;
  --card: #ffffff;
}
body.light nav {
  background: rgba(245,245,250,.92);
  box-shadow: 0 1px 8px rgba(0,0,0,.08);
}
body.light .sidebar {
  background: #ffffff;
  box-shadow: 2px 0 12px rgba(0,0,0,.06);
}
body.light .modal {
  background: #ffffff;
  box-shadow: 0 20px 60px rgba(0,0,0,.15);
}
body.light .search-bar {
  background: #ffffff;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}
body.light .service-card:hover,
body.light .category-card:hover { box-shadow: 0 8px 24px rgba(108,99,255,.15); }
body.light .hero-bg {
  background:
    radial-gradient(ellipse 60% 50% at 70% 40%, rgba(108,99,255,.1) 0%, transparent 70%),
    radial-gradient(ellipse 40% 40% at 20% 70%, rgba(255,101,132,.08) 0%, transparent 60%);
}
body.light footer { background: #ffffff; }

/* Перемикач теми */
.theme-toggle {
  width: 40px; height: 22px; border-radius: 11px;
  background: var(--border); border: none; cursor: pointer;
  position: relative; transition: background .3s; flex-shrink: 0;
  padding: 0;
}
.theme-toggle::after {
  content: ""; position: absolute;
  top: 3px; left: 3px;
  width: 16px; height: 16px; border-radius: 50%;
  background: var(--muted); transition: all .3s;
}
body.light .theme-toggle { background: var(--accent); }
body.light .theme-toggle::after {
  left: 21px; background: #fff;
}
.theme-toggle-wrap {
  display: flex; align-items: center; gap: .6rem;
  font-size: .8rem; color: var(--muted);
}

/* Картки послуг у світлій темі */
body.light .beauty-bg { background: linear-gradient(135deg, #ffe4e8, #ffd6e8); }
body.light .home-bg   { background: linear-gradient(135deg, #e8e4ff, #d6d0ff); }
body.light .auto-bg   { background: linear-gradient(135deg, #d4f5e2, #c0efd4); }
body.light .service-img { border: 1px solid var(--border); }

/* Сайдбар у світлій темі */
body.light .user-info  { background: #f5f5fa; }
body.light .nav-item:hover { background: #f0eeff; }
body.light .nav-item.active { background: rgba(108,99,255,.1); }

/* Картки у світлій темі */
body.light .filter-card,
body.light .section-card,
body.light .booking-item,
body.light .stat-card,
body.light .chart-card,
body.light .table-card,
body.light .review,
body.light .master-card,
body.light .booking-card { box-shadow: 0 2px 8px rgba(0,0,0,.06); }

/* Сортування і вибір у світлій темі */
body.light .sort-select,
body.light .form-input,
body.light .form-select,
body.light .form-textarea,
body.light .price-input { background: #ffffff; color: var(--text); }

body.light .subcats .subcat { background: #ffffff; }
body.light .date-btn,
body.light .time-btn { background: #f5f5fa; }

/* Модалка у світлій темі */
body.light .modal-tabs { background: #f5f5fa; }
body.light .role-btn   { background: #f5f5fa; }

/* Герой у світлій темі */
body.light .hero { background: linear-gradient(135deg, #f5f5fa, #ede8ff); }

/* Пошук */
body.light .search-section { background: #f0f0fa; }

/* Запобігаємо миганню теми при завантаженні */
body { transition: background-color .2s, color .2s; }
body.light { transition: background-color .2s, color .2s; }

/* Перемикач без затримки */
.theme-toggle, .theme-toggle::after {
  transition: background .2s, left .2s !important;
}

/* Page header у світлій темі */
body.light .page-header,
body.light .beauty-header,
body.light .home-header,
body.light .auto-header {
  background: linear-gradient(135deg, #f0eeff 0%, #e8e4ff 50%, #f0eeff 100%) !important;
  border-bottom: 1px solid var(--border);
}
body.light .page-title { color: var(--text); }
body.light .breadcrumb a,
body.light .breadcrumb span { color: var(--muted); }

/* ============================================================
   ТЕМА через

/* ============================================================
   СВІТЛА ТЕМА — всі стилі через html.light і :root override
   ============================================================ */

/* CSS змінні для світлої теми — застосовуються через JS */
html.light {
  --bg:      #f5f5fa;
  --surface: #ffffff;
  --surface2:#ebebf5;
  --text:    #1a1a2e;
  --muted:   #6b7280;
  --border:  #dde1f0;
  --card:    #ffffff;
  background: #f5f5fa;
  color: #1a1a2e;
}
html.light body {
  background: #f5f5fa;
  color: #1a1a2e;
}

/* Навбар */
html.light nav {
  background: rgba(255,255,255,.95) !important;
  border-color: #dde1f0;
  box-shadow: 0 1px 8px rgba(0,0,0,.08);
}
html.light .logo { color: #1a1a2e; }
html.light .nav-links a { color: #6b7280; }
html.light .nav-links a:hover { color: #1a1a2e; }

/* Герой */
html.light .hero {
  background: linear-gradient(135deg, #f5f5fa, #ede8ff) !important;
}
html.light .hero h1 { color: #1a1a2e !important; }
html.light .hero h1 em { color: var(--accent) !important; }
html.light .hero p { color: #4a4a6a !important; }
html.light .hero-badge { color: var(--accent); background: rgba(108,99,255,.1); border-color: rgba(108,99,255,.25); }
html.light .stat-num { color: #1a1a2e !important; }
html.light .stat-label { color: #6b7280 !important; }

/* Пошук */
html.light .search-section { background: #f0eeff; border-color: #dde1f0; }
html.light .search-bar { background: #fff; border-color: #dde1f0; }
html.light .search-field input,
html.light .search-field select { color: #1a1a2e; }
html.light .search-field svg { color: #6b7280; }

/* Page header */
html.light .page-header   { background: linear-gradient(135deg,#f0eeff,#e8e4ff) !important; border-color: #dde1f0; }
html.light .beauty-header { background: linear-gradient(135deg,#fff0f5,#ffe4ef) !important; }
html.light .home-header   { background: linear-gradient(135deg,#f0eeff,#e8e4ff) !important; }
html.light .auto-header   { background: linear-gradient(135deg,#f0fff5,#e0ffec) !important; }
html.light .page-title, html.light .page-sub { color: #1a1a2e; }
html.light .breadcrumb a, html.light .breadcrumb span { color: #6b7280; }

/* Секції */
html.light .section-label { color: var(--accent); }
html.light .section-title { color: #1a1a2e; }
html.light .how-bg { background: #f0eeff; }
html.light .step-num { background: rgba(108,99,255,.1); border-color: rgba(108,99,255,.2); }
html.light .step h3 { color: #1a1a2e; }
html.light .step p { color: #6b7280; }

/* Категорії */
html.light .category-card { background: #fff; border-color: #dde1f0; }
html.light .cat-title { color: #1a1a2e; }
html.light .cat-desc { color: #6b7280; }

/* Картки послуг */
html.light .service-card { background: #fff; border-color: #dde1f0; }
html.light .service-name { color: #1a1a2e; }
html.light .service-master, html.light .reviews { color: #6b7280; }
html.light .service-price { color: #1a1a2e; }
html.light .beauty-bg { background: linear-gradient(135deg,#ffe4e8,#ffd6e8); }
html.light .home-bg   { background: linear-gradient(135deg,#e8e4ff,#d6d0ff); }
html.light .auto-bg   { background: linear-gradient(135deg,#d4f5e2,#c0efd4); }

/* Підкатегорії і сортування */
html.light .subcat { background: #fff; border-color: #dde1f0; color: #6b7280; }
html.light .subcat.active, html.light .subcat:hover { background: rgba(108,99,255,.1); border-color: var(--accent); color: var(--accent); }
html.light .sort-select { background: #fff; border-color: #dde1f0; color: #1a1a2e; }
html.light .results-count { color: #6b7280; }

/* Форми */
html.light .form-input, html.light .form-select, html.light .form-textarea, html.light .price-input {
  background: #f5f5fa; border-color: #dde1f0; color: #1a1a2e;
}
html.light .form-label, html.light .form-label-main { color: #6b7280; }

/* Сторінка послуги */
html.light .service-hero { border-color: #dde1f0; }
html.light .service-title { color: #1a1a2e; }
html.light .service-desc { color: #4a4a6a; }
html.light .include-item { color: #1a1a2e; }
html.light .tag { background: #f0eeff; border-color: #dde1f0; color: #6b7280; }
html.light .master-card { background: #fff; border-color: #dde1f0; }
html.light .master-name { color: #1a1a2e; }
html.light .master-exp { color: #6b7280; }
html.light .review { background: #fff; border-color: #dde1f0; }
html.light .reviewer { color: #1a1a2e; }
html.light .review-text { color: #4a4a6a; }
html.light .review-date { color: #9ca3af; }
html.light .booking-card { background: #fff; border-color: #dde1f0; }
html.light .booking-summary { background: #f5f5fa; }
html.light .summary-label { color: #6b7280; }
html.light .date-btn { background: #f5f5fa; border-color: #dde1f0; color: #1a1a2e; }
html.light .time-btn { background: #f5f5fa; border-color: #dde1f0; color: #1a1a2e; }
html.light .step-indicator .step-line { background: #dde1f0; }
html.light .step-dot.pending { background: #f5f5fa; border-color: #dde1f0; color: #6b7280; }

/* Сайдбар кабінету */
html.light .sidebar { background: #fff !important; border-color: #dde1f0; box-shadow: 2px 0 12px rgba(0,0,0,.06); }
html.light .sidebar .logo { color: #1a1a2e; }
html.light .user-info { background: #f5f5fa; border-color: #dde1f0; }
html.light .user-name { color: #1a1a2e; }
html.light .user-role { color: #6b7280; }
html.light .nav-section { color: #9ca3af; }
html.light .nav-item { color: #6b7280; }
html.light .nav-item:hover { background: #f0eeff; color: #1a1a2e; }
html.light .nav-item.active { background: rgba(108,99,255,.1); color: var(--accent); border-color: rgba(108,99,255,.2); }
html.light .btn-logout { color: #6b7280; }
html.light .btn-logout:hover { color: var(--accent2); }
html.light .sidebar-footer { border-color: #dde1f0; }

/* Картки кабінету */
html.light .stat-card { background: #fff; border-color: #dde1f0; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
html.light .stat-value { color: #1a1a2e; }
html.light .stat-label { color: #6b7280; }
html.light .section-card { background: #fff; border-color: #dde1f0; }
html.light .section-title { color: #1a1a2e; }
html.light .booking-item { background: #fff; border-color: #dde1f0; }
html.light .booking-name { color: #1a1a2e; }
html.light .booking-meta { color: #6b7280; }
html.light .profile-form, html.light #profileTab { background: #fff; border-color: #dde1f0; }

/* Модалка */
html.light .modal-overlay { background: rgba(0,0,0,.5); }
html.light .modal { background: #fff; border-color: #dde1f0; box-shadow: 0 20px 60px rgba(0,0,0,.15); }
html.light .modal-tabs { background: #f5f5fa; }
html.light .modal-title { color: #1a1a2e; }
html.light .modal-sub { color: #6b7280; }
html.light .modal-tab { color: #6b7280; }
html.light .role-btn { background: #f5f5fa; border-color: #dde1f0; }
html.light .role-name { color: #1a1a2e; }
html.light .role-desc { color: #6b7280; }

/* Контакти */
html.light .contact-form { background: #fff; border-color: #dde1f0; }
html.light .info-block { background: #fff; border-color: #dde1f0; }
html.light .info-title { color: #1a1a2e; }
html.light .info-text { color: #6b7280; }

/* Footer */
html.light footer { background: #fff; border-color: #dde1f0; }
html.light .footer-links a { color: #6b7280; }
html.light .footer-links a:hover { color: #1a1a2e; }
html.light .footer-copy { color: #9ca3af; }

/* Тумблер */
html.light .theme-toggle { background: var(--accent) !important; }
html.light .theme-toggle::after { left: 21px !important; background: #fff !important; }
html.light .theme-toggle-wrap span { color: #6b7280; }

/* Кнопки */
html.light .btn-ghost { color: #6b7280; border-color: #dde1f0; }
html.light .btn-ghost:hover { color: #1a1a2e; border-color: var(--accent); }

/* Зелений статус для майбутніх бронювань постачальника */
.status-upcoming-green {
  background: rgba(52,211,153,.12);
  color: #34d399;
  border: 1px solid rgba(52,211,153,.3);
  padding: .25rem .8rem;
  border-radius: 100px;
  font-size: .75rem;
  font-weight: 600;
}

/* Фіолетовий статус "Скасовано" для постачальника */
.status-cancelled-purple {
  background: rgba(108,99,255,.15);
  color: var(--accent);
  border: 1px solid rgba(108,99,255,.3);
  padding: .25rem .8rem;
  border-radius: 100px;
  font-size: .75rem;
  font-weight: 600;
}

/* Фіолетовий статус "Майбутній" для постачальника */
.status-upcoming-purple {
  background: rgba(108,99,255,.15);
  color: var(--accent);
  border: 1px solid rgba(108,99,255,.3);
  padding: .25rem .8rem;
  border-radius: 100px;
  font-size: .75rem;
  font-weight: 600;
}

/* Статус "На розгляді" (суперечка) */
.status-disputed {
  background: rgba(251,191,36,.12);
  color: #fbbf24;
  border: 1px solid rgba(251,191,36,.3);
  padding: .25rem .8rem;
  border-radius: 100px;
  font-size: .75rem;
  font-weight: 600;
}
