/* Calas Padel - Figma-inspired mobile booking template patch
   Drop-in override loaded after existing CSS. Keeps all PHP/backend logic unchanged. */
:root{
  --pt-bg:#0b102d;
  --pt-phone:#f7f8fb;
  --pt-ink:#30333d;
  --pt-muted:#7b8290;
  --pt-line:#e5e8ef;
  --pt-green:#22c73a;
  --pt-green-dark:#14a82b;
  --pt-yellow:#f5c542;
  --pt-red:#ef4444;
  --pt-card:#ffffff;
  --pt-radius:18px;
  --pt-shadow:0 18px 44px rgba(7,10,28,.16);
}
html{background:var(--pt-bg)!important;}
body.pwa-body{
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif!important;
  color:var(--pt-ink)!important;
  background:
    radial-gradient(circle at 16% -10%,rgba(34,199,58,.22),transparent 24%),
    radial-gradient(circle at 88% 10%,rgba(72,101,255,.18),transparent 28%),
    linear-gradient(135deg,#0b102d 0%,#11183f 100%)!important;
  padding-bottom:calc(96px + env(safe-area-inset-bottom))!important;
}
body.pwa-body:before{display:none!important;}
body.pwa-body:after{
  content:"Padel Booking Mobile App";
  position:fixed;
  right:clamp(28px,8vw,120px);
  top:120px;
  width:360px;
  color:#fff;
  font-size:54px;
  line-height:1.15;
  letter-spacing:-.04em;
  font-weight:450;
  opacity:.92;
  pointer-events:none;
}
@media(max-width:1050px){body.pwa-body:after{display:none}}
.pwa-app-header{
  position:sticky!important;
  top:0!important;
  z-index:50!important;
  padding:22px 14px 6px!important;
  background:linear-gradient(180deg,rgba(11,16,45,.95),rgba(11,16,45,.72),transparent)!important;
  backdrop-filter:none!important;
}
.pwa-app-bar,.pwa-page{
  width:min(100% - 28px,420px)!important;
  max-width:420px!important;
}
.pwa-app-bar{
  min-height:64px!important;
  border-radius:28px 28px 18px 18px!important;
  background:var(--pt-phone)!important;
  border:0!important;
  box-shadow:0 14px 38px rgba(0,0,0,.25)!important;
  padding:10px 14px!important;
}
.pwa-brand-logo{width:40px!important;height:40px!important;border-radius:14px!important;background:#fff!important;box-shadow:none!important;padding:5px!important;}
.pwa-brand-text strong{font-size:15px!important;font-weight:900!important;color:var(--pt-ink)!important;}
.pwa-brand-text small{font-size:11px!important;color:var(--pt-muted)!important;max-width:160px!important;}
.pwa-lang-toggle{height:38px!important;border-radius:14px!important;background:#fff!important;border:1px solid var(--pt-line)!important;box-shadow:none!important;color:var(--pt-ink)!important;}
.pwa-page{
  margin:0 auto!important;
  padding:14px 0 18px!important;
  gap:14px!important;
  background:var(--pt-phone)!important;
  border-radius:0 0 34px 34px!important;
  box-shadow:0 24px 64px rgba(0,0,0,.24)!important;
  min-height:calc(100vh - 112px)!important;
}
.pwa-title,.pwa-card,.pwa-owner-dashboard-hero,.pwa-stats-grid,.pwa-grid,.pwa-grid-2,.pwa-frame{margin-left:14px!important;margin-right:14px!important;}
.pwa-title{align-items:center!important;margin-bottom:0!important;}
.pwa-page-kicker{font-size:21px!important;line-height:1.1!important;font-weight:900!important;letter-spacing:-.035em!important;color:var(--pt-ink)!important;text-transform:none!important;}
.pwa-title h1{font-size:14px!important;line-height:1.35!important;font-weight:500!important;letter-spacing:0!important;color:var(--pt-muted)!important;margin:6px 0 0!important;max-width:290px;}
.pwa-title .pwa-muted{font-size:13px!important;color:var(--pt-muted)!important;}
.pwa-light-btn{min-height:38px!important;border-radius:14px!important;background:#fff!important;border:1px solid var(--pt-line)!important;box-shadow:none!important;color:var(--pt-ink)!important;font-size:12px!important;padding:0 12px!important;}
.pwa-card,.pwa-frame{
  background:#fff!important;
  border:1px solid var(--pt-line)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.06)!important;
  backdrop-filter:none!important;
  border-radius:18px!important;
  padding:16px!important;
}
.pwa-section-head{margin-bottom:12px!important;}
.pwa-section-head h2,.pwa-card h2{font-size:15px!important;font-weight:900!important;letter-spacing:-.02em!important;color:var(--pt-ink)!important;}
.pwa-muted{color:var(--pt-muted)!important;font-size:12.5px!important;font-weight:500!important;}
.pwa-days{gap:10px!important;padding:0 0 4px!important;}
.pwa-day{
  min-width:94px!important;
  height:96px!important;
  border-radius:8px!important;
  background:#151d31!important;
  box-shadow:none!important;
  color:#fff!important;
  padding:12px 8px!important;
  display:flex!important;flex-direction:column!important;justify-content:center!important;
}
.pwa-day span{font-size:11px!important;color:rgba(255,255,255,.72)!important;font-weight:600!important;letter-spacing:.03em!important;}
.pwa-day strong{font-size:24px!important;color:#fff!important;font-weight:900!important;}
.pwa-day small{font-size:10px!important;color:rgba(255,255,255,.66)!important;text-transform:uppercase!important;}
.pwa-day.is-active{background:var(--pt-green)!important;color:#fff!important;}
.pwa-day.is-locked{opacity:.42!important;}
.pwa-slots{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:9px!important;}
.pwa-slot{
  min-height:45px!important;
  border-radius:8px!important;
  padding:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
  background:#fff!important;border:1px solid var(--pt-line)!important;box-shadow:none!important;color:#676d78!important;
}
.pwa-slot strong{font-size:14px!important;font-weight:700!important;letter-spacing:0!important;}
.pwa-slot span:not(.pwa-slot-badge),.pwa-slot em,.pwa-slot-badge{display:none!important;}
.pwa-slot.is-open:hover,.pwa-slot.is-open:focus{background:var(--pt-green)!important;border-color:var(--pt-green)!important;color:#fff!important;}
.pwa-slot.is-waiting{background:#fff8df!important;border-color:#f3d46c!important;color:#a36d00!important;}
.pwa-slot.is-waiting:hover,.pwa-slot.is-waiting:focus{background:var(--pt-yellow)!important;color:#2b2206!important;}
.pwa-primary-btn,.pwa-secondary-btn{
  min-height:54px!important;border-radius:24px!important;background:var(--pt-green)!important;color:#102014!important;
  box-shadow:0 10px 20px rgba(34,199,58,.26)!important;font-weight:900!important;border:0!important;width:100%;
}
.pwa-secondary-btn{background:#fff!important;color:var(--pt-green-dark)!important;border:1px solid rgba(34,199,58,.32)!important;box-shadow:none!important;}
.pwa-danger-btn{border-radius:18px!important;background:#fff1f1!important;color:#b91c1c!important;border:1px solid #ffd2d2!important;min-height:48px!important;text-align:center;display:flex;align-items:center;justify-content:center;font-weight:850;text-decoration:none;}
.pwa-grid,.pwa-grid-2{display:grid!important;grid-template-columns:1fr!important;gap:12px!important;}
.pwa-court-card{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;}
.pwa-court-icon{width:44px!important;height:44px!important;border-radius:50%!important;background:#e9faec!important;color:var(--pt-green)!important;box-shadow:none!important;}
.pwa-court-card.is-unavailable .pwa-court-icon{background:#fff1f1!important;color:var(--pt-red)!important;}
.pwa-status-pill,.pwa-live-pill{border-radius:999px!important;background:#e9faec!important;color:var(--pt-green-dark)!important;padding:7px 10px!important;font-size:10px!important;font-weight:900!important;letter-spacing:.04em!important;}
.pwa-status-pill.is-blue{background:#eef2ff!important;color:#2946b8!important;}
.pwa-form-control,.pwa-input{border-radius:12px!important;background:#fff!important;border:1px solid var(--pt-line)!important;box-shadow:none!important;min-height:48px!important;font-weight:650!important;}
.pwa-info{border-radius:14px!important;background:#f3f7ff!important;color:#4c5f7b!important;border:1px solid #e5ecfa!important;font-weight:650!important;}
.pwa-list,.pwa-list-item{gap:10px!important;}
.pwa-list-item{background:#fff!important;border:1px solid var(--pt-line)!important;border-radius:14px!important;box-shadow:none!important;padding:12px!important;}
.pwa-bottom-nav{
  width:min(100% - 28px,420px)!important;height:72px!important;
  bottom:calc(14px + env(safe-area-inset-bottom))!important;
  border-radius:24px!important;background:#fff!important;border:1px solid rgba(255,255,255,.7)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.28)!important;padding:7px!important;
}
.pwa-bottom-link{height:56px!important;border-radius:18px!important;color:#8a909b!important;}
.pwa-bottom-link small{font-size:10px!important;font-weight:750!important;}
.pwa-bottom-icon{font-size:20px!important;}
.pwa-bottom-link.is-active{background:#e9faec!important;color:var(--pt-green-dark)!important;}
.pwa-owner-dashboard-hero{
  border-radius:20px!important;padding:18px!important;background:linear-gradient(135deg,#111936,#182044)!important;color:#fff!important;border:0!important;box-shadow:none!important;
}
.pwa-owner-dashboard-hero h1{color:#fff!important;font-size:28px!important;letter-spacing:-.04em!important;}
.pwa-owner-dashboard-hero p{color:rgba(255,255,255,.72)!important;}
.pwa-hero-kicker{color:var(--pt-green)!important;}
.pwa-next-reservation{background:#f7f8fb!important;border:1px solid var(--pt-line)!important;border-radius:16px!important;}
.pwa-next-date{background:var(--pt-green)!important;color:#fff!important;border-radius:14px!important;box-shadow:none!important;}
.pwa-stat-card{text-align:center!important;min-height:104px!important;}
.pwa-stat-card strong{color:var(--pt-green-dark)!important;}
.pwa-tourist-code-card strong{letter-spacing:.12em!important;color:var(--pt-ink)!important;}
.pwa-announcement-item{background:#fff!important;border:1px solid var(--pt-line)!important;border-radius:14px!important;}
/* Login screen in the same app-template style */
.calas-login-app{background:linear-gradient(135deg,#0b102d 0%,#11183f 100%)!important;min-height:100vh!important;padding:24px 14px!important;}
.calas-login-content{width:min(100% - 0px,420px)!important;margin:0 auto!important;background:var(--pt-phone)!important;border-radius:34px!important;box-shadow:0 24px 64px rgba(0,0,0,.28)!important;padding:28px 18px 22px!important;}
.calas-logo-frame{background:#fff!important;border:1px solid var(--pt-line)!important;border-radius:24px!important;box-shadow:none!important;}
.calas-login-panel{background:#fff!important;border:1px solid var(--pt-line)!important;border-radius:22px!important;box-shadow:0 8px 22px rgba(15,23,42,.06)!important;}
.calas-login-title{color:var(--pt-ink)!important;font-weight:900!important;}
.calas-login-kicker{color:var(--pt-green-dark)!important;}
.calas-code-box{border:1px solid var(--pt-line)!important;border-radius:12px!important;background:#fff!important;color:var(--pt-ink)!important;}
.calas-code-box:focus{border-color:var(--pt-green)!important;box-shadow:0 0 0 4px rgba(34,199,58,.12)!important;}
.calas-login-button{background:var(--pt-green)!important;border-radius:24px!important;color:#102014!important;box-shadow:0 10px 20px rgba(34,199,58,.26)!important;}
.calas-lang-floating{top:18px!important;right:18px!important;}
.calas-lang-select{border-radius:14px!important;border:1px solid var(--pt-line)!important;}
@media(max-width:430px){
  .pwa-app-header{padding-top:10px!important;}
  .pwa-app-bar,.pwa-page,.pwa-bottom-nav{width:calc(100% - 18px)!important;}
  .pwa-page{border-radius:0 0 26px 26px!important;min-height:calc(100vh - 90px)!important;}
  .pwa-slots{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
  .pwa-day{min-width:86px!important;height:90px!important;}
}
@media(min-width:900px){
  .pwa-app-header{padding-top:34px!important;}
  .pwa-page{padding-bottom:22px!important;}
  .pwa-slots{grid-template-columns:repeat(4,minmax(0,1fr))!important;}
}


/* PATCH 2: desktop layout + requested light dashboard refinements */
:root{
  --pt-soft-bg:#f4f7fb;
  --pt-desktop-max:1180px;
}
html{background:var(--pt-soft-bg)!important;}
body.pwa-body{
  background:linear-gradient(180deg,#eef4fb 0%,#f8fafc 42%,#eef4fb 100%)!important;
  color:var(--pt-ink)!important;
}
body.pwa-body:after{display:none!important;}
.pwa-app-header{
  background:rgba(244,247,251,.92)!important;
  border-bottom:1px solid rgba(226,232,240,.7)!important;
  padding:12px 14px 8px!important;
  backdrop-filter:blur(14px)!important;
}
.pwa-app-bar{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:14px!important;
  border-radius:22px!important;
  background:#fff!important;
  box-shadow:0 10px 26px rgba(15,23,42,.08)!important;
  min-height:72px!important;
}
.pwa-brand{
  min-width:0!important;
  flex:1 1 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  text-decoration:none!important;
}
.pwa-brand-logo{
  width:58px!important;
  height:58px!important;
  flex:0 0 58px!important;
  border-radius:18px!important;
  padding:4px!important;
  object-fit:contain!important;
}
.pwa-brand-text{min-width:0!important;display:block!important;}
.pwa-brand-text strong{
  display:block!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  max-width:100%!important;
  font-size:16px!important;
  line-height:1.15!important;
}
.pwa-lang-dropdown{flex:0 0 auto!important;}
.pwa-page{
  background:transparent!important;
  border-radius:0!important;
  box-shadow:none!important;
  min-height:auto!important;
}
.pwa-bottom-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:space-around!important;
  gap:4px!important;
  overflow:visible!important;
}
.pwa-bottom-link{
  min-width:0!important;
  flex:1 1 0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:center!important;
  justify-content:center!important;
  gap:2px!important;
  padding:4px 2px!important;
  text-align:center!important;
  line-height:1.05!important;
}
.pwa-bottom-icon{display:block!important;line-height:1!important;font-size:19px!important;}
.pwa-bottom-link small{
  display:block!important;
  max-width:100%!important;
  white-space:normal!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  line-height:1.05!important;
  font-size:9px!important;
}
.pwa-stats-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:8px!important;
}
.pwa-stat-card{
  min-height:78px!important;
  padding:10px 8px!important;
  border-radius:16px!important;
}
.pwa-stat-card small{
  font-size:9px!important;
  line-height:1.05!important;
  letter-spacing:.04em!important;
  white-space:nowrap!important;
}
.pwa-stat-card strong{
  font-size:25px!important;
  line-height:1!important;
  margin:4px 0 2px!important;
}
.pwa-stat-card span{
  font-size:10px!important;
  line-height:1.1!important;
  color:var(--pt-muted)!important;
}
.pwa-owner-dashboard-hero{
  background:linear-gradient(135deg,#ffffff 0%,#eefaf1 100%)!important;
  border:1px solid var(--pt-line)!important;
  box-shadow:0 12px 28px rgba(15,23,42,.06)!important;
  color:var(--pt-ink)!important;
}
.pwa-owner-dashboard-hero h1{color:var(--pt-ink)!important;font-size:24px!important;}
.pwa-owner-dashboard-hero p{color:var(--pt-muted)!important;}
.pwa-logout-chip{background:#fff!important;color:var(--pt-ink)!important;border:1px solid var(--pt-line)!important;}
.pwa-next-card{overflow:hidden!important;position:relative!important;}
.pwa-next-card:before{
  content:"";position:absolute;right:-42px;top:-54px;width:150px;height:150px;border-radius:50%;
  background:rgba(34,199,58,.12);pointer-events:none;
}
.pwa-next-reservation{
  display:grid!important;
  grid-template-columns:auto 1fr!important;
  gap:14px!important;
  align-items:center!important;
  background:linear-gradient(135deg,#f7fff8 0%,#f8fafc 100%)!important;
  border:1px solid #dff4e4!important;
  padding:14px!important;
}
.pwa-next-date{
  width:72px!important;height:72px!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
}
.pwa-next-date strong{font-size:28px!important;line-height:1!important;}
.pwa-next-date span{font-size:11px!important;}
.pwa-next-main strong{font-size:18px!important;color:var(--pt-ink)!important;}
.pwa-next-main span{display:block!important;font-size:14px!important;color:var(--pt-muted)!important;margin-top:3px!important;}
.pwa-next-main em{display:inline-flex!important;margin-top:8px!important;padding:5px 10px!important;border-radius:999px!important;background:#e9faec!important;color:var(--pt-green-dark)!important;font-style:normal!important;font-size:11px!important;font-weight:900!important;}
.pwa-next-actions{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;margin-top:12px!important;}
.pwa-next-actions .pwa-primary-btn,.pwa-next-actions .pwa-secondary-btn{min-height:48px!important;border-radius:16px!important;}

@media(min-width:900px){
  body.pwa-body{padding-bottom:34px!important;}
  .pwa-app-header{padding:18px 24px 10px!important;}
  .pwa-app-bar,.pwa-page{
    width:min(calc(100% - 48px),var(--pt-desktop-max))!important;
    max-width:var(--pt-desktop-max)!important;
  }
  .pwa-app-bar{min-height:86px!important;padding:12px 18px!important;border-radius:28px!important;}
  .pwa-brand-logo{width:70px!important;height:70px!important;flex-basis:70px!important;}
  .pwa-brand-text strong{font-size:22px!important;}
  .pwa-page{padding:24px 0 34px!important;}
  .pwa-title,.pwa-card,.pwa-owner-dashboard-hero,.pwa-stats-grid,.pwa-grid,.pwa-grid-2,.pwa-frame{margin-left:0!important;margin-right:0!important;}
  .pwa-title{margin-bottom:4px!important;}
  .pwa-page-kicker{font-size:34px!important;}
  .pwa-title h1{font-size:16px!important;max-width:720px!important;}
  .pwa-card,.pwa-frame{border-radius:24px!important;padding:22px!important;}
  .pwa-owner-dashboard-hero{display:flex!important;align-items:center!important;justify-content:space-between!important;padding:28px!important;border-radius:28px!important;}
  .pwa-owner-dashboard-hero h1{font-size:34px!important;}
  .pwa-stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:14px!important;}
  .pwa-stat-card{min-height:96px!important;padding:14px 16px!important;text-align:left!important;}
  .pwa-stat-card small{font-size:10px!important;}
  .pwa-stat-card strong{font-size:34px!important;}
  .pwa-stat-card span{font-size:12px!important;}
  .pwa-grid-2{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
  .pwa-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important;}
  .pwa-slots{grid-template-columns:repeat(6,minmax(0,1fr))!important;}
  .pwa-bottom-nav{
    position:sticky!important;
    top:112px!important;
    bottom:auto!important;
    margin:10px auto 0!important;
    width:min(calc(100% - 48px),var(--pt-desktop-max))!important;
    max-width:var(--pt-desktop-max)!important;
    height:78px!important;
    border-radius:26px!important;
    box-shadow:0 10px 28px rgba(15,23,42,.08)!important;
  }
  .pwa-bottom-link small{font-size:11px!important;white-space:nowrap!important;}
  .pwa-bottom-icon{font-size:22px!important;}
}

@media(max-width:430px){
  .pwa-brand-logo{width:52px!important;height:52px!important;flex-basis:52px!important;}
  .pwa-brand-text strong{font-size:14px!important;}
  .pwa-stats-grid{gap:6px!important;}
  .pwa-stat-card{padding:9px 5px!important;min-height:74px!important;}
  .pwa-stat-card small{font-size:8px!important;}
  .pwa-stat-card strong{font-size:22px!important;}
  .pwa-stat-card span{font-size:9px!important;}
  .pwa-bottom-nav{height:78px!important;padding:6px!important;}
  .pwa-bottom-link{height:64px!important;border-radius:16px!important;}
  .pwa-next-actions{grid-template-columns:1fr!important;}
}


/* PATCH 3: mobile cache/old-view fix + centered navigation on desktop */
body.pwa-body {
  min-width:0!important;
  overflow-x:hidden!important;
}
.pwa-bottom-nav{
  left:50%!important;
  transform:translateX(-50%)!important;
  right:auto!important;
  margin-left:0!important;
  margin-right:0!important;
  z-index:80!important;
}
@media(max-width:899px){
  html{background:var(--pt-soft-bg)!important;}
  body.pwa-body{
    background:linear-gradient(180deg,#eef4fb 0%,#f8fafc 48%,#eef4fb 100%)!important;
    padding-bottom:calc(104px + env(safe-area-inset-bottom))!important;
  }
  .pwa-app-header{
    padding:10px 9px 6px!important;
    background:rgba(244,247,251,.96)!important;
  }
  .pwa-app-bar{
    width:calc(100vw - 18px)!important;
    max-width:none!important;
    min-height:72px!important;
    border-radius:22px!important;
    padding:8px 10px!important;
  }
  .pwa-brand{gap:10px!important;}
  .pwa-brand-logo{
    width:56px!important;
    height:56px!important;
    flex:0 0 56px!important;
    border-radius:16px!important;
  }
  .pwa-brand-text strong{
    font-size:14px!important;
    max-width:calc(100vw - 168px)!important;
  }
  .pwa-lang-toggle{height:40px!important;padding:0 10px!important;}
  .pwa-page{
    width:calc(100vw - 18px)!important;
    max-width:none!important;
    margin:0 auto!important;
    padding:12px 0 20px!important;
    background:transparent!important;
    box-shadow:none!important;
    border-radius:0!important;
  }
  .pwa-title,.pwa-card,.pwa-owner-dashboard-hero,.pwa-stats-grid,.pwa-grid,.pwa-grid-2,.pwa-frame{
    margin-left:0!important;
    margin-right:0!important;
  }
  .pwa-card,.pwa-frame{border-radius:20px!important;padding:15px!important;}
  .pwa-bottom-nav{
    position:fixed!important;
    width:calc(100vw - 18px)!important;
    max-width:none!important;
    bottom:calc(10px + env(safe-area-inset-bottom))!important;
    top:auto!important;
  }
}
@media(min-width:900px){
  .pwa-bottom-nav{
    position:fixed!important;
    top:auto!important;
    bottom:22px!important;
    width:min(calc(100% - 48px),var(--pt-desktop-max))!important;
    max-width:var(--pt-desktop-max)!important;
    left:50%!important;
    transform:translateX(-50%)!important;
    margin:0!important;
  }
  body.pwa-body{padding-bottom:132px!important;}
}

/* PATCH 4: final refinements requested after desktop/mobile test */
.pwa-app-header{padding-top:18px!important;padding-bottom:10px!important;}
.pwa-app-bar{min-height:88px!important;}
.pwa-brand-logo-only{justify-content:center!important;}
.pwa-brand-logo-only .pwa-brand-logo{
  width:min(100%,520px)!important;
  max-width:520px!important;
  height:76px!important;
  flex:1 1 auto!important;
  object-fit:contain!important;
  border-radius:0!important;
  background:transparent!important;
  padding:0!important;
}
.pwa-brand-logo-only + .pwa-lang-dropdown{margin-left:12px!important;}
.pwa-brand-text{display:none!important;}
.pwa-bottom-nav{height:68px!important;bottom:calc(6px + env(safe-area-inset-bottom))!important;padding:5px!important;}
.pwa-bottom-link{height:58px!important;}
.pwa-bottom-icon{font-size:20px!important;}
.pwa-bottom-link small{font-size:9px!important;line-height:1.08!important;}
body.pwa-body{padding-bottom:calc(92px + env(safe-area-inset-bottom))!important;}

.pwa-slot{position:relative!important;gap:6px!important;flex-direction:row!important;}
.pwa-slot .pwa-slot-dot{
  display:inline-block!important;
  width:9px!important;height:9px!important;border-radius:50%!important;
  flex:0 0 9px!important;
  background:var(--pt-green)!important;
  box-shadow:0 0 0 4px rgba(34,199,58,.12)!important;
}
.pwa-slot.is-waiting .pwa-slot-dot{background:var(--pt-yellow)!important;box-shadow:0 0 0 4px rgba(245,197,66,.18)!important;}
.pwa-slot strong{display:inline-block!important;}

.pwa-bookings-card{padding:14px!important;}
.pwa-booking-list{display:grid!important;gap:12px!important;}
.pwa-booking-item{
  display:grid!important;
  grid-template-columns:64px 1fr auto!important;
  align-items:center!important;
  gap:12px!important;
  padding:13px!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f8fafc 100%)!important;
  border:1px solid var(--pt-line)!important;
  box-shadow:0 8px 22px rgba(15,23,42,.05)!important;
}
.pwa-booking-item.is-reserved{border-color:#dff4e4!important;background:linear-gradient(135deg,#ffffff 0%,#f4fff6 100%)!important;}
.pwa-booking-item.is-cancelled{border-color:#ffe1e1!important;background:linear-gradient(135deg,#ffffff 0%,#fff7f7 100%)!important;}
.pwa-booking-date{width:62px;height:62px;border-radius:18px;background:#e9faec;color:var(--pt-green-dark);display:flex;align-items:center;justify-content:center;flex-direction:column;font-weight:900;}
.pwa-booking-item.is-cancelled .pwa-booking-date{background:#fff1f1;color:#b91c1c;}
.pwa-booking-date strong{font-size:24px;line-height:1;}
.pwa-booking-date span{font-size:10px;letter-spacing:.08em;}
.pwa-booking-main{min-width:0;}
.pwa-booking-topline{display:flex;align-items:center;gap:8px;justify-content:space-between;margin-bottom:6px;}
.pwa-booking-topline strong{font-size:16px;color:var(--pt-ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.pwa-reservation-status{display:inline-flex;align-items:center;justify-content:center;gap:5px;border-radius:999px;padding:6px 9px;font-size:10px;font-weight:900;white-space:nowrap;text-transform:uppercase;}
.pwa-reservation-status.is-green{background:#e9faec;color:var(--pt-green-dark);}
.pwa-reservation-status.is-red{background:#fff1f1;color:#b91c1c;}
.pwa-reservation-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;}
.pwa-booking-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--pt-muted);font-size:12px;font-weight:650;}
.pwa-booking-meta i{margin-right:3px;}
.pwa-booking-actions{display:flex;align-items:center;gap:8px;}
.pwa-icon-action{width:42px;height:42px;border-radius:15px;border:1px solid var(--pt-line);background:#fff;color:var(--pt-green-dark);display:inline-flex;align-items:center;justify-content:center;text-decoration:none;font-size:19px;font-weight:900;box-shadow:0 8px 18px rgba(15,23,42,.06);}
.pwa-icon-action.is-danger{color:#b91c1c;background:#fff7f7;border-color:#ffd7d7;}
.pwa-empty-state{text-align:center;padding:16px 8px;}
.pwa-empty-icon{width:72px;height:72px;border-radius:24px;background:#e9faec;color:var(--pt-green-dark);display:flex;align-items:center;justify-content:center;margin:0 auto 14px;font-size:30px;}

.pwa-autofill-note{display:flex;align-items:center;gap:10px;background:#f3f7ff;border:1px solid #e5ecfa;border-radius:16px;padding:12px 14px;color:#2946b8;font-weight:850;}
.pwa-profile-head{display:flex;align-items:center;gap:14px;margin-bottom:18px;}
.pwa-profile-list .pwa-list-item{display:grid!important;grid-template-columns:140px 1fr!important;align-items:center!important;}
.pwa-tourist-code-row{grid-template-columns:140px 1fr auto!important;}
.pwa-tourist-code-row form{margin:0!important;}
.pwa-modal-content{border:0!important;border-radius:24px!important;box-shadow:0 24px 64px rgba(15,23,42,.22)!important;overflow:hidden;}

@media(max-width:899px){
  .pwa-app-header{padding-top:16px!important;padding-bottom:8px!important;}
  .pwa-app-bar{min-height:82px!important;}
  .pwa-brand-logo-only .pwa-brand-logo{height:70px!important;max-width:calc(100vw - 104px)!important;}
  .pwa-bottom-nav{height:66px!important;bottom:calc(4px + env(safe-area-inset-bottom))!important;}
  .pwa-bottom-link{height:56px!important;border-radius:15px!important;}
  .pwa-bottom-icon{font-size:19px!important;}
  .pwa-bottom-link small{font-size:8.5px!important;}
  body.pwa-body{padding-bottom:calc(86px + env(safe-area-inset-bottom))!important;}
  .pwa-booking-item{grid-template-columns:56px 1fr!important;gap:10px!important;}
  .pwa-booking-date{width:54px;height:54px;border-radius:16px;}
  .pwa-booking-date strong{font-size:21px;}
  .pwa-booking-actions{grid-column:2;justify-content:flex-start;margin-top:4px;}
  .pwa-booking-topline{align-items:flex-start;flex-direction:column;gap:5px;}
  .pwa-profile-list .pwa-list-item{grid-template-columns:1fr!important;gap:4px!important;}
  .pwa-tourist-code-row{grid-template-columns:1fr auto!important;}
  .pwa-tourist-code-row span{grid-column:1 / -1;}
}
@media(min-width:900px){
  .pwa-app-header{padding-top:24px!important;}
  .pwa-app-bar{min-height:98px!important;}
  .pwa-brand-logo-only .pwa-brand-logo{height:88px!important;max-width:680px!important;}
  .pwa-bottom-nav{bottom:10px!important;height:70px!important;}
  body.pwa-body{padding-bottom:104px!important;}
}

/* v5: past slots are visible but never clickable */
.pwa-slot.is-past{
  opacity:.42!important;
  background:#eef1f5!important;
  border-color:#d8dde6!important;
  color:#8b93a1!important;
  cursor:not-allowed!important;
  pointer-events:none!important;
}
.pwa-slot.is-past .pwa-slot-dot{
  background:#a3acba!important;
  box-shadow:0 0 0 4px rgba(120,130,145,.12)!important;
}

/* v11: booking hours as clear app tiles + Apple-style booking confirmation */
.pwa-slots .pwa-slot.is-open{
  background:linear-gradient(135deg,#22c55e,#16a34a)!important;
  border-color:#16a34a!important;
  color:#ffffff!important;
  box-shadow:0 10px 22px rgba(34,197,94,.22)!important;
}
.pwa-slots .pwa-slot.is-open strong{color:#ffffff!important;}
.pwa-slots .pwa-slot.is-open:hover,
.pwa-slots .pwa-slot.is-open:focus{
  transform:translateY(-1px)!important;
  background:linear-gradient(135deg,#20d463,#16a34a)!important;
  color:#fff!important;
}
.pwa-slots .pwa-slot.is-waiting{
  background:linear-gradient(135deg,#fde68a,#facc15)!important;
  border-color:#eab308!important;
  color:#3f3100!important;
  box-shadow:0 10px 22px rgba(234,179,8,.18)!important;
}
.pwa-slots .pwa-slot.is-waiting strong{color:#3f3100!important;}
.pwa-slots .pwa-slot.is-waiting:hover,
.pwa-slots .pwa-slot.is-waiting:focus{
  transform:translateY(-1px)!important;
  background:linear-gradient(135deg,#fef08a,#facc15)!important;
  color:#3f3100!important;
}
.pwa-slots .pwa-slot .pwa-slot-dot,
.pwa-slots .pwa-slot .pwa-slot-badge,
.pwa-slots .pwa-slot span:not(.pwa-slot-badge),
.pwa-slots .pwa-slot em{display:none!important;}
.pwa-slots .pwa-slot{
  transition:transform .16s ease, box-shadow .16s ease, background .16s ease!important;
}
.pwa-slots .pwa-slot.is-past{
  background:#eef1f5!important;
  box-shadow:none!important;
  color:#9aa3b1!important;
}
.pwa-slots .pwa-slot.is-past strong{color:#9aa3b1!important;}

.pwa-booking-form-page{max-width:760px!important;}
.pwa-booking-form-title{align-items:flex-start!important;}
.pwa-booking-summary-card{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  padding:18px!important;
  background:linear-gradient(135deg,#ffffff,#f7fff9)!important;
  border-color:#dff6e5!important;
}
.pwa-booking-summary-icon{
  width:58px!important;
  height:58px!important;
  border-radius:20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:#e9faec!important;
  color:#16a34a!important;
  font-size:27px!important;
  flex:0 0 auto!important;
}
.pwa-booking-summary-main{min-width:0!important;}
.pwa-booking-summary-main > span{
  display:block!important;
  color:#7b8494!important;
  font-size:12px!important;
  font-weight:850!important;
  text-transform:uppercase!important;
  letter-spacing:.06em!important;
}
.pwa-booking-summary-main > strong{
  display:block!important;
  color:#101828!important;
  font-size:22px!important;
  line-height:1.15!important;
  font-weight:950!important;
  letter-spacing:-.04em!important;
  margin-top:3px!important;
}
.pwa-booking-summary-meta{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  margin-top:10px!important;
}
.pwa-booking-summary-meta em{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  font-style:normal!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  background:#fff!important;
  border:1px solid #edf0f5!important;
  color:#526071!important;
  font-weight:800!important;
  font-size:12px!important;
}
.pwa-booking-form-card{padding:18px!important;}
.pwa-booking-form-grid{display:grid!important;gap:14px!important;}
.pwa-soft-alert{border-radius:16px!important;border:0!important;font-weight:750!important;}
.pwa-booking-note{
  display:flex!important;
  align-items:flex-start!important;
  gap:10px!important;
  background:#f8fbff!important;
  border-color:#e7eef8!important;
  color:#435166!important;
}
.pwa-booking-note i{font-size:18px!important;color:#16a34a!important;line-height:1.1!important;}
.pwa-booking-fields{display:grid!important;grid-template-columns:1fr 1fr!important;gap:10px!important;}
.pwa-booking-fields .pwa-form-control{
  min-height:52px!important;
  border-radius:16px!important;
  padding:13px 14px!important;
  background:#fff!important;
}
.pwa-rules-switch-card{
  display:grid!important;
  grid-template-columns:auto auto minmax(0,1fr)!important;
  align-items:center!important;
  gap:12px!important;
  padding:14px!important;
  border-radius:20px!important;
  background:#ffffff!important;
  border:1px solid #e8edf4!important;
  box-shadow:0 8px 22px rgba(15,23,42,.045)!important;
  cursor:pointer!important;
}
.pwa-rules-switch-input{
  position:absolute!important;
  opacity:0!important;
  pointer-events:none!important;
}
.pwa-rules-switch{
  width:54px!important;
  height:32px!important;
  border-radius:999px!important;
  background:#d8dee8!important;
  padding:3px!important;
  display:inline-flex!important;
  align-items:center!important;
  transition:background .18s ease, box-shadow .18s ease!important;
}
.pwa-rules-switch span{
  display:block!important;
  width:26px!important;
  height:26px!important;
  border-radius:50%!important;
  background:#fff!important;
  box-shadow:0 2px 7px rgba(15,23,42,.18)!important;
  transform:translateX(0)!important;
  transition:transform .18s ease!important;
}
.pwa-rules-switch-input:checked + .pwa-rules-switch{
  background:#22c55e!important;
  box-shadow:0 0 0 5px rgba(34,197,94,.12)!important;
}
.pwa-rules-switch-input:checked + .pwa-rules-switch span{transform:translateX(22px)!important;}
.pwa-rules-switch-input:focus-visible + .pwa-rules-switch{outline:3px solid rgba(34,197,94,.24)!important;outline-offset:3px!important;}
.pwa-rules-switch-text{min-width:0!important;}
.pwa-rules-switch-text strong{
  display:block!important;
  color:#101828!important;
  font-weight:900!important;
  line-height:1.22!important;
}
.pwa-rules-switch-text small{display:block!important;margin-top:3px!important;}
.pwa-rules-switch-text a{color:#16a34a!important;font-weight:900!important;text-decoration:none!important;}
.pwa-booking-submit{
  min-height:56px!important;
  border-radius:20px!important;
  background:linear-gradient(135deg,#22c55e,#16a34a)!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(34,197,94,.22)!important;
}
@media(max-width:640px){
  .pwa-booking-summary-card{padding:15px!important;border-radius:22px!important;}
  .pwa-booking-summary-icon{width:50px!important;height:50px!important;border-radius:17px!important;font-size:23px!important;}
  .pwa-booking-summary-main > strong{font-size:19px!important;}
  .pwa-booking-fields{grid-template-columns:1fr!important;}
  .pwa-rules-switch-card{grid-template-columns:auto minmax(0,1fr)!important;gap:11px!important;}
  .pwa-rules-switch-input{grid-column:1!important;}
  .pwa-rules-switch{grid-column:1!important;}
  .pwa-rules-switch-text{grid-column:2!important;}
}
