:root{--sand:#f6f3ec;--navy:#0b2f6b;--gold:#c4a35a;--ink:#1c1915;--white:#fff;--line:rgba(11,47,107,.2);--muted:rgba(28,25,21,.7);--green:#065f46;--red:#9f0712;--amber:#92400e;--shadow:0 1px 3px rgba(0,0,0,.10),0 1px 2px -1px rgba(0,0,0,.10)}
*{box-sizing:border-box}html{min-height:100%;background:var(--sand);color:var(--ink);font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}body{min-height:100vh;margin:0;background:var(--sand)}button,input,select,textarea{font:inherit}a{color:var(--navy)}
.reference-header{width:100%;max-width:576px;margin:0 auto 24px;padding:calc(24px + env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 0 max(16px,env(safe-area-inset-left))}.gold-mark{width:64px;height:6px;margin-bottom:16px;border-radius:999px;background:var(--gold)}.club-name{margin:0;color:rgba(11,47,107,.7);font-size:14px;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.parking-name{margin:4px 0 0;color:var(--navy);font-size:24px;font-weight:600}.reference-nav{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.reference-nav form{margin:0}.nav-pill{display:inline-flex;height:44px;align-items:center;border:0;border-radius:12px;background:var(--white);padding:0 12px;color:var(--navy);font-size:14px;font-weight:600;text-decoration:none;cursor:pointer}.nav-pill.active{background:var(--navy);color:var(--white)}
.reference-page{display:flex;min-height:calc(100vh - 220px);width:100%;max-width:576px;flex-direction:column;margin:0 auto;padding:0 max(16px,env(safe-area-inset-right)) calc(24px + env(safe-area-inset-bottom)) max(16px,env(safe-area-inset-left))}.reference-page main{flex:1}.reference-page footer{margin-top:40px;color:var(--muted);font-size:14px;line-height:24px}
.customer-heading,.dashboard-heading{margin-bottom:24px}.customer-heading h1,.dashboard-heading h1,.customer-form-page h1,.card h1{margin:0;color:var(--navy);font-size:30px;line-height:36px;font-weight:600}.customer-heading>p,.dashboard-heading>p,.customer-form-page>p,.card>p{margin:16px 0 0;line-height:28px}.eyebrow{display:block;margin-bottom:8px;color:rgba(11,47,107,.7);font-size:14px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.pilot-note,.confidence,.notice{margin-top:20px;border-radius:12px;background:rgba(196,163,90,.2);padding:12px 16px;font-size:14px;line-height:24px}.action-stack{display:grid;gap:12px;margin-top:24px}.button{display:inline-flex;min-height:56px;width:100%;align-items:center;justify-content:center;border:0;border-radius:12px;padding:0 16px;font-size:18px;font-weight:600;text-align:center;text-decoration:none;cursor:pointer}.button.primary,.primary{background:var(--navy);color:var(--white)}.button.secondary,.secondary{border:1px solid var(--line);background:var(--white);color:var(--navy)}.button:hover{filter:brightness(.96)}.button:disabled{cursor:not-allowed;opacity:.4}
.trust-grid{display:grid;gap:16px;margin-top:28px}.trust-grid article,.card,.session-row,.empty-state{border-radius:16px;background:var(--white);padding:16px;box-shadow:var(--shadow)}.trust-grid article>span{color:var(--gold);font-size:14px;font-weight:700;letter-spacing:.08em}.trust-grid h2{margin:8px 0 0;color:var(--navy);font-size:20px;line-height:28px}.trust-grid p{margin:10px 0 0;color:var(--muted);font-size:15px;line-height:24px}
.customer-form-page{max-width:100%}.customer-form-page .form-stack{margin-top:24px}.social-auth{display:grid;gap:12px;margin-top:24px}.social-auth form{margin:0}.social-button{position:relative;border:1px solid var(--line);background:var(--white);color:var(--navy)}.google-button{border-color:#747775;color:#1f1f1f;font-family:Roboto,Arial,sans-serif}.google-mark{width:20px;height:20px;margin-right:12px;flex:none}.auth-divider{display:flex;align-items:center;gap:12px;margin:22px 0;color:var(--muted);font-size:13px;text-align:center}.auth-divider::before,.auth-divider::after{height:1px;flex:1;background:var(--line);content:""}.auth-divider span{flex:none}.auth-divider+.form-stack{margin-top:0}.card{max-width:100%}.card h1{margin-top:4px}.form-stack{display:grid;gap:20px;margin-top:20px}.form-stack label:not(.checkbox-row){display:block;font-weight:600}.form-stack input[type=text],.form-stack input[type=email],.form-stack input[type=password],.form-stack select,.form-stack textarea{width:100%;min-height:56px;margin-top:8px;border:1px solid var(--line);border-radius:12px;background:var(--white);padding:0 16px;color:var(--ink);font-size:18px;outline:none}.form-stack textarea{min-height:150px;padding-top:14px;line-height:24px;resize:vertical}.form-stack input:focus,.form-stack select:focus,.form-stack textarea:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(11,47,107,.35)}.checkbox-row{display:flex;align-items:flex-start;gap:12px;line-height:24px}.checkbox-row input{width:20px;height:20px;flex:none;accent-color:var(--navy)}.errorlist{margin:0;padding:12px 16px;border-radius:12px;background:#fef2f2;color:var(--red);font-size:14px;line-height:22px;list-style:none}.privacy-note{margin:20px 0 0!important;border-top:1px solid var(--line);padding-top:16px;color:var(--muted);font-size:14px;line-height:22px!important}
.message-stack{display:grid;gap:10px;margin-bottom:20px}.message{margin:0;border-radius:12px;background:rgba(196,163,90,.2);padding:12px 16px;line-height:24px}.message.success{background:#ecfdf5;color:#002c22}.message.warning,.message.error{background:#fef2f2;color:var(--red)}
.dashboard-heading .button{margin-top:20px}.session-list{display:grid;gap:12px}.session-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.session-row div{display:grid;gap:6px}.session-row strong{color:var(--navy);font-size:20px}.session-row small{color:var(--muted);line-height:22px}.status-pill{display:inline-flex;flex:none;border-radius:999px;background:rgba(196,163,90,.2);padding:5px 10px;color:var(--navy);font-size:12px;font-weight:700;text-transform:uppercase}.status-pill.paid{background:#ecfdf5;color:#002c22}.status-pill.cancelled,.status-pill.refunded{background:#fef2f2;color:var(--red)}.empty-state{text-align:center}.empty-state h2{margin:0;color:var(--navy);font-size:22px}.empty-state p{margin:10px 0 0;color:var(--muted);line-height:24px}
.success-panel{text-align:center}.success-panel .status-mark{display:inline-grid;width:56px;height:56px;place-items:center;border-radius:999px;background:var(--navy);color:var(--white);font-size:28px;font-weight:700;margin-bottom:16px}.success-panel .button{margin-top:20px}.success-panel .notice{text-align:left}
.print-sign{max-width:576px;margin:auto;border:8px solid var(--navy);border-radius:16px;background:var(--white);padding:32px 24px;text-align:center;box-shadow:var(--shadow)}.sign-lion{width:80px}.print-sign h1{margin:12px 0 0;color:var(--navy);font-size:42px;line-height:48px}.print-sign>p{line-height:26px}.qr-code{display:block;width:min(340px,90%);margin:24px auto}.print-sign ol{display:flex;justify-content:center;gap:18px;padding:0;list-style-position:inside;font-weight:600}.sign-help{color:var(--muted);font-size:13px}.print-button{margin-top:20px}
.result-card{border-radius:16px;background:var(--white);padding:16px;box-shadow:var(--shadow)}.result-card h1{margin:0;color:var(--navy);font-size:30px;line-height:36px}.result-card h2{margin:8px 0 0}.result-card p{line-height:28px}
.nav-pill:focus-visible,.button:focus-visible,a:focus-visible{outline:3px solid rgba(11,47,107,.45);outline-offset:2px}
@media(min-width:640px){.trust-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.trust-grid article:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:480px){.session-row{align-items:flex-start;flex-direction:column}.status-pill{align-self:flex-start}.print-sign ol{gap:8px;font-size:14px}}
@media print{body{background:#fff}.reference-header,.reference-page footer,.print-button{display:none}.reference-page{max-width:none;min-height:0;padding:0}.print-sign{max-width:none;min-height:96vh;display:flex;flex-direction:column;justify-content:center;border-color:var(--navy);border-radius:0;box-shadow:none}}
