/* REZO LASH — customer pages premium identity */
:root{
  --rezo-plum:#6f434b;
  --rezo-plum-deep:#4d2d34;
  --rezo-rose:#b9878d;
  --rezo-blush:#f5e8ea;
  --rezo-champagne:#e2bf93;
  --rezo-cream:#fffaf6;
  --rezo-sage:#5d8b72;
  --rezo-ink:#32242a;
  --rezo-muted:#846f76;
  --rezo-border:rgba(111,67,75,.14);
  --rezo-soft-shadow:0 18px 50px rgba(83,48,57,.09);
  --rezo-strong-shadow:0 28px 75px rgba(73,39,48,.16);
}

body{
  background:
    radial-gradient(circle at 10% 5%,rgba(226,191,147,.18),transparent 28%),
    radial-gradient(circle at 92% 18%,rgba(185,135,141,.16),transparent 32%),
    linear-gradient(180deg,#fdf8f8 0%,#fff 44%,#fffaf6 100%)!important;
  color:var(--rezo-ink)!important;
}

/* Shared details */
.eyebrow{
  background:linear-gradient(135deg,#fff7f5,#f4e5e7)!important;
  border:1px solid rgba(111,67,75,.14)!important;
  color:var(--rezo-plum)!important;
  box-shadow:0 7px 18px rgba(111,67,75,.06)!important;
}

.primary,.btn.dark{
  background:linear-gradient(135deg,var(--rezo-plum-deep),var(--rezo-plum) 58%,#9d6f76)!important;
  color:#fff!important;
  border:1px solid rgba(77,45,52,.18)!important;
  box-shadow:0 14px 30px rgba(77,45,52,.20)!important;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease!important;
}
.primary:hover,.btn.dark:hover{transform:translateY(-2px)!important;box-shadow:0 18px 38px rgba(77,45,52,.26)!important;filter:brightness(1.03)}
.ghost,.btn.light{
  background:rgba(255,255,255,.92)!important;
  color:var(--rezo-plum)!important;
  border:1px solid rgba(111,67,75,.17)!important;
  box-shadow:0 9px 22px rgba(89,55,64,.06)!important;
}
.ghost:hover,.btn.light:hover{background:#fff8f6!important;border-color:rgba(111,67,75,.26)!important}

/* Bookings page */
.bookings-page{padding-top:148px!important}
.bookings-shell{width:min(1180px,100%)!important;gap:22px!important}
.bookings-card{
  border:1px solid var(--rezo-border)!important;
  background:rgba(255,255,255,.94)!important;
  box-shadow:var(--rezo-soft-shadow)!important;
  backdrop-filter:blur(12px);
}
.bookings-hero{
  background:
    radial-gradient(circle at 8% 20%,rgba(255,255,255,.72),transparent 24%),
    radial-gradient(circle at 92% 110%,rgba(226,191,147,.32),transparent 44%),
    linear-gradient(135deg,#fff 0%,#f9ecee 52%,#efdadd 100%)!important;
  border-color:rgba(111,67,75,.16)!important;
  box-shadow:var(--rezo-strong-shadow)!important;
}
.bookings-hero::before{
  height:6px!important;
  background:linear-gradient(90deg,var(--rezo-champagne),var(--rezo-rose),var(--rezo-plum))!important;
}
.bookings-hero::after{
  content:"REZO";
  position:absolute;
  left:26px;
  bottom:-25px;
  font-size:100px;
  font-weight:1000;
  letter-spacing:7px;
  color:rgba(111,67,75,.045);
  pointer-events:none;
}
.bookings-hero h1{color:var(--rezo-plum-deep)!important;letter-spacing:-.4px}
.bookings-hero p{color:#765f67!important;font-weight:650}
.bookings-count-badge{
  min-width:150px!important;
  min-height:126px!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 20% 15%,rgba(255,255,255,.16),transparent 28%),
    linear-gradient(145deg,var(--rezo-plum-deep),var(--rezo-plum))!important;
  border:1px solid rgba(255,255,255,.18)!important;
  box-shadow:0 18px 42px rgba(77,45,52,.25)!important;
}
.bookings-count-badge::before{color:rgba(255,255,255,.40)!important}
.bookings-count-badge b,.bookings-count-badge small{color:#fff!important}
.bookings-count-badge small{opacity:.86!important}

.bookings-login{
  padding:13px;
  border-radius:22px;
  background:rgba(255,255,255,.62);
  border:1px solid rgba(111,67,75,.09);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.75);
}
.bookings-login input{
  background:rgba(255,255,255,.95)!important;
  border-color:rgba(111,67,75,.14)!important;
  color:var(--rezo-ink)!important;
}
.bookings-login input::placeholder{color:#a18d93}
.bookings-login input:focus{border-color:rgba(111,67,75,.42)!important;box-shadow:0 0 0 4px rgba(111,67,75,.09)!important}

.stats-card,.bookings-card#area{background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(255,250,247,.97))!important}
.stats-head h2,.bookings-list-head h2{color:var(--rezo-plum-deep)!important}
.customer-stats{gap:14px!important}
.customer-stat{
  position:relative;
  overflow:hidden;
  min-height:135px!important;
  background:linear-gradient(145deg,#fff,#fff8f6)!important;
  border:1px solid rgba(111,67,75,.11)!important;
  box-shadow:0 14px 32px rgba(88,52,61,.07)!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
}
.customer-stat::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  width:6px;
  height:100%;
  background:linear-gradient(180deg,var(--rezo-rose),var(--rezo-plum));
}
.customer-stat:nth-child(2)::before{background:linear-gradient(180deg,#86ad95,var(--rezo-sage))}
.customer-stat:nth-child(3)::before{background:linear-gradient(180deg,#e7c69e,#bd8f57)}
.customer-stat:nth-child(4)::before{background:linear-gradient(180deg,#b69ab9,#76597a)}
.customer-stat:hover{transform:translateY(-3px);box-shadow:0 20px 42px rgba(88,52,61,.11)!important}
.customer-stat small{color:#927b82!important}
.customer-stat b{color:var(--rezo-plum-deep)!important}
.customer-stat.green b{color:var(--rezo-sage)!important}

.booking-list{gap:16px!important}
.booking-card{
  background:linear-gradient(145deg,#fff,#fffaf7)!important;
  border:1px solid rgba(111,67,75,.13)!important;
  box-shadow:0 16px 38px rgba(83,48,57,.075)!important;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease!important;
}
.booking-card:hover{transform:translateY(-2px);box-shadow:0 22px 48px rgba(83,48,57,.12)!important;border-color:rgba(111,67,75,.22)!important}
.booking-card::before{width:8px!important;background:linear-gradient(180deg,var(--rezo-plum),var(--rezo-rose))!important}
.booking-card.completed::before{background:linear-gradient(180deg,var(--rezo-sage),#8eb19b)!important}
.booking-title b{color:var(--rezo-plum-deep)!important;font-size:22px!important}
.booking-title small{color:#9a858b!important}
.status-soft{
  border:1px solid rgba(111,67,75,.10)!important;
  background:#f8ecee!important;
  color:var(--rezo-plum)!important;
  box-shadow:0 7px 16px rgba(111,67,75,.06);
}
.status-soft.done{background:#eaf6ef!important;color:#3f795a!important;border-color:rgba(63,121,90,.12)!important}
.status-soft.wait{background:#fff4df!important;color:#9a6a2e!important;border-color:rgba(154,106,46,.12)!important}
.booking-meta{gap:11px!important}
.meta{
  background:linear-gradient(145deg,#fff,#fcf7f5)!important;
  border:1px solid rgba(111,67,75,.09)!important;
  box-shadow:0 8px 20px rgba(83,48,57,.035);
}
.meta small{color:#927f84!important}
.meta b{color:var(--rezo-ink)!important}
.booking-note{background:#faf0f1!important;border-color:rgba(111,67,75,.09)!important;color:#755f66!important}

.remaining-payment-box{
  border-color:rgba(93,139,114,.20)!important;
  background:linear-gradient(135deg,#f1faf5,#fff)!important;
  box-shadow:0 10px 24px rgba(72,119,91,.08)!important;
}
.remaining-payment-copy b{color:#35694e!important}
.remaining-payment-btn{background:linear-gradient(135deg,#3f7658,#5f9674)!important;box-shadow:0 12px 26px rgba(63,118,88,.20)!important}

.empty{
  background:linear-gradient(145deg,#fff,#fff8f6)!important;
  border-color:rgba(111,67,75,.16)!important;
  box-shadow:var(--rezo-soft-shadow)!important;
  color:#846f76!important;
}

/* Loyalty page */
.loyalty-page{padding-top:148px!important}
.loyalty-shell{max-width:1120px!important;grid-template-columns:minmax(320px,.82fr) minmax(0,1.18fr)!important;gap:22px!important}
.loyalty-shell .panel{
  position:relative;
  overflow:hidden;
  background:linear-gradient(160deg,#fff,#fff8f6 70%,#f6e9eb)!important;
  border:1px solid rgba(111,67,75,.14)!important;
  box-shadow:var(--rezo-soft-shadow)!important;
}
.loyalty-shell .panel::before{
  content:"";
  position:absolute;
  top:0;
  right:0;
  left:0;
  height:5px;
  background:linear-gradient(90deg,var(--rezo-champagne),var(--rezo-rose),var(--rezo-plum));
}
.loyalty-shell .panel h1,.loyalty-shell .panel h2{color:var(--rezo-plum-deep)!important}
.loyalty-shell .panel p{color:#7d6870!important}
.data-grid{gap:11px!important}
.data-row{
  background:rgba(255,255,255,.84)!important;
  border:1px solid rgba(111,67,75,.10)!important;
  box-shadow:0 8px 20px rgba(83,48,57,.035);
  transition:transform .16s ease,border-color .16s ease!important;
}
.data-row:hover{transform:translateY(-1px);border-color:rgba(111,67,75,.20)!important}
.data-row small{color:#957f86!important}
.data-row b{color:var(--rezo-plum-deep)!important}

.loyalty-card{
  background:
    radial-gradient(circle at 12% 8%,rgba(255,255,255,.24),transparent 26%),
    radial-gradient(circle at 88% 96%,rgba(226,191,147,.25),transparent 34%),
    linear-gradient(145deg,#4d2d34 0%,#6f434b 48%,#9f7379 100%)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.20)!important;
  box-shadow:0 30px 80px rgba(77,45,52,.32)!important;
}
.loyalty-card:before{background:rgba(255,255,255,.08)!important}
.loyalty-card:after{background:radial-gradient(circle,rgba(226,191,147,.20),transparent 65%)!important}
.loyalty-card .brand-mark b,.loyalty-card .brand-mark small,.loyalty-card .rewards,.loyalty-card .customer-name,.loyalty-card .customer-no{color:#fff!important}
.loyalty-card .brand-mark small{opacity:.76!important}
.loyalty-card .rewards{color:#f1d2aa!important;letter-spacing:3px!important}
.loyalty-card .customer-name{font-size:34px!important;text-shadow:0 4px 18px rgba(0,0,0,.16)}
.loyalty-card .customer-no{
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.20)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.10);
}
.loyalty-card .stats{gap:12px!important}
.loyalty-card .stat{
  background:rgba(255,255,255,.11)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 12px 26px rgba(31,13,18,.10)!important;
  backdrop-filter:blur(10px);
}
.loyalty-card .stat small{color:rgba(255,255,255,.72)!important}
.loyalty-card .stat b{color:#fff!important;font-size:24px!important}
.loyalty-card .progress-box{
  background:rgba(255,255,255,.10)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.loyalty-card .progress-head,.loyalty-card .reward-note{color:#fff!important}
.loyalty-card .reward-note{opacity:.78!important}
.loyalty-card .bar{height:15px!important;background:rgba(255,255,255,.17)!important}
.loyalty-card .bar span{background:linear-gradient(90deg,#f1d2aa,#e2bf93,#fff0cd)!important;box-shadow:0 0 18px rgba(226,191,147,.42)}
.loyalty-card .qr{
  border:5px solid rgba(255,255,255,.18)!important;
  box-shadow:0 18px 35px rgba(31,13,18,.18)!important;
}
.loyalty-card .pin{
  background:rgba(255,255,255,.11)!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08);
}
.loyalty-card .pin small,.loyalty-card .timer,.loyalty-card .barcode-no{color:#fff!important}
.loyalty-card .pin small,.loyalty-card .timer{opacity:.80!important}
.loyalty-card .pin strong{color:#fff0cd!important;text-shadow:0 5px 22px rgba(0,0,0,.20)}
.loyalty-card .fake-barcode{background:repeating-linear-gradient(90deg,#fff 0 3px,transparent 3px 6px,#fff 6px 8px,transparent 8px 13px)!important;opacity:.55!important}

.loyalty-page>.empty,#host>.empty{
  max-width:760px!important;
  padding:32px!important;
  background:linear-gradient(145deg,#fff,#fff8f6)!important;
  border:1px solid rgba(111,67,75,.14)!important;
  box-shadow:var(--rezo-strong-shadow)!important;
}
#host>.empty h2{color:var(--rezo-plum-deep)!important;font-size:28px;margin-top:0}
#host>.empty p{color:#7d6870!important;line-height:1.8}
#host>.empty .data-row{background:#fff!important}
#host>.empty input{border-color:rgba(111,67,75,.14)!important;background:#fffaf9!important;color:var(--rezo-ink)!important}
#host>.empty input:focus{outline:none;border-color:rgba(111,67,75,.42)!important;box-shadow:0 0 0 4px rgba(111,67,75,.08)!important}

@media(max-width:900px){
  .bookings-page,.loyalty-page{padding-top:132px!important}
  .bookings-count-badge{min-width:0!important;min-height:92px!important}
  .loyalty-shell{grid-template-columns:1fr!important}
  .loyalty-card{order:-1}
  .loyalty-card .stats{grid-template-columns:repeat(3,1fr)!important}
}

@media(max-width:620px){
  .bookings-card,.loyalty-shell .panel,.loyalty-card{border-radius:24px!important}
  .bookings-login{padding:9px;border-radius:18px}
  .customer-stats{grid-template-columns:1fr!important}
  .booking-meta{grid-template-columns:1fr!important}
  .loyalty-card{padding:19px!important}
  .loyalty-card .card-top{align-items:center!important}
  .loyalty-card .customer-name{font-size:27px!important;margin-top:18px!important}
  .loyalty-card .stats{grid-template-columns:1fr!important}
  .loyalty-card .barcode-wrap{grid-template-columns:1fr!important}
  .loyalty-card .qr{margin:auto!important}
  .loyalty-card .pin strong{font-size:34px!important}
  #host>.empty{padding:22px!important}
}
