/* SVIVI Места: online-booking and appointment management.
   Client-side look only; appointment workflow and business accent are preserved. */
body.svivi-booking-ui,body.svivi-booking-manage-ui{
  --book-bg:#f5f7f5;--book-card:#fff;--book-subtle:#f0f4f0;
  --book-border:#dce5dd;--book-text:#25382d;--book-muted:#617569;
  --book-hover:#eef5ee;
  font-family:Arial,Helvetica,sans-serif;
  background:var(--book-bg)!important;color:var(--book-text)!important;
  -webkit-font-smoothing:antialiased;
}
html[data-theme="dark"] body.svivi-booking-ui,
html[data-theme="dark"] body.svivi-booking-manage-ui{
  --book-bg:#0f1216;--book-card:#171b21;--book-subtle:#20262e;
  --book-border:#2d3540;--book-text:#eef2f7;--book-muted:#aebac7;
  --book-hover:#27313c;
  background:var(--book-bg)!important;color:var(--book-text)!important;
}
body.svivi-booking-ui :is(h1,h2,h3),
body.svivi-booking-manage-ui :is(h1,h2,h3){font-weight:700;letter-spacing:-.02em;color:var(--book-text)!important}
body.svivi-booking-ui .shell{
  width:min(780px,calc(100% - 26px));min-height:100vh;
  margin:0 auto;background:transparent!important;box-shadow:none!important;
}
body.svivi-booking-ui .screen{
  min-height:calc(100vh - 28px);margin:14px 0;
  border:1px solid var(--book-border);
  border-radius:17px;overflow:hidden;
  background:var(--book-card)!important;color:var(--book-text)!important;
}
body.svivi-booking-ui .top-cover{height:290px}
body.svivi-booking-ui .hero-card{
  background:var(--book-card)!important;color:var(--book-text)!important;
  border-radius:20px 20px 0 0;padding:0 26px 36px;
}
body.svivi-booking-ui .salon-title{font-size:27px;font-weight:700}
body.svivi-booking-ui .salon-type,
body.svivi-booking-ui .branch-public-meta :is(span,a),
body.svivi-booking-ui .hint,
body.svivi-booking-ui .confirm-card,
body.svivi-booking-ui .review-card,
body.svivi-booking-ui .review-empty,
body.svivi-booking-ui .success-card,
body.svivi-booking-ui .success-email{
  background:var(--book-subtle)!important;color:var(--book-text)!important;
  border:1px solid var(--book-border)!important;border-radius:11px;
}
body.svivi-booking-ui .salon-type{font-weight:650}
body.svivi-booking-ui .address,
body.svivi-booking-ui .row-value,
body.svivi-booking-ui .head-salon span,
body.svivi-booking-ui .service-meta,
body.svivi-booking-ui .master-pos,
body.svivi-booking-ui .hint,
body.svivi-booking-ui .review-date,
body.svivi-booking-ui .review-text,
body.svivi-booking-ui .success-label,
body.svivi-booking-ui .consent{
  color:var(--book-muted)!important;
}
body.svivi-booking-ui .home-menu{margin-top:23px}
body.svivi-booking-ui .home-row{
  padding:16px 8px;border-bottom:1px solid var(--book-border)!important;
  background:var(--book-card)!important;color:var(--book-text)!important;
}
body.svivi-booking-ui .home-row:hover,
body.svivi-booking-ui .review-promo:hover,
body.svivi-booking-ui .service-item:hover{
  background:var(--book-hover)!important;color:var(--book-text)!important;
}
body.svivi-booking-ui .row-title,
body.svivi-booking-ui .service-name,
body.svivi-booking-ui .master-name{color:var(--book-text)!important;font-weight:650}
body.svivi-booking-ui .row-icon{
  background:var(--book-subtle)!important;color:var(--book-text)!important;
  border:1px solid var(--book-border);border-radius:12px;
}
body.svivi-booking-ui .chev{color:var(--book-muted)!important}
body.svivi-booking-ui :is(.review-promo,.review-summary){
  background:var(--book-card)!important;border:1px solid var(--book-border)!important;
  color:var(--book-text)!important;border-radius:13px;box-shadow:none;
}
body.svivi-booking-ui .review-promo-title,
body.svivi-booking-ui .review-score{color:var(--book-text)!important}
body.svivi-booking-ui .review-promo-icon{background:var(--book-subtle)!important;color:var(--book-text)!important}
body.svivi-booking-ui .client-promo{border-radius:13px;background:#274b38}
body.svivi-booking-ui .client-promo :is(.client-promo-title,.client-promo-sub,.client-benefits span){color:#fff!important}
body.svivi-booking-ui .client-promo-icon{border-radius:11px}
body.svivi-booking-ui .page-head{
  background:var(--book-card)!important;
  border-bottom:1px solid var(--book-border)!important;
}
body.svivi-booking-ui .content{padding:22px 23px 110px;color:var(--book-text)!important}
body.svivi-booking-ui .chip,
body.svivi-booking-ui .near-slot,
body.svivi-booking-ui .slot{
  border:1px solid var(--book-border)!important;
  border-radius:10px;background:var(--book-subtle)!important;color:var(--book-text)!important;
  font-weight:650;
}
body.svivi-booking-ui .chip:hover,
body.svivi-booking-ui .near-slot:hover,
body.svivi-booking-ui .slot:hover{
  border-color:var(--accent)!important;background:var(--book-hover)!important;
  color:var(--book-text)!important;
}
body.svivi-booking-ui .chip.active,
body.svivi-booking-ui .slot.active{
  background:var(--accent)!important;color:#fff!important;border-color:var(--accent)!important;
}
body.svivi-booking-ui :is(.service-item,.master-item){
  background:var(--book-card)!important;
  color:var(--book-text)!important;border-color:var(--book-border)!important;
}
body.svivi-booking-ui :is(.calendar-wrap,.bottom-bar){
  background:var(--book-card)!important;color:var(--book-text)!important;
  border-color:var(--book-border)!important;box-shadow:none!important;
}
body.svivi-booking-ui .calendar-wrap{border:1px solid var(--book-border)!important;border-radius:13px;margin:8px 0 23px}
body.svivi-booking-ui .day,
body.svivi-booking-ui .cal-arrow{background:var(--book-card)!important;color:var(--book-text)!important}
body.svivi-booking-ui .day.selected{background:var(--accent)!important;color:#fff!important}
body.svivi-booking-ui .day.past,
body.svivi-booking-ui .day.unavailable{color:var(--book-muted)!important;opacity:.5}
body.svivi-booking-ui :is(input,textarea,select){
  background:var(--book-card)!important;
  border-color:var(--book-border)!important;
  color:var(--book-text)!important;-webkit-text-fill-color:var(--book-text)!important;
}
body.svivi-booking-ui .review-avatar{background:var(--book-subtle)!important;color:var(--book-text)!important}
body.svivi-booking-ui .success-screen{background:var(--book-card)!important}
body.svivi-booking-ui .success-lead,
body.svivi-booking-ui .success-value{color:var(--book-text)!important}
body.svivi-booking-manage-ui .wrap{width:min(760px,calc(100% - 24px));margin:15px auto 100px}
body.svivi-booking-manage-ui .head{
  padding:14px 18px;margin:0 0 17px;border:1px solid var(--book-border);
  border-radius:15px;background:var(--book-card)!important;color:var(--book-text)!important;
}
body.svivi-booking-manage-ui .brand{font-size:17px;font-weight:700;color:var(--book-text)!important}
body.svivi-booking-manage-ui .head-home,
body.svivi-booking-manage-ui .action-btn{
  background:var(--book-card)!important;
  border:1px solid var(--book-border)!important;
  color:var(--book-text)!important;border-radius:10px;
  font-weight:650;
}
body.svivi-booking-manage-ui .head-home:hover,
body.svivi-booking-manage-ui .action-btn:hover{
  background:var(--book-hover)!important;border-color:var(--accent)!important;
}
body.svivi-booking-manage-ui .action-btn.active{
  background:var(--book-hover)!important;border-color:var(--accent)!important;color:var(--book-text)!important;
}
body.svivi-booking-manage-ui .card{
  border:1px solid var(--book-border)!important;border-radius:15px;
  background:var(--book-card)!important;color:var(--book-text)!important;
  box-shadow:none!important;padding:23px;
}
body.svivi-booking-manage-ui .card h1{font-weight:700;font-size:23px}
body.svivi-booking-manage-ui .details{background:var(--book-border)!important}
body.svivi-booking-manage-ui .detail{
  background:var(--book-subtle)!important;color:var(--book-text)!important;
}
body.svivi-booking-manage-ui .label,body.svivi-booking-manage-ui .muted,
body.svivi-booking-manage-ui .client,body.svivi-booking-manage-ui .subvalue{
  color:var(--book-muted)!important;
}
body.svivi-booking-manage-ui :is(input,textarea){
  background:var(--book-card)!important;color:var(--book-text)!important;
  -webkit-text-fill-color:var(--book-text)!important;
  border-color:var(--book-border)!important;
}
body.svivi-booking-manage-ui .slot{
  background:var(--book-subtle)!important;color:var(--book-text)!important;
  -webkit-text-fill-color:var(--book-text)!important;border-color:var(--book-border)!important;
}
body.svivi-booking-manage-ui .slot:hover{background:var(--book-hover)!important;border-color:var(--accent)!important}
body.svivi-booking-manage-ui .slot.active{
  background:var(--accent)!important;color:#fff!important;
  -webkit-text-fill-color:#fff!important;border-color:var(--accent)!important;
}
body.svivi-booking-manage-ui #moveDate{
  background:var(--book-card)!important;color:var(--book-text)!important;
  -webkit-text-fill-color:var(--book-text)!important;border-color:var(--book-border)!important;
}
body.svivi-booking-manage-ui .status{background:var(--book-subtle)!important;color:var(--book-text)!important}
body.svivi-booking-manage-ui .status.canceled{background:#fbe6e4!important;color:#a52f29!important}
body.svivi-booking-manage-ui .prepayment-card{
  background:var(--book-subtle)!important;border-color:var(--book-border)!important;
}
body.svivi-booking-manage-ui .secondary{
  background:var(--book-subtle)!important;color:var(--book-text)!important;
  border:1px solid var(--book-border);
}
body.svivi-booking-manage-ui .client-app-nav{
  background:var(--book-card)!important;border-color:var(--book-border)!important;
}
@media(max-width:600px){
  body.svivi-booking-ui .shell{width:100%}
  body.svivi-booking-ui .screen{min-height:100vh;margin:0;border:0;border-radius:0}
  body.svivi-booking-ui .top-cover{height:238px}
  body.svivi-booking-ui .hero-card{padding:0 18px 35px}
  body.svivi-booking-ui .content{padding:16px 16px 105px}
  body.svivi-booking-manage-ui .wrap{width:calc(100% - 18px);margin-top:10px}
  body.svivi-booking-manage-ui .head{padding:12px 13px}
  body.svivi-booking-manage-ui .card{padding:18px}
}
