:root{color-scheme:dark;--bg:#191715;--card:#24211f;--orange:#dd6c32;--button:#a94014;--text:#faf7f2;--muted:#c8bfb7;--line:#51473f;--display:'Oswald','Arial Narrow',sans-serif;--body:'DM Sans',sans-serif}*{box-sizing:border-box}body{margin:0;background:#100f0e;color:var(--text);font:16px/1.55 var(--body)}a{color:inherit}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid #ffb888;outline-offset:4px}button:disabled{opacity:.6;cursor:default}.shell{max-width:600px;min-height:100dvh;margin:auto;background:var(--bg);box-shadow:0 0 80px #0006}.topbar{position:sticky;top:0;z-index:10;background:#191715f5;backdrop-filter:blur(16px);padding:calc(12px + env(safe-area-inset-top)) 22px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font:600 21px var(--display);letter-spacing:1px}.brand img{object-fit:cover;border-radius:4px}.icon-button{background:transparent;border:0;color:var(--text);min-width:48px;min-height:48px;display:grid;place-items:center;border-radius:5px}.icon-button:hover{background:#ffffff12}main{padding-bottom:calc(105px + env(safe-area-inset-bottom))}h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.1;margin:0 0 14px}h1{font-size:clamp(38px,9.6vw,55px);letter-spacing:-.7px}h2{font-size:30px}h3{font-size:24px}p{margin:0 0 18px}.eyebrow{color:var(--orange);text-transform:uppercase;font-weight:700;font-size:11px;letter-spacing:2.1px;margin-bottom:13px}.pad{padding:28px 24px}.intro{padding-bottom:26px}.orange{color:var(--orange)}.lead{color:var(--muted);font-size:17px}.button{display:flex;align-items:center;justify-content:center;gap:12px;text-align:center;background:var(--button);color:#fff;border:1px solid #d26a39;border-radius:4px;text-decoration:none;font-weight:700;padding:13px 18px;min-height:50px;width:100%}.button:hover{background:#c45120}.secondary{background:transparent;border-color:var(--line);color:var(--text)}.secondary:hover{background:#ffffff0b}.text-link{color:#f4a371;text-underline-offset:4px;display:inline-block;padding:8px 0;min-height:44px}.hero-photo{width:100%;height:240px;object-fit:cover;display:block}.card{background:linear-gradient(135deg,#292522,#201e1c);border:1px solid var(--line);border-radius:7px;padding:22px;margin-bottom:20px}.card p{color:var(--muted)}.card .eyebrow{color:var(--orange)}.card h2{font-size:30px}.date-line{font-size:14px}.stack{display:grid;gap:12px}.stack .button{margin:0}.small{font-size:13px;color:var(--muted)}.note{margin:14px 0 0;font-size:13px;color:var(--muted)}.section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:16px;margin-bottom:12px}.section-heading h2{font-size:27px;margin:0}.themes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.theme{padding:16px 4px;text-align:center;border:1px solid var(--line);border-radius:5px}.theme span{display:block;color:var(--orange);font:600 13px var(--display);margin-bottom:5px}.theme strong{font:500 19px var(--display)}.theme small{display:block;font-size:9px;color:var(--muted)}.bottom-nav{position:fixed;bottom:0;left:50%;transform:translateX(-50%);width:min(100%,600px);display:grid;grid-template-columns:repeat(4,1fr);padding:10px 9px calc(10px + env(safe-area-inset-bottom));background:#191715f7;backdrop-filter:blur(16px);border-top:1px solid var(--line);z-index:20}.bottom-nav a{min-height:51px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;text-decoration:none;font-size:11px;color:#ddd4ce}.bottom-nav a[aria-current=page]{color:#f58949}.bottom-nav a[aria-current=page] svg{stroke-width:2.5}.benefits{list-style:none;padding:0;margin:0 0 22px}.benefits li{padding:13px 0;border-bottom:1px solid var(--line)}.benefits li::before{content:'✓';margin-right:12px;color:var(--orange)}.member-visual{background:linear-gradient(120deg,#a64013,#d66d32);padding:24px;border:1px solid #f7c498;border-radius:9px;margin-bottom:20px;position:relative;overflow:hidden}.member-visual img{width:58px;border-radius:5px;margin-bottom:20px}.member-visual h2{font-size:32px}.member-visual p{max-width:280px;margin-bottom:0;color:#fff1e5}.member-visual::after{content:'DAD’S CLUB';position:absolute;font:600 75px var(--display);transform:rotate(-20deg);right:-20px;top:80px;opacity:.1;pointer-events:none}.member-visual .eyebrow{color:#fff1e5}details{border-top:1px solid var(--line);padding:15px 0}summary{cursor:pointer;font-weight:600;min-height:35px}details p{margin:12px 0 0;color:var(--muted)}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:12px}.photo{background:var(--card);border:1px solid var(--line);color:var(--text);border-radius:5px;overflow:hidden;padding:0;text-align:left}.photo img{width:100%;height:145px;object-fit:cover;display:block}.photo span{display:block;padding:10px;font-size:12px}.photo:hover img{opacity:.85}dialog{background:var(--card);color:var(--text);border:1px solid var(--line);border-radius:10px;width:min(92%,540px);padding:32px 24px;max-height:85dvh}dialog::backdrop{background:#000b;backdrop-filter:blur(4px)}dialog .close{position:absolute;right:7px;top:5px;font-size:30px}dialog h2{padding-right:25px}dialog h3{margin-top:22px;font-size:23px}dialog p{color:var(--muted)}#photo-full{max-width:100%;max-height:64dvh;object-fit:contain;display:block;margin:20px auto 14px}#photo-caption{margin:0;text-align:center}#offline{background:#533418;padding:10px 22px;color:#fff1dd;font-size:12px}#toast{position:fixed;bottom:calc(95px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:#f7efe2;color:#24130d;border-radius:5px;padding:12px 18px;box-shadow:0 4px 25px #0008;z-index:40;width:max-content;max-width:90%;font-size:14px;opacity:0;pointer-events:none}#toast.visible{opacity:1}.skip{position:absolute;left:-9999px}.skip:focus{left:16px;top:16px;padding:10px;background:white;color:black;z-index:99}form label{display:block;font-size:13px;font-weight:600;margin:14px 0 6px}input,textarea{width:100%;min-height:48px;border:1px solid #817268;border-radius:4px;background:#191715;color:white;padding:10px 12px}form .button{margin-top:16px}textarea{resize:vertical}[hidden]{display:none!important}.status-pill{color:#edab80;background:#502b1a;border-radius:3px;padding:5px 8px;font-size:12px;display:inline-block;margin-bottom:15px}.saved-row{padding:14px 0 0}.footer-note{text-align:center;font-size:12px;color:#aaa095;margin-top:28px}.footer-note a{display:inline-block;padding:8px}.offline-links{padding-top:15px}@media(min-width:700px){.shell{margin:24px auto 0;border:1px solid var(--line);border-radius:16px 16px 0 0;overflow:clip}.topbar{top:0}.hero-photo{height:280px}.pad{padding:32px}.bottom-nav{border-left:1px solid var(--line);border-right:1px solid var(--line)}}@media(max-width:350px){.pad{padding:24px 18px}.bottom-nav a{font-size:10px}.themes{gap:4px}.theme strong{font-size:17px}}
:root{--card:#2a2623;--line:#ffffff1e}.button{border-radius:12px}.card{border-radius:18px}.topbar{gap:12px;min-height:83px;padding:14px 22px}.profile-button,.member-avatar{display:grid;place-items:center;background:#6b4936;color:#fff3e6;border-radius:50%;font-weight:600;text-decoration:none;flex-shrink:0}.profile-button{width:44px;height:44px;font-size:14px}.club-location{text-align:center;flex:1;line-height:1.25}.club-location>span{font:600 21px var(--display);letter-spacing:1px}.club-location small{display:block;font-size:9px;letter-spacing:1.8px;margin-top:5px;color:var(--muted)}.topbar #quick-card{border:1px solid var(--line);border-radius:50%}.demo-badge{border:1px solid #db8c5d66;background:#74412330;color:#eab997;letter-spacing:1px;font-size:9px;padding:5px 7px;border-radius:5px;white-space:nowrap}.login-cover{height:310px;position:relative;background:linear-gradient(0deg,#191715 1%,#19171538 75%),url('/assets/patio-gathering-640.webp') center 48%/cover}.login-brand{display:flex;align-items:center;gap:12px;padding:25px}.login-brand img{width:43px;border-radius:4px}.login-brand>span:first-of-type{font:600 23px var(--display);letter-spacing:1.4px}.login-brand .demo-badge{margin-left:auto}.login-message{position:absolute;bottom:20px;padding:0 25px}.login-message h1{font-size:48px}.login-message .eyebrow{color:#f9ae80}.login-panel{padding-top:12px}.login-panel h2{font-size:32px}.login-panel .lead{font-size:15px;margin-bottom:20px}.login-panel .button{margin-top:22px}.login-panel input{background:#292522;border-color:#ffffff2c;border-radius:10px;min-height:52px;color:#ded4ca}.password-field{position:relative}.password-field input{padding-right:65px}.show-password{position:absolute;right:10px;top:6px;min-height:40px;border:0;background:none;color:#e8c0a7;font-size:12px;padding:0 8px}.login-help{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:16px;font-size:12px}.text-button{border:0;background:none;color:#e8c0a7;padding:10px 0;cursor:pointer;min-height:44px}.member-home-hero{position:relative;height:325px}.member-home-hero>img{width:100%;height:100%;object-fit:cover}.member-home-hero::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0b0a09bd,transparent),linear-gradient(0deg,#191715,transparent 80%)}.member-home-copy{position:absolute;inset:auto 25px 30px;z-index:1}.member-home-copy .eyebrow{color:#efc7a8;font-size:10px}.member-home-copy h1{font-size:53px;line-height:1.04;margin-bottom:20px}.member-home-copy h1 span{color:#f6ae7d}.hero-card-link{font-size:11px;letter-spacing:1px;font-weight:700;text-decoration:none;padding:10px 0}.member-dashboard{padding-top:12px}.dashboard-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:20px}.dashboard-heading h2{font:600 23px var(--body);margin:0}.quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:30px}.quick-actions>button,.quick-actions>a{padding:20px 16px;background:linear-gradient(135deg,#41362e,#2a2623);border:1px solid #ffffff1c;border-radius:18px;text-align:left;color:var(--text);text-decoration:none}.quick-actions svg{display:block;color:#f8ba94;width:28px;height:28px;margin-bottom:18px}.quick-actions span{display:block;font-size:14px;font-weight:600;line-height:1.3;margin-bottom:6px}.quick-actions small{font-size:10px;color:var(--muted);display:block}.member-dashboard .section-heading h2{font:600 20px var(--body)}.member-dashboard .text-link{font-size:12px}.up-next{display:flex;align-items:center;gap:15px;background:var(--card);border:1px solid var(--line);border-radius:18px;text-decoration:none;padding:18px 14px;margin-bottom:30px}.calendar-tile{background:#a56b48;border-radius:12px;width:60px;min-width:60px;padding:10px 3px;text-align:center;line-height:1.2}.calendar-tile small,.calendar-tile span{font-size:10px;letter-spacing:1px;display:block}.calendar-tile strong{font:500 33px var(--display);display:block;margin:3px 0}.up-next .eyebrow{font-size:8px;letter-spacing:1.2px;margin:0 0 6px}.up-next h3{font:600 20px var(--body);margin:0 0 6px}.up-next p:not(.eyebrow){font-size:11px;color:var(--muted);margin:0 0 6px}.up-next div>small{font-size:10px;color:#edb38c}.up-next>span{margin-left:auto;font-size:25px}.community-preview{position:relative;display:block;border-radius:18px;overflow:hidden;text-decoration:none}.community-preview img{width:100%;height:210px;object-fit:cover;display:block}.community-preview>div{position:absolute;bottom:0;padding:45px 20px 18px;background:linear-gradient(transparent,#000c);width:100%}.community-preview h3{font-size:25px;margin-bottom:5px}.community-preview p{margin:0;font-size:11px}.virtual-card{border-radius:20px;overflow:hidden;border:1px solid #ffffff40;box-shadow:0 18px 45px #0005;margin:20px 0}.virtual-card-top{display:flex;align-items:center;gap:10px;padding:18px;background:linear-gradient(120deg,#933e1b,#bf5b2c);font:600 19px var(--display);letter-spacing:.5px}.virtual-card-top>img{width:38px;border-radius:4px}.virtual-card-top small{font:600 8px var(--body);letter-spacing:1.8px}.virtual-card-top .member-status{font:600 9px var(--body);background:#ffffff24;padding:7px;border-radius:20px;margin-left:auto;white-space:nowrap}.virtual-card-body{background:#f9f4ed;color:#2d2119;padding:22px}.member-identity{display:flex;align-items:center;gap:13px;margin-bottom:20px}.member-avatar{width:47px;height:47px;font-size:15px;background:#a76742}.member-identity h2{font:700 21px var(--body);margin:0 0 4px}.member-identity p{font-size:12px;margin:0;color:#735947}.qr-panel{display:flex;flex-direction:column;align-items:center;background:#fff;padding:14px;border-radius:14px;margin:0 auto 20px;max-width:262px}.qr-panel img{width:min(100%,216px);height:auto}.qr-panel strong{font-size:12px;letter-spacing:1.5px;margin-top:5px}.card-expiry{font-size:10px;color:#796354;display:flex;justify-content:space-between;gap:12px}.card-expiry strong{display:block;color:#2d2119;font-size:11px;margin-top:3px}.demo-card-note{text-align:center;font-size:9px;letter-spacing:1px;color:#8b3b20;margin:18px 0 0;padding-top:12px;border-top:1px solid #dfd0c5}.scan-help{text-align:center;font-size:13px;color:var(--muted);margin:22px 0}.card-screen h1{font-size:39px}.member-detail-list{margin:24px 0}.member-detail-list>div{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--line);padding:15px 0;font-size:12px}.member-detail-list span{color:var(--muted)}.member-detail-list strong{text-align:right;font-weight:500}.account-profile{display:flex;align-items:center;gap:15px;margin:25px 0 35px}.account-profile .member-avatar{width:60px;height:60px}.account-profile h2{font:600 22px var(--body);margin-bottom:4px}.account-profile p{font-size:13px;margin:0;color:var(--muted)}#member-dialog{width:min(94%,470px);border-radius:24px}#member-dialog h2{font-size:27px}#member-dialog .virtual-card-body{padding:17px}#member-dialog .scan-help{font-size:12px}#checkin-dialog{border-radius:24px}.scan-target{display:flex;flex-direction:column;align-items:center;background:#fff;color:#191715;border-radius:16px;width:230px;max-width:100%;margin:25px auto;padding:20px}.scan-target img{width:170px;max-width:100%;height:auto}.scan-target span{font-size:11px;letter-spacing:1px}.checkmark{display:grid;place-items:center;width:72px;height:72px;background:#3b6245;color:#d7f4d9;border-radius:50%;font-size:38px;margin:28px auto 20px}#checkin-dialog h2{text-align:center;padding:0}.checkin-subtitle{text-align:center}.demo-inline{border:1px solid var(--line);font-size:10px;padding:3px 6px;border-radius:4px}.checkin-details{display:flex;flex-direction:column;gap:9px;border:1px solid var(--line);border-radius:14px;padding:20px;margin:20px 0;font-size:13px}.checkin-details span{color:var(--muted)}.bottom-nav a[aria-current=page]{color:#f1ad80}#info-dialog,#photo-dialog{border-radius:24px}input:read-only{cursor:default}@media(max-width:350px){.up-next{gap:10px;padding:14px 10px}.calendar-tile{width:49px;min-width:49px}.up-next h3{font-size:18px}.virtual-card-top{padding:14px;gap:7px}.virtual-card-top>img{width:31px}.virtual-card-top>span{font-size:17px}.virtual-card-top .member-status{font-size:8px}.card-expiry{flex-direction:column}.card-screen h1{font-size:34px}.login-message h1{font-size:43px}}

.auth-message{color:#ffc9ab;margin-top:16px;font-size:15px}.auth-state{padding-top:80px}.auth-state .button{margin:14px 0}.inactive-card{text-align:center;color:#33241e!important;padding:24px 0}.qr-panel img{max-width:100%;height:auto}.login-panel label,.login-panel .note,.login-help,.member-detail-list{font-size:14px}.login-panel .lead{font-size:16px}.demo-badge{font-size:12px;white-space:normal}.member-identity h2,.account-profile h2{overflow-wrap:anywhere}.account-profile p{overflow-wrap:anywhere}.account-profile>div:last-child{min-width:0}#member-code{font-size:24px;letter-spacing:.18em}

.reservation-tabs{display:flex;gap:8px;margin-top:24px}.reservation-tabs button{flex:1;border:1px solid var(--line);border-radius:12px;padding:13px 8px;background:var(--card);color:var(--text);font-size:14px}.reservation-tabs button[aria-pressed=true]{background:var(--button);border-color:var(--orange)}.gathering-list{padding-top:0}.reservation-confirmed{display:flex;flex-direction:column;gap:4px;background:#253e2b;border:1px solid #53785c;border-radius:12px;padding:14px;margin:16px 0}.reservation-confirmed strong{font-size:17px;color:#e0f4e1}.reservation-confirmed span{font-size:14px;color:#c9d9cc}#reservation-dialog{border-radius:24px}.reservation-summary{margin:20px 0;padding:18px;background:#191715;border:1px solid var(--line);border-radius:14px}.reservation-person{display:flex;flex-direction:column;border-top:1px solid var(--line);padding-top:12px;font-size:14px}.reservation-person span{color:var(--muted)}#reservation-content>.button{margin-top:16px}#reservation-content h2{padding-right:12px}

.calendar-heading{font-size:1.25rem;margin:24px 0 12px}.calendar-month .gathering-card{margin-bottom:0}.reservation-tabs button{min-width:0}.reservation-tabs{flex-wrap:wrap}

.admin-entry{padding-bottom:0}.admin-group{margin:28px 0}.admin-guest{display:grid;gap:6px;padding:16px 0;border-bottom:1px solid #dedad5}.admin-guest span{font-size:16px}.admin-guest small{font-size:14px;color:#625c56}

.guest-alert{background:#f4e4c6;border-bottom:1px solid #c2a775}.guest-alert h2{margin-top:0}#guest-form label{display:block;margin:16px 0 6px}#guest-form input,#guest-form select{width:100%;box-sizing:border-box;padding:14px;border:1px solid #b5b0a8;border-radius:8px;background:white;color:#191715;font:inherit}#guest-error{color:#9b2929}.member-dashboard>a.button{margin-top:18px}

.push-card{background:#eee9df;border-bottom:1px solid #d4c7b1}.push-card h2{margin-top:0}.push-card .note{margin-bottom:0}
