/* Member centre + booking picker styles (uses the site's CSS variables) */
.auth-card,.auth-gate,.done-card{background:#fff;border-radius:24px;padding:30px;box-shadow:var(--shadow)}
.auth-gate{text-align:center}.auth-gate h2{margin:0 0 10px;color:var(--navy)}.auth-gate p{color:var(--muted);line-height:1.8;margin:0 0 20px}
.auth-gate .bk-actions{justify-content:center}
.auth-card .book-form{margin-top:18px;display:grid;gap:16px}
.tabs{display:flex;gap:8px;flex-wrap:wrap}
.tab{border:1px solid var(--line);background:#fff;border-radius:99px;padding:10px 18px;font:inherit;font-size:14px;font-weight:800;color:var(--navy);cursor:pointer;white-space:nowrap;text-decoration:none}
.tab.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.auth-card .tabs .tab{flex:1;text-align:center}
.tabs-scroll{overflow-x:auto;flex-wrap:nowrap;padding-bottom:4px}
.acc-bar{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:26px}
.acc-actions{display:flex;gap:10px;flex-wrap:wrap}
.acc-h{font-size:18px;color:var(--navy);margin:28px 0 12px}
.form-ok{background:#effaf3;border:1px solid #b8e2c6;color:#1e6b3a;border-radius:12px;padding:12px 16px;font-size:14px;font-weight:700;margin:0 0 12px}
.form-error[hidden],.form-ok[hidden]{display:none}

/* status badges */
.st{display:inline-block;padding:4px 12px;border-radius:99px;font-size:12px;font-weight:800;white-space:nowrap}
.st-pending{background:#fff3d6;color:#8a5a00}.st-confirmed{background:#dcf5e5;color:#1e6b3a}
.st-cancelled,.st-rejected{background:#eceff0;color:#5b6a70}.st-completed{background:#e0eefc;color:#1f4f8a}.st-no_show{background:#fde3df;color:#a3321f}

/* booking cards */
.bk-card,.pkg-card,.pet-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px 22px;margin:0 0 14px;box-shadow:0 8px 24px rgba(24,67,83,.05)}
.bk-main{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.bk-when{display:grid;gap:2px}.bk-when b{color:var(--navy);font-size:16px}.bk-when span{color:#3f98a9;font-weight:800}
.bk-line{margin:10px 0 0;line-height:1.8;color:var(--ink)}
.bk-hint{margin:8px 0 0}
.bk-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}
.bk-actions .button{min-height:42px;padding:0 18px;font-size:13px;width:auto}
.pet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-bottom:20px}
.pet-card h3{margin:0 0 6px;color:var(--navy)}.pet-card p{margin:0 0 4px;color:var(--muted)}
.pet-form{margin-top:22px}
.pkg-card h3{margin:0;color:var(--navy);font-size:18px}.pkg-card.expired{opacity:.7}
.meter{height:10px;border-radius:99px;background:var(--aqua-light);overflow:hidden;margin:12px 0}.meter i{display:block;height:100%;background:var(--aqua-mid);border-radius:99px}
.pkg-nums{display:flex;gap:18px;flex-wrap:wrap;margin:6px 0;color:var(--muted);font-size:14px}.pkg-nums b{color:var(--navy);font-size:18px}.pkg-nums .rem{color:#2f7f90}
.usage{margin:8px 0 0;padding-left:18px;color:var(--muted);line-height:1.9;font-size:14px}
.pkg-card details{margin-top:8px;font-size:14px}.pkg-card summary{cursor:pointer;color:#3f98a9;font-weight:700}
.two-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px;align-items:start}

/* booking picker */
.bp-block{margin:0 0 26px}.bp-block h3{margin:0 0 12px;color:var(--navy);font-size:16px}.bp-block h3 small{font-weight:500;color:var(--muted)}
.cal{max-width:420px;border:1px solid var(--line);border-radius:18px;padding:14px;background:#fbfdfd}
.cal-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px;color:var(--navy)}
.cal-nav{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:#fff;font-size:20px;line-height:1;color:var(--navy);cursor:pointer}.cal-nav:disabled{opacity:.3;cursor:not-allowed}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:6px}
.cal-dow{text-align:center;font-size:12px;color:var(--muted);padding:4px 0}
.cal-day{aspect-ratio:1/1;border-radius:12px;border:1px solid transparent;background:#fff;font:inherit;font-weight:700;font-size:14px;color:var(--navy);display:grid;place-items:center;cursor:pointer;padding:0}
.cal-day.empty{background:none;border:0;cursor:default}
.cal-day.ok{background:var(--aqua-light);border-color:#cfe9ed}.cal-day.ok:hover{background:#d6eef2}
.cal-day.sel{background:var(--navy);color:#fff;border-color:var(--navy)}
.cal-day.full{background:#fbe9e6;color:#b4563f;text-decoration:line-through}
.cal-day.closed,.cal-day.na{background:#f2f4f4;color:#a9b4b8;cursor:not-allowed}
.cal-legend{display:flex;gap:14px;flex-wrap:wrap;margin-top:12px;font-size:12px;color:var(--muted)}.cal-legend span{display:inline-flex;align-items:center;gap:6px}
.lg{display:inline-block;width:12px;height:12px;border-radius:4px}.lg.ok{background:var(--aqua-light);border:1px solid #cfe9ed}.lg.full{background:#fbe9e6}.lg.closed{background:#f2f4f4}
.slots-date{margin:0 0 10px;font-weight:700;color:var(--navy)}
.slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px}
.slot{border:1px solid #cfe9ed;background:var(--aqua-light);border-radius:14px;padding:10px 6px;font:inherit;cursor:pointer;display:grid;gap:2px;color:var(--navy)}
.slot b{font-size:15px}.slot small{font-size:11px;color:#2f7f90;font-weight:700}
.slot.sel{background:var(--navy);border-color:var(--navy);color:#fff}.slot.sel small{color:#bfe3ea}
.slot:disabled{background:#f2f4f4;border-color:var(--line);color:#a9b4b8;cursor:not-allowed}.slot:disabled small{color:#a9b4b8}
.bp-flex{margin-top:14px}.bp-services{display:flex;flex-wrap:wrap;gap:4px 8px;margin-bottom:12px}
.bp-note{display:grid;gap:6px;font-size:14px;font-weight:600;color:var(--navy);margin-top:14px}
.bp-note textarea{font:inherit;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fbfdfd;width:100%}

/* done state + modal */
.done-card{text-align:center;max-width:560px;margin:0 auto}
.done-ico{width:64px;height:64px;border-radius:50%;background:#dcf5e5;color:#1e6b3a;display:grid;place-items:center;font-size:32px;margin:0 auto 12px}
.done-card h2{margin:0 0 8px;color:var(--navy)}.done-card .lead{font-size:15px;margin:14px 0}
.done-dl{display:grid;grid-template-columns:auto 1fr;gap:8px 18px;text-align:left;background:var(--aqua-light);border-radius:16px;padding:16px 20px;margin:16px 0}
.done-dl dt{color:#2f7f90;font-weight:800;font-size:13px}.done-dl dd{margin:0;color:var(--navy);font-weight:700}
.done-card .bk-actions{justify-content:center}
.pf-modal{position:fixed;inset:0;background:rgba(10,30,45,.5);z-index:100;display:grid;place-items:center;padding:16px;overflow:auto}
.modal-box{background:#fff;border-radius:24px;padding:28px;width:min(640px,100%);max-height:92vh;overflow:auto;position:relative}
.modal-box h2{margin:0 0 6px;color:var(--navy)}.modal-x{position:absolute;right:14px;top:14px;width:36px;height:36px;border-radius:50%;border:0;background:var(--aqua-light);font-size:22px;line-height:1;cursor:pointer;color:var(--navy)}
.modal-box .button-dark{margin-top:14px}
@media(max-width:520px){.auth-card,.auth-gate,.done-card{padding:22px}.modal-box{padding:22px}.acc-actions .button{flex:1}}
