/* Shared styles for the booking pages: coach dashboard, Book PT, My account */
:root{--ink:#0b0c10;--ink-2:#14161d;--ink-3:#1b1e27;--red:#e3141e;--navy:#1d3a8f;--bone:#f3f0ea;--muted:#a3a8b6;--soft:#cfd2da;--line:#262a35;--tbc:#f5c542;--ok:#7be3a6;--bad:#ffb3b6;
--display:"Big Shoulders Display",Impact,"Arial Narrow",sans-serif;--cond:"Barlow Condensed","Arial Narrow",sans-serif;--body:"Barlow",system-ui,"Segoe UI",sans-serif;color-scheme:dark}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--ink);color:var(--bone);font:17px/1.55 var(--body);min-height:100vh;padding-bottom:env(safe-area-inset-bottom,0px)}
a{color:inherit}
img{max-width:100%;display:block}
[hidden]{display:none!important}
:focus-visible{outline:3px solid var(--tbc);outline-offset:3px}
.wrap{max-width:1100px;margin:0 auto;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.top{background:rgba(11,12,16,.92);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10;padding-top:env(safe-area-inset-top,0px)}
.top .wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-block:10px}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none}
.brand img{width:44px;height:44px}
.brand b{font:900 22px/1 var(--display);text-transform:uppercase}
.toplinks{display:flex;gap:16px;align-items:center;font:700 14px var(--cond);letter-spacing:.12em;text-transform:uppercase}
.toplinks a,.toplinks button{color:var(--muted);text-decoration:none;background:none;border:0;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:0}
.toplinks a:hover,.toplinks button:hover{color:var(--bone)}
main{padding-block:36px 80px}
h1,h2,h3{font-family:var(--display);text-transform:uppercase;line-height:.92;margin:0;text-wrap:balance}
h1{font-size:clamp(44px,7vw,76px);font-weight:900}
h2{font-size:clamp(30px,4vw,44px);font-weight:900}
h3{font-size:24px;font-weight:900}
p{margin:0}
.kick{font:700 14px/1 var(--cond);letter-spacing:.2em;text-transform:uppercase;color:var(--red)}
.lede{color:var(--soft);font-size:18px;max-width:60ch}
.muted{color:var(--muted)}
.stack{display:grid;gap:14px;align-content:start}
.panel{background:var(--ink-2);border-top:4px solid var(--red);padding:22px;display:grid;gap:16px;align-content:start;min-width:0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:820px){.grid2{grid-template-columns:1fr}}
label{display:grid;gap:6px;font:700 13px var(--cond);letter-spacing:.14em;text-transform:uppercase;color:var(--muted);min-width:0}
input,select,textarea{font:16px var(--body);color:var(--bone);background:var(--ink);border:1px solid var(--line);padding:12px 13px;width:100%;border-radius:0}
textarea{min-height:80px;resize:vertical}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:end}
.row>label{flex:1 1 160px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font:700 16px/1 var(--cond);text-transform:uppercase;letter-spacing:.12em;text-decoration:none;padding:15px 22px;border:2px solid var(--red);background:var(--red);color:#fff;cursor:pointer}
.btn:disabled{opacity:.5;cursor:default}
.btn.ghost{background:transparent;border-color:var(--line);color:var(--bone)}
.btn.small{padding:9px 13px;font-size:13px}
.btn.full{width:100%}
.err{color:var(--bad);font-size:15px}
.ok{color:var(--ok);font-size:15px}
.note{border:1px solid var(--line);padding:12px 14px;color:var(--soft);font-size:15px}
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-block:22px}
.tabs button{border:1px solid var(--line);background:var(--ink-2);color:var(--muted);padding:10px 16px;font:700 15px var(--cond);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
.tabs button[aria-selected="true"]{background:var(--bone);color:var(--ink);border-color:var(--bone)}
.day{margin-top:18px}
.day>h3{font-size:20px;color:var(--red);margin-bottom:8px}
.slots{display:flex;flex-wrap:wrap;gap:8px}
.slot{border:1px solid var(--line);background:var(--ink-2);color:var(--bone);padding:12px 14px;font:700 16px var(--cond);letter-spacing:.06em;cursor:pointer;display:grid;gap:2px;text-align:left;min-width:120px}
.slot small{font:600 13px var(--body);color:var(--muted);letter-spacing:0}
.slot:hover{border-color:var(--red)}
.slot[aria-pressed="true"]{background:var(--red);border-color:var(--red)}
.slot[aria-pressed="true"] small{color:#fff}
.list{display:grid;gap:8px}
.item{display:grid;grid-template-columns:1fr auto;gap:6px 14px;align-items:center;padding:14px;background:var(--ink-2);border-left:4px solid var(--line);min-width:0}
.item.booked{border-left-color:var(--red)}
.item.open{border-left-color:var(--ok)}
.item.cancelled{opacity:.6}
.item b{font:700 18px var(--cond);letter-spacing:.04em}
.item .meta{color:var(--muted);font-size:15px;overflow-wrap:anywhere}
.item .acts{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.pill{display:inline-block;font:700 12px var(--cond);letter-spacing:.14em;text-transform:uppercase;padding:3px 9px;border:1px solid var(--line);margin-left:8px;vertical-align:2px}
.pill.open{color:var(--ok);border-color:var(--ok)}
.pill.booked{color:#fff;background:var(--red);border-color:var(--red)}
.coachpick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.coachpick button{border:2px solid var(--line);background:var(--ink-2);color:var(--bone);padding:0;cursor:pointer;text-align:left;display:grid;min-width:0}
.coachpick img{width:100%;aspect-ratio:1;object-fit:cover;object-position:50% 20%}
.coachpick span{padding:10px 12px;font:900 20px/1 var(--display);text-transform:uppercase}
.coachpick button[aria-pressed="true"]{border-color:var(--red);box-shadow:0 0 0 2px var(--red)}
.coachpick .any{display:grid;place-items:center;aspect-ratio:1;font:900 28px var(--display);color:var(--muted)}
@media (max-width:700px){.coachpick{grid-template-columns:1fr 1fr}}
.files{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}
.file{background:var(--ink-2);display:grid;gap:6px;padding-bottom:8px;min-width:0}
.file .thumb{aspect-ratio:1;background:#000;display:grid;place-items:center;overflow:hidden}
.file .thumb img,.file .thumb video{width:100%;height:100%;object-fit:cover}
.file .fm{padding:0 8px;font-size:13px;color:var(--muted);overflow-wrap:anywhere}
.file .fa{padding:0 8px;display:flex;gap:8px;font:700 13px var(--cond);letter-spacing:.1em;text-transform:uppercase}
.file .fa a,.file .fa button{color:var(--soft);background:none;border:0;font:inherit;letter-spacing:inherit;text-transform:inherit;cursor:pointer;padding:0;text-decoration:underline}
.drop{border:2px dashed var(--line);padding:22px;text-align:center;display:grid;gap:10px;justify-items:center}
.prog{height:6px;background:var(--line);overflow:hidden}
.prog i{display:block;height:100%;width:0;background:var(--red);transition:width .2s}
.empty{padding:18px;border:1px dashed var(--line);color:var(--muted);text-align:center}
.summary{display:grid;gap:4px;padding:16px;background:var(--ink-3);border-left:4px solid var(--red)}
.summary b{font:900 26px/1 var(--display);text-transform:uppercase}

.pw{position:relative;display:block}
.pw input{padding-right:78px}
.pw button{position:absolute;right:6px;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--soft);font:700 13px var(--cond);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;padding:8px}

/* sign-in options */
.gwrap{display:flex;justify-content:center;min-height:44px}
.gor{display:flex;align-items:center;gap:12px;color:var(--muted,#9aa0ad);font-size:14px;margin:14px 0 4px}
.gor:before,.gor:after{content:"";flex:1;height:1px;background:var(--line,#262a35)}
.vnote{border:1px solid #f5c542;background:rgba(245,197,66,.08);padding:12px 14px;font-size:15px}
.vnote button{background:none;border:0;color:inherit;text-decoration:underline;cursor:pointer;font:inherit;padding:0}
.vok{border:1px solid #2e9d5b;background:rgba(46,157,91,.1);padding:12px 14px;font-size:15px}

.clubtt{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:14px 0}
.cday{border:1px solid var(--line,#262a35);padding:12px 14px;display:grid;gap:6px;align-content:start}
.cday b{font:700 14px var(--cond,'Barlow Condensed',sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--red,#e3141e)}
.cday span{font-size:15px;line-height:1.3}
.cday i{font-style:normal;font-weight:700;margin-right:4px}
.cday small{color:var(--muted,#9aa0ad)}
