@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:'Inter',sans-serif;background:#0a0a0a;color:#fff;overflow-x:hidden}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;padding:20px 60px;display:flex;justify-content:space-between;align-items:center;transition:background .3s,border-color .3s;border-bottom:0.5px solid transparent}
.nav.scrolled{background:rgba(10,10,10,.95);backdrop-filter:blur(12px);border-color:rgba(255,255,255,.06)}
.nav-brand{font-size:18px;font-weight:700;letter-spacing:-.5px;color:#fff;text-decoration:none}
.nav-links{display:flex;gap:28px;align-items:center}
.nav-links a{color:rgba(255,255,255,.45);text-decoration:none;font-size:13px;letter-spacing:.04em;transition:color .2s}
.nav-links a:hover{color:#fff}
.nav-cta{background:#fff!important;color:#000!important;padding:8px 20px;border-radius:20px;font-weight:600!important;font-size:12px!important}
.nav-logout{background:transparent;border:0.5px solid rgba(255,255,255,.2);color:rgba(255,255,255,.45);padding:8px 16px;border-radius:20px;font-size:12px;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s}
.nav-logout:hover{color:#fff;border-color:rgba(255,255,255,.5)}

/* HERO */
.site-hero{background:#0d0d0d;padding:140px 60px 80px;display:grid;grid-template-columns:1fr;gap:60px;align-items:center;min-height:100vh}
.hero-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.25);margin-bottom:20px}
.site-h1{font-size:80px;font-weight:700;letter-spacing:-3px;line-height:.95;margin-bottom:24px}
.site-h1 em{font-style:italic;font-weight:300;color:rgba(255,255,255,.5)}
.site-sub{font-size:15px;color:rgba(255,255,255,.4);line-height:1.7;max-width:380px;margin-bottom:36px;font-weight:300}
.site-btn{background:#fff;color:#000;border:none;padding:16px 40px;font-size:13px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;border-radius:40px;text-decoration:none;display:inline-block;transition:opacity .2s}
.site-btn:hover{opacity:.85}
.hero-right{display:flex;flex-direction:column;gap:12px}
.hero-glass{background:rgba(255,255,255,.04);border:.5px solid rgba(255,255,255,.1);border-radius:20px;padding:24px;backdrop-filter:blur(10px)}
.hero-glass-num{font-size:42px;font-weight:700;letter-spacing:-1px}
.hero-glass-label{font-size:12px;color:rgba(255,255,255,.35);margin-top:4px;letter-spacing:.05em;text-transform:uppercase}

/* SERVICES */
.site-services{background:#0a0a0a;padding:80px 60px;border-top:.5px solid rgba(255,255,255,.06)}
.site-sec-label{font-size:11px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.25);margin-bottom:16px}
.site-sec-title{font-size:48px;font-weight:700;letter-spacing:-2px;margin-bottom:48px}
.svc-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.svc-card{background:rgba(255,255,255,.03);border:.5px solid rgba(255,255,255,.07);border-radius:20px;padding:32px;cursor:pointer;transition:background .2s,border-color .2s}
.svc-card:hover{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.15)}
.svc-num{font-size:11px;color:rgba(255,255,255,.2);margin-bottom:20px;letter-spacing:.1em}
.svc-name{font-size:22px;font-weight:600;letter-spacing:-.5px;margin-bottom:10px}
.svc-desc{font-size:13px;color:rgba(255,255,255,.4);line-height:1.6;font-weight:300;margin-bottom:20px}
.svc-price{font-size:16px;font-weight:600}
.svc-arr{font-size:20px;color:rgba(255,255,255,.2);margin-top:12px}

/* BOOKING */
.site-booking{background:#0d0d0d;padding:80px 60px;border-top:.5px solid rgba(255,255,255,.06);display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:start}
.book-title{font-size:48px;font-weight:700;letter-spacing:-2px;margin-bottom:8px}
.book-sub{font-size:14px;color:rgba(255,255,255,.35);font-weight:300;margin-bottom:32px;line-height:1.6}
.book-cal{background:rgba(255,255,255,.04);border:.5px solid rgba(255,255,255,.08);border-radius:20px;padding:28px}
.bc-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}
.bc-month{font-size:18px;font-weight:600;letter-spacing:-.3px}
.bc-nav{display:flex;gap:8px}
.bc-nav button{width:32px;height:32px;background:rgba(255,255,255,.06);border:.5px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;font-size:14px;cursor:pointer}
.bc-dh{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;margin-bottom:6px}
.bc-dh span{text-align:center;font-size:10px;color:rgba(255,255,255,.25);text-transform:uppercase;padding:4px}
.bc-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.bc-d{text-align:center;padding:8px 4px;font-size:12px;cursor:default;border-radius:8px;color:rgba(255,255,255,.2)}
.bc-d.av{color:#fff;font-weight:500;cursor:pointer}
.bc-d.av:hover{background:rgba(255,255,255,.08)}
.bc-d.sel{background:#fff;color:#000;font-weight:700}
.bc-d.emp{opacity:0;pointer-events:none}
.bc-d.past{opacity:.2;pointer-events:none}
.bc-slots-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.25);margin:20px 0 10px}
.bc-slots{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.bc-sl{padding:10px;text-align:center;font-size:12px;font-weight:500;border-radius:10px;background:rgba(255,255,255,.05);border:.5px solid rgba(255,255,255,.08);cursor:pointer;transition:all .2s;color:#fff}
.bc-sl:hover:not(.busy){background:#fff;color:#000;border-color:#fff}
.bc-sl.sel{background:#fff;color:#000;border-color:#fff}
.bc-sl.busy{opacity:.25;cursor:not-allowed}
.bc-no-date{grid-column:1/-1;text-align:center;padding:20px;font-size:13px;color:rgba(255,255,255,.25)}

/* BOOK FORM */
.book-form h3{font-size:28px;font-weight:700;letter-spacing:-.8px;margin-bottom:8px}
.book-form p{font-size:13px;color:rgba(255,255,255,.35);margin-bottom:28px;line-height:1.6}
.bf-group{margin-bottom:16px}
.bf-group label{display:block;font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.3);margin-bottom:8px}
.bf-group input,.bf-group select,.bf-group textarea{width:100%;padding:14px 16px;border:.5px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:#fff;font-family:'Inter',sans-serif;font-size:14px;font-weight:300;border-radius:12px;outline:none;transition:border-color .2s}
.bf-group input:focus,.bf-group select:focus,.bf-group textarea:focus{border-color:rgba(255,255,255,.4)}
.bf-group select option{background:#1a1a1a}
.bf-submit{width:100%;background:#fff;color:#000;border:none;padding:16px;font-family:'Inter',sans-serif;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;margin-top:8px;border-radius:12px;transition:opacity .2s}
.bf-submit:hover{opacity:.85}

.book-msg{padding:12px 16px;border-radius:10px;font-size:13px;margin-bottom:16px}
.book-msg.success{background:rgba(50,200,100,.12);border:.5px solid rgba(50,200,100,.3);color:#5fe89a}
.book-msg.error{background:rgba(255,80,80,.1);border:.5px solid rgba(255,80,80,.3);color:#ff8080}
.book-msg.hidden{display:none}

.book-selected-info{padding:10px 14px;background:rgba(255,255,255,.06);border-radius:8px;font-size:13px;font-weight:500;margin-bottom:12px}
.book-selected-info.hidden{display:none}

/* TG HINT */
.tg-login-hint{background:rgba(40,140,255,.06);border:.5px solid rgba(40,140,255,.2);border-radius:12px;padding:16px;margin-bottom:16px}
.tg-hint-text{font-size:13px;line-height:1.5;color:rgba(255,255,255,.6);margin-bottom:12px}
.tg-hint-text strong{color:#fff}
.tg-manual-link{background:transparent;border:.5px solid rgba(255,255,255,.2);color:rgba(255,255,255,.6);padding:8px 16px;border-radius:8px;font-size:12px;cursor:pointer;font-family:'Inter',sans-serif}
.tg-placeholder{background:rgba(40,140,255,.08);border:.5px dashed rgba(40,140,255,.3);border-radius:8px;padding:14px;text-align:center;font-size:13px;color:rgba(255,255,255,.4)}
.tg-placeholder-icon{font-size:24px;margin-bottom:6px}

/* AUTH PAGE */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:80px 20px}
.auth-card{background:rgba(255,255,255,.03);border:.5px solid rgba(255,255,255,.08);border-radius:24px;padding:48px;width:100%;max-width:460px}
.auth-master-label{font-size:10px;text-transform:uppercase;letter-spacing:.15em;color:rgba(255,255,255,.25);margin-bottom:12px}
.auth-title{font-size:32px;font-weight:700;letter-spacing:-1px;margin-bottom:8px}
.auth-sub{font-size:14px;color:rgba(255,255,255,.35);margin-bottom:28px}
.auth-divider{text-align:center;margin:24px 0;position:relative}
.auth-divider::before{content:'';position:absolute;top:50%;left:0;right:0;height:.5px;background:rgba(255,255,255,.1)}
.auth-divider span{background:#0a0a0a;padding:0 16px;position:relative;font-size:12px;color:rgba(255,255,255,.25)}
.tg-widget-wrap{margin-bottom:8px}
.tg-connected{background:rgba(50,200,100,.1);border:.5px solid rgba(50,200,100,.25);border-radius:10px;padding:12px 16px;font-size:13px;color:#5fe89a;margin-bottom:16px}

/* CABINET */
.cabinet-page{padding:100px 60px 60px;max-width:900px;margin:0 auto}
.cab-header{margin-bottom:40px}
.cab-header h1{font-size:40px;font-weight:700;letter-spacing:-1.5px;margin-bottom:16px}
.tg-connect-banner{background:rgba(40,140,255,.06);border:.5px solid rgba(40,140,255,.2);border-radius:16px;padding:20px}
.cdash-card{background:rgba(255,255,255,.05);border:.5px solid rgba(255,255,255,.1);border-radius:16px;padding:24px;margin-bottom:16px}
.next-appt{border-color:rgba(255,255,255,.2)}
.cdash-card-label{font-size:10px;text-transform:uppercase;letter-spacing:.12em;color:rgba(255,255,255,.3);margin-bottom:10px}
.cdash-card-date{font-size:22px;font-weight:600;margin-bottom:4px}
.cdash-card-svc{font-size:14px;color:rgba(255,255,255,.5)}
.cdash-card-comment{font-size:13px;color:rgba(255,255,255,.35);margin-top:6px}
.cdash-btns{display:flex;gap:8px;margin-top:16px}
.cdb{flex:1;padding:10px;text-align:center;font-size:12px;font-weight:500;border-radius:10px;border:.5px solid rgba(255,255,255,.12);background:transparent;color:#fff;cursor:pointer;font-family:'Inter',sans-serif;transition:all .2s;text-decoration:none;display:inline-block}
.cdb:hover{border-color:rgba(255,255,255,.4)}
.cdb.primary{background:#fff;color:#000;border-color:#fff}
.cab-section{margin-bottom:40px}
.cab-section-title{font-size:24px;font-weight:700;letter-spacing:-.8px;margin-bottom:16px}
.cab-empty{color:rgba(255,255,255,.35);font-size:14px}
.cab-empty a{color:#fff}
.appt-list{display:flex;flex-direction:column;gap:8px}
.appt-row{background:rgba(255,255,255,.04);border:.5px solid rgba(255,255,255,.08);border-radius:12px;padding:16px 20px;display:flex;align-items:center;gap:16px}
.appt-row.status-cancelled{opacity:.5}
.appt-service{font-size:15px;font-weight:500;margin-bottom:3px}
.appt-datetime{font-size:13px;color:rgba(255,255,255,.4)}
.appt-comment{font-size:12px;color:rgba(255,255,255,.3);margin-top:4px}
.appt-status{margin-left:auto;flex-shrink:0}

/* BADGES */
.badge{display:inline-block;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:500}
.badge.confirmed{background:rgba(50,200,100,.12);color:#5fe89a}
.badge.pending{background:rgba(255,200,50,.1);color:#ffc832}
.badge.cancelled{background:rgba(255,80,80,.1);color:#ff8080}
.badge.free-badge{background:rgba(255,255,255,.06);color:rgba(255,255,255,.4)}

/* FOOTER */
footer{background:#0a0a0a;border-top:.5px solid rgba(255,255,255,.06);padding:40px 60px;display:flex;justify-content:space-between;align-items:center}
.footer-brand{font-size:20px;font-weight:700;letter-spacing:-.5px}
.footer-links{display:flex;gap:28px}
.footer-links a{font-size:12px;color:rgba(255,255,255,.3);text-decoration:none;letter-spacing:.08em;text-transform:uppercase;transition:color .2s}
.footer-links a:hover{color:#fff}
.footer-copy{font-size:12px;color:rgba(255,255,255,.2)}

.hidden{display:none!important}

@media(max-width:900px){
  .nav{padding:16px 20px}
  .site-hero,.site-booking{grid-template-columns:1fr;padding:80px 24px 48px}
  .site-services{padding:48px 24px}
  .svc-cards{grid-template-columns:1fr}
  .site-h1{font-size:48px}
  .book-title{font-size:36px}
  footer{padding:28px 24px;flex-direction:column;gap:16px;text-align:center}
  .cabinet-page{padding:80px 20px 40px}
  .bc-slots{grid-template-columns:repeat(3,1fr)}
}
