:root{
  --sz-ink:#292331;
  --sz-purple:#6a35b1;
  --sz-purple-dark:#4f248e;
  --sz-lilac:#f3edf8;
  --sz-lime:#dfff55;
  --sz-lime-soft:#f4ffc7;
  --sz-bg:#f8f6f2;
  --sz-card:#ffffff;
  --sz-line:#e8e0ec;
  --sz-muted:#746c79;
  --sz-shadow:0 18px 48px rgba(52,35,62,.08);
}
body{background:var(--sz-bg)!important;color:var(--sz-ink)!important}

/* universal controls */
.btn-primary,.btn-secondary,.btn-danger,.btn-small,.btn{
  font-family:inherit!important;font-weight:850!important;letter-spacing:-.01em;
  border-radius:13px!important;transition:.16s ease!important;text-decoration:none!important;
}
.btn-primary{
  background:var(--sz-ink)!important;color:#fff!important;border:1px solid var(--sz-ink)!important;
  box-shadow:none!important;
}
.btn-primary:hover{background:var(--sz-purple)!important;border-color:var(--sz-purple)!important;transform:translateY(-1px)}
.btn-secondary{background:#fff!important;color:var(--sz-ink)!important;border:1px solid var(--sz-line)!important}
.btn-secondary:hover{border-color:#cdbbd8!important;background:var(--sz-lilac)!important}
.btn-danger{border-radius:12px!important}
.input,input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],input[type=url],select,textarea{
  border:1px solid #ddd3e2!important;border-radius:13px!important;background:#fff!important;color:var(--sz-ink)!important;
  box-shadow:none!important;outline:none!important;
}
.input:focus,input:focus,select:focus,textarea:focus{border-color:var(--sz-purple)!important;box-shadow:0 0 0 4px rgba(106,53,177,.08)!important}
label{color:#3c3442}
.alert{border:1px solid transparent!important;border-radius:14px!important;box-shadow:none!important}
.alert-success{background:#effadf!important;color:#315c15!important;border-color:#d7ecbd!important}
.alert-error{background:#fff0ef!important;color:#8f2d28!important;border-color:#f1d0cd!important}

/* owner pages */
.dashboard,.dash,.wrap{width:min(calc(100% - 32px),1120px)!important;margin:34px auto 64px!important;padding:0!important}
.dashboard-header,.head{
  display:flex!important;justify-content:space-between!important;align-items:flex-end!important;gap:18px!important;
  margin:0 0 20px!important;padding:0 2px!important;
}
.dashboard-header h1,.head h1,.wrap>h1{font-size:clamp(27px,4vw,38px)!important;letter-spacing:-1.2px!important;margin:0 0 5px!important;color:var(--sz-ink)!important}
.dashboard-header p,.head p{color:var(--sz-muted)!important;margin:0!important;line-height:1.5!important}
.card,.hours-card,.closure-card,.services-layout>*,.appointments-card,.media-card,.panel,.authbox,.box:not(.pwa-box),.form-box{
  border:1px solid var(--sz-line)!important;border-radius:22px!important;background:#fff!important;box-shadow:var(--sz-shadow)!important;
}
.card,.hours-card,.closure-card,.appointments-card,.media-card,.panel{padding:22px!important}
.hint,.help,.muted,.meta{color:var(--sz-muted)!important}

/* forms */
.form-grid{gap:15px!important}.field{margin-bottom:13px!important}.field label,.field-label{font-size:13px!important;font-weight:900!important;margin-bottom:6px!important;display:block!important}
.submit-row,.savebar{border-top:1px solid #eee8f1!important;padding-top:18px!important;margin-top:18px!important}

/* services / closures */
.service-item,.closure-item{
  border:1px solid #ece4ef!important;border-radius:17px!important;background:#fff!important;padding:16px!important;margin-bottom:10px!important;
  box-shadow:none!important;
}
.service-item:hover,.closure-item:hover{border-color:#d7c6e1!important;background:#fdfbfe!important}
.badge-active{background:#efe9f6!important;color:#58318f!important}.badge-inactive{background:#f2eef4!important;color:#756a7b!important}
.empty{border:1px dashed #d9ccdf!important;border-radius:18px!important;background:#fbf9fc!important;color:var(--sz-muted)!important}

/* opening hours */
.hours-row{border-bottom:1px solid #eee8f1!important;padding:14px 0!important}.hours-row:last-child{border-bottom:0!important}
.day-name{font-weight:900!important;color:var(--sz-ink)!important}.open-toggle{background:var(--sz-lilac)!important;border-radius:999px!important;padding:7px 10px!important}

/* settings */
.panel{margin-bottom:14px!important}.panel .row{border-bottom:1px solid #eee8f1!important;padding:16px 0!important;gap:20px!important}.panel .row:last-child{border-bottom:0!important}
.toggle{background:var(--sz-lilac)!important;border:1px solid #e1d3e8!important;border-radius:999px!important;padding:8px 11px!important}
.danger-soft{background:#fffafa!important}
.mini{border-radius:11px!important}.mini.dark{background:var(--sz-ink)!important;color:#fff!important}

/* gallery */
.media-grid,.gallery-grid,.preview-grid{gap:14px!important}.gallery-item,.media-card{border-radius:18px!important;overflow:hidden!important}.logo-preview{border-radius:18px!important;border:1px solid var(--sz-line)!important;background:#fff!important}

/* appointments */
.stats-grid{gap:11px!important}.stat-card{border:1px solid var(--sz-line)!important;border-radius:17px!important;background:#fff!important;box-shadow:none!important}
.filters,.search-row{background:#fff!important;border:1px solid var(--sz-line)!important;border-radius:18px!important;padding:12px!important}
.filters a{border-radius:999px!important}.filters a.active{background:var(--sz-ink)!important;color:#fff!important}
.appointments-table{border-radius:18px!important;overflow:hidden!important;border:1px solid var(--sz-line)!important}
.status-badge{border-radius:999px!important}

/* auth */
.form-page,.authone,.one{width:min(calc(100% - 30px),480px)!important;margin:54px auto!important;padding:0!important}
.form-box,.authbox,.one>.box{padding:28px!important}
.form-box h1,.authbox h1,.one>.box h1{letter-spacing:-.8px!important}
.form-box .btn-primary,.authbox .btn-primary,.authbox button,.one>.box button{width:100%!important;padding:13px 16px!important}
.auth{width:min(calc(100% - 32px),980px)!important;margin:48px auto!important;padding:0!important;gap:18px!important}
.auth .pitch{background:linear-gradient(145deg,var(--sz-purple-dark),var(--sz-purple))!important;border-radius:24px!important;position:relative!important;overflow:hidden!important}
.auth .pitch:after{content:"";position:absolute;width:190px;height:190px;border-radius:50%;background:var(--sz-lime);right:-70px;bottom:-80px;opacity:.95}
.auth .box{border:1px solid var(--sz-line)!important;border-radius:24px!important;box-shadow:var(--sz-shadow)!important}

/* onboarding */
.progress i{background:#e7ddea!important}.progress i.on{background:var(--sz-lime)!important;box-shadow:inset 0 0 0 1px #c9df3c!important}
.wrap .card{border-radius:24px!important}.day{border-bottom:1px solid #eee8f1!important}
.actions>span{color:var(--sz-muted)!important;font-size:13px!important}

/* public search/category */
.search-box,.search-card,.owner-demo-box,.no-results-box{border:1px solid var(--sz-line)!important;border-radius:22px!important;box-shadow:var(--sz-shadow)!important;background:#fff!important}
.studio-card{border-color:var(--sz-line)!important;border-radius:20px!important}.studio-avatar{background:var(--sz-lilac)!important;color:var(--sz-purple)!important}

/* public studio & booking */
.book-wrap{width:min(calc(100% - 28px),820px)!important;margin:34px auto 60px!important}
.book-card{border:1px solid var(--sz-line)!important;border-radius:24px!important;box-shadow:var(--sz-shadow)!important}
.book-head{background:linear-gradient(145deg,var(--sz-purple-dark),var(--sz-purple))!important;position:relative!important;overflow:hidden!important}
.book-head:after{content:"";position:absolute;width:130px;height:130px;border-radius:50%;background:var(--sz-lime);right:-45px;top:-55px;opacity:.95}
.service-box{border:1px solid var(--sz-line)!important;background:#fbf9fc!important;border-radius:17px!important}
.slot-btn{border:1px solid #d9cce0!important;border-radius:12px!important;background:#fff!important;color:var(--sz-ink)!important}
.slot-btn:hover,.slot-active{background:var(--sz-ink)!important;color:#fff!important;border-color:var(--sz-ink)!important}

@media(max-width:760px){
  .dashboard,.dash,.wrap{width:min(calc(100% - 24px),1120px)!important;margin-top:24px!important}
  .dashboard-header,.head{align-items:flex-start!important;flex-direction:column!important}
  .dashboard-header>div:last-child,.head>div:last-child{width:100%!important;display:flex!important;gap:8px!important;flex-wrap:wrap!important}
  .card,.hours-card,.closure-card,.appointments-card,.media-card,.panel{padding:17px!important;border-radius:18px!important}
  .auth{width:min(calc(100% - 24px),980px)!important}
  .auth .box{padding:24px!important}
  .panel .row{align-items:flex-start!important;flex-direction:column!important}
}

/* 2026-08 UX polish: clear card boundaries and calmer owner UI */
.services-layout{gap:18px!important;align-items:start!important}
.services-layout .service-card{padding:24px!important;border:1px solid var(--sz-line)!important;border-radius:20px!important;background:#fff!important;box-shadow:var(--sz-shadow)!important;overflow:hidden!important}
.services-layout .service-item{padding:17px!important;margin-bottom:12px!important}
.services-layout .service-form{padding:0!important;margin:0!important}
.services-layout .field-label{margin-top:4px!important}
.dashboard .stat-card{border:1px solid var(--sz-line)!important;background:#fff!important}
.dashboard .filters a{background:#f5f2f6!important;color:var(--sz-ink)!important}
.dashboard .filters a.active{background:var(--sz-ink)!important;color:#fff!important}
@media(max-width:760px){
  .services-layout .service-card{padding:18px!important;border-radius:18px!important}
}
