:root{
  --rezo-ink:#342735;
  --rezo-brown:#8f6263;
  --rezo-soft:#fbf5f4;
  --rezo-cream:#fffaf7;
  --rezo-line:rgba(143,98,99,.16);
  --rezo-muted:#8f7474;
  --rezo-accent:#8f6263;
  --rezo-accent-2:#cfaeb1;
  --rezo-shadow:0 24px 68px rgba(143,98,99,.08);
}
*{box-sizing:border-box}
body{background:linear-gradient(180deg,#fbf5f4 0%,#fff 48%,#fffaf7 100%);color:var(--rezo-ink)}
.bookings-page{min-height:100vh;padding:156px 18px 70px}
.bookings-shell{width:min(1120px,100%);margin:auto;display:grid;gap:18px}
.bookings-card{background:rgba(255,255,255,.94);border:1px solid var(--rezo-line);border-radius:34px;box-shadow:var(--rezo-shadow);padding:24px;position:relative;overflow:hidden}
.bookings-hero{background:radial-gradient(circle at 50% 115%,rgba(207,174,177,.20),transparent 58%),linear-gradient(135deg,#fff,#fbf5f4 62%,#f7ecee)}
.bookings-hero::before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,#f5e9eb,#cfaeb1,#fbf5f4)}
.bookings-hero-inner{position:relative;z-index:2;display:grid;grid-template-columns:1fr auto;gap:18px;align-items:center}
.eyebrow{display:inline-flex;align-items:center;width:max-content;border:1px solid rgba(143,98,99,.13);background:#fbf5f4;border-radius:999px;padding:7px 12px;color:#8f6263;font-size:11px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.bookings-hero h1{margin:10px 0 8px;font-size:clamp(30px,4vw,46px);line-height:1.15;color:var(--rezo-ink)}
.bookings-hero p{margin:0;color:var(--rezo-muted);line-height:1.9;max-width:720px}
.bookings-count-badge{min-width:132px;min-height:118px;border-radius:28px;background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(251,245,244,.92));border:1px solid rgba(143,98,99,.18);color:var(--rezo-accent);display:grid;place-items:center;text-align:center;box-shadow:0 14px 34px rgba(143,98,99,.10);padding:14px;position:relative;overflow:hidden}
.bookings-count-badge::before{content:"✦";position:absolute;top:12px;left:14px;color:rgba(143,98,99,.22);font-size:22px;line-height:1}
.bookings-count-badge b{display:block;font-size:42px;line-height:1;color:var(--rezo-ink)}
.bookings-count-badge small{display:block;margin-top:8px;font-weight:900;color:var(--rezo-muted);opacity:1}
.bookings-login{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin-top:18px}
.bookings-login input{border:1px solid rgba(143,98,99,.16);border-radius:18px;padding:14px 16px;font-size:15px;background:#fff;color:var(--rezo-ink);font-weight:850;min-height:52px}
.bookings-login input:focus{outline:none;border-color:rgba(143,98,99,.38);box-shadow:0 0 0 4px rgba(143,98,99,.09)}
.primary,.ghost{border-radius:18px;padding:14px 18px;font-weight:950;cursor:pointer;text-align:center;text-decoration:none;min-height:52px;display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit}
.primary{border:1px solid rgba(143,98,99,.22);background:linear-gradient(135deg,#7f5054,#a98286);color:#fff;box-shadow:0 12px 26px rgba(143,98,99,.14)}
.primary:hover{filter:brightness(1.02);transform:translateY(-1px)}
.ghost{border:1px solid rgba(143,98,99,.18);background:#fff;color:#7f5054}
.hidden{display:none!important}.msg{display:block;color:#8f6263;font-weight:850;margin-top:10px;line-height:1.7}
.bookings-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.stats-card{padding:20px}
.stats-head{display:flex;align-items:end;justify-content:space-between;gap:12px;margin-bottom:14px}
.stats-head h2{margin:7px 0 0;color:var(--rezo-ink)}
.customer-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.customer-stat{background:linear-gradient(135deg,#fff,#fbf5f4);border:1px solid rgba(143,98,99,.11);border-radius:24px;padding:16px;min-height:126px;display:grid;align-content:space-between;box-shadow:0 12px 30px rgba(143,98,99,.045)}
.customer-stat small{color:#9a7777;font-weight:950}.customer-stat b{display:block;margin:10px 0 6px;font-size:clamp(18px,2.2vw,25px);color:var(--rezo-ink);line-height:1.35}.customer-stat span{color:var(--rezo-muted);font-size:12px;font-weight:850;line-height:1.6}
.customer-stat.green{background:linear-gradient(135deg,#fff,#fbf5f4);border-color:rgba(143,98,99,.12)}.customer-stat.green b{color:var(--rezo-accent)}
.bookings-list-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.bookings-list-head h2{margin:7px 0 0;color:var(--rezo-ink)}
.booking-list{display:grid;gap:13px}.empty{background:#fff;border:1px dashed rgba(143,98,99,.18);border-radius:24px;padding:28px;text-align:center;color:#9a7777;line-height:1.8;font-weight:850}
.booking-card{position:relative;background:linear-gradient(135deg,#fff,#fffaf7);border:1px solid rgba(143,98,99,.12);border-radius:28px;padding:18px;box-shadow:0 13px 36px rgba(143,98,99,.055);overflow:hidden}
.booking-card::before{content:"";position:absolute;right:0;top:0;bottom:0;width:7px;background:linear-gradient(180deg,#8f6263,#cfaeb1)}
.booking-card.completed::before{background:linear-gradient(180deg,#d7b48a,#9a7777)}
.booking-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding-right:5px}.booking-title small{color:#9a7777;font-weight:950}.booking-title b{display:block;font-size:21px;margin-top:5px;color:var(--rezo-ink)}
.status-soft{display:inline-flex;border-radius:999px;background:#fbf5f4;color:#8f6263;padding:8px 12px;font-weight:950;font-size:12px;white-space:nowrap}.status-soft.done{background:#fff7e8;color:#9a6b30}.status-soft.wait{background:#fffaf7;color:#9a7777}
.booking-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px}.meta{background:#fff;border:1px solid rgba(143,98,99,.08);border-radius:18px;padding:11px}.meta small{display:block;color:var(--rezo-muted);font-weight:850}.meta b{display:block;margin-top:5px;color:var(--rezo-ink);line-height:1.45}.booking-note{margin:12px 0 0;color:#8f7474;line-height:1.8;background:#fbf5f4;border:1px solid rgba(143,98,99,.08);border-radius:18px;padding:11px 13px}
.rezo-client-menu{position:relative;display:inline-flex;align-items:center;order:-10}.rezo-menu-button{width:42px;height:42px;border-radius:14px;border:1px solid rgba(143,98,99,.22);background:#fbf5f4;color:#7f5054;font-size:24px;font-weight:950;display:grid;place-items:center;cursor:pointer}.rezo-menu-panel{position:absolute;top:calc(100% + 10px);right:0;min-width:210px;background:#fff;border:1px solid rgba(143,98,99,.16);border-radius:20px;padding:8px;box-shadow:0 22px 55px rgba(143,98,99,.16);z-index:99999;display:none}.rezo-client-menu.open .rezo-menu-panel{display:grid;gap:6px}.rezo-menu-panel a,.rezo-menu-panel button{width:100%;text-align:right;border:0;background:transparent;color:#7f5054;text-decoration:none;border-radius:14px;padding:11px 12px;font-weight:900;cursor:pointer;font-family:inherit}.rezo-menu-panel a:hover,.rezo-menu-panel button:hover{background:#fbf5f4}.rezo-menu-panel .danger{color:#8f2d2d}
@media(max-width:900px){.bookings-page{padding:138px 12px 48px}.bookings-card{border-radius:28px;padding:18px}.bookings-hero-inner{grid-template-columns:1fr}.bookings-count-badge{min-width:0;min-height:88px;border-radius:22px;display:flex;align-items:center;justify-content:space-between;text-align:right}.bookings-count-badge::before{top:10px;left:12px;font-size:19px}.bookings-count-badge b{font-size:34px}.bookings-login{grid-template-columns:1fr}.customer-stats{grid-template-columns:1fr 1fr}.booking-meta{grid-template-columns:1fr 1fr}.bookings-list-head,.stats-head{align-items:flex-start;display:grid}.rezo-client-menu{position:static}.rezo-menu-panel{position:fixed!important;top:104px!important;left:14px!important;right:14px!important;min-width:0!important}}
@media(max-width:520px){.bookings-page{padding-inline:10px}.bookings-shell{gap:14px}.bookings-card{padding:16px;border-radius:24px}.bookings-hero h1{font-size:27px}.bookings-hero p{font-size:13.5px}.customer-stats{grid-template-columns:1fr}.customer-stat{min-height:104px;border-radius:21px}.booking-top{display:grid}.booking-meta{grid-template-columns:1fr}.booking-card{border-radius:24px;padding:16px}.primary,.ghost,.bookings-login input{width:100%}}