:root{color-scheme:light;--primary:#176b5b;--on-primary:#ffffff;--surface:#fffefa;--surface-alt:#eef2ed;--background:#f6f4ef;--text:#17211e;--text-muted:#5b6862;--border:#d6ddd8;--success:#236b47;--success-bg:#e3f1e7;--warning:#8a510b;--warning-bg:#fbedd8;--danger:#a83738;--danger-bg:#f9e5e3;--accent-warm:#d97a62;--accent-sun:#f2b66d;--focus:#285ea8;--font-display:"Fraunces",Georgia,"Times New Roman",serif;--font-body:"Manrope",Inter,system-ui,-apple-system,"Segoe UI",sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--radius-sm:8px;--radius-md:14px;--radius-lg:20px;--radius-xl:28px;--shadow-sm:0 1px 2px rgb(23 33 30/5%),0 4px 14px rgb(23 33 30/4%);--shadow-md:0 2px 4px rgb(23 33 30/5%),0 14px 34px rgb(23 33 30/8%);--bg:var(--background);--ink:var(--text);--muted:var(--text-muted);--line:var(--border);--accent:var(--primary);--accent-ink:var(--text);--ok-bg:var(--success-bg);--warn-bg:var(--warning-bg)}@media (prefers-color-scheme:dark){:root{color-scheme:dark;--primary:#67ceb4;--on-primary:#09251e;--surface:#16201c;--surface-alt:#1d2924;--background:#101815;--text:#f4f4ee;--text-muted:#abb7b1;--border:#35443d;--success:#8fd6a9;--success-bg:#1b3828;--warning:#f0bc70;--warning-bg:#3b2e1a;--danger:#ffaaa5;--danger-bg:#472726;--accent-warm:#f09a82;--accent-sun:#f3c881;--focus:#9fc2ff;--shadow-sm:0 1px 2px rgb(0 0 0/24%),0 5px 18px rgb(0 0 0/14%);--shadow-md:0 3px 8px rgb(0 0 0/24%),0 18px 40px rgb(0 0 0/18%)}}*{box-sizing:border-box}html{min-width:320px;background:var(--background);scroll-behavior:smooth}body{min-height:100vh;margin:0;background:radial-gradient(circle at 90% -10%,color-mix(in srgb,var(--primary) 8%,transparent),transparent 32rem),var(--background);color:var(--text);font-family:var(--font-body);font-size:15px;line-height:1.6;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}::selection{background:color-mix(in srgb,var(--primary) 28%,transparent)}a{color:inherit;-webkit-text-decoration-color:color-mix(in srgb,var(--primary) 60%,transparent);text-decoration-color:color-mix(in srgb,var(--primary) 60%,transparent);text-decoration-thickness:1.5px;text-underline-offset:3px}a:hover{-webkit-text-decoration-color:var(--primary);text-decoration-color:var(--primary)}:where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--focus);outline-offset:3px}main{width:min(100%,1120px);margin:0 auto;padding:var(--space-10) var(--space-6) var(--space-16)}h1,h2,h3,p{margin-top:0}h1,h2,h3{color:var(--text);text-wrap:balance}h1{margin-bottom:var(--space-2);font-size:clamp(2rem,3vw,2.65rem);font-weight:650;letter-spacing:-.035em;line-height:1.08}h1,h2{font-family:var(--font-display)}h2{margin:var(--space-10) 0 var(--space-4);font-size:1.42rem;font-weight:620;letter-spacing:-.018em;line-height:1.25}p{margin-bottom:var(--space-3)}strong{font-weight:720}.icon{display:inline-block;flex:0 0 auto;vertical-align:-.2em}.brand-lockup{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--text);line-height:1}.brand-mark{width:38px;height:38px;flex:0 0 auto}.brand-word{font-family:var(--font-display);font-size:1.5rem;font-weight:650;letter-spacing:-.04em}.page-heading{max-width:760px;margin-bottom:var(--space-8)}.page-heading>.muted{max-width:68ch;margin-top:var(--space-3);font-size:.96rem}.eyebrow{display:inline-flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);color:var(--text-muted);font-size:.75rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.admin-shell{min-height:100vh}.sidebar{position:fixed;inset:0 auto 0 0;z-index:20;display:flex;width:248px;flex-direction:column;padding:var(--space-5);border-right:1px solid var(--border);background:color-mix(in srgb,var(--surface) 96%,transparent);box-shadow:5px 0 22px rgb(23 33 30/3%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-2) var(--space-5);text-decoration:none}.gym-label{margin:var(--space-1) var(--space-2) var(--space-5);padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-alt);color:var(--text-muted);font-size:.78rem;line-height:1.4}.gym-label strong{display:block;overflow:hidden;color:var(--text);font-size:.88rem;text-overflow:ellipsis;white-space:nowrap}.sidebar nav{display:grid;grid-gap:3px;gap:3px}.sidebar nav a{display:flex;min-height:42px;align-items:center;gap:var(--space-3);padding:9px var(--space-3);border-radius:11px;color:var(--text-muted);font-size:.88rem;font-weight:650;text-decoration:none;transition:background-color .16s ease,color .16s ease,transform .16s ease}.sidebar nav a:hover{background:var(--surface-alt);color:var(--text);transform:translateX(2px)}.sidebar-footer{margin-top:auto;padding-top:var(--space-5)}.admin-main{width:min(calc(100% - 248px),1280px);margin-left:248px;padding:var(--space-12) clamp(24px,4vw,56px) var(--space-16)}.topbar{display:none}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:var(--space-8) 0 var(--space-10)}.card{position:relative;margin-bottom:var(--space-4);padding:var(--space-6);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-sm)}.card>:last-child{margin-bottom:0}.stat{min-height:142px;overflow:hidden}.stat:after{position:absolute;right:-22px;bottom:-40px;width:112px;height:112px;border-radius:999px;background:color-mix(in srgb,var(--primary) 9%,transparent);content:""}.stat-icon{display:grid;width:36px;height:36px;margin-bottom:var(--space-5);place-items:center;border-radius:11px;background:color-mix(in srgb,var(--primary) 11%,var(--surface));color:var(--text)}.stat .n{margin-bottom:var(--space-1);font-family:var(--font-display);font-size:2rem;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:660;letter-spacing:-.04em;line-height:1}.stat .l,.stat .n{position:relative;z-index:1}.stat .l{max-width:24ch;color:var(--text-muted);font-size:.76rem;font-weight:680;line-height:1.45}.table-card{padding:var(--space-2);overflow-x:auto}table{width:100%;min-width:620px;border-collapse:collapse;font-size:.86rem}th{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);color:var(--text-muted);font-size:.67rem;font-weight:800;letter-spacing:.09em;text-align:left;text-transform:uppercase}td{padding:13px var(--space-4);border-bottom:1px solid color-mix(in srgb,var(--border) 78%,transparent);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background-color .14s ease}tbody tr:hover{background:color-mix(in srgb,var(--primary) 4%,transparent)}form.stack{display:grid;max-width:520px;grid-gap:var(--space-4);gap:var(--space-4)}label{display:grid;grid-gap:var(--space-2);gap:var(--space-2);color:var(--text-muted);font-size:.78rem;font-weight:660}label.inline{display:flex;align-items:flex-start;gap:var(--space-3);color:var(--text);font-size:.86rem;font-weight:520}input,select,textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--text);font:inherit;font-size:.9rem;transition:border-color .14s ease,box-shadow .14s ease}textarea{min-height:144px;resize:vertical}input:hover,select:hover,textarea:hover{border-color:color-mix(in srgb,var(--text-muted) 62%,var(--border))}input:focus,select:focus,textarea:focus{border-color:var(--primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--primary) 15%,transparent);outline:0}input[type=checkbox]{width:18px;min-height:18px;margin:2px 0 0;accent-color:var(--primary)}input[type=color]{width:88px;height:48px;padding:4px}.button,button{display:inline-flex;min-height:44px;align-items:center;justify-content:center;gap:var(--space-2);justify-self:start;padding:10px 18px;border:1px solid transparent;border-radius:999px;background:var(--primary);box-shadow:0 3px 10px color-mix(in srgb,var(--primary) 18%,transparent);color:var(--on-primary);cursor:pointer;font:inherit;font-size:.86rem;font-weight:760;line-height:1;text-decoration:none;transition:box-shadow .15s ease,filter .15s ease,transform .15s ease}.button:hover,button:hover{box-shadow:0 5px 16px color-mix(in srgb,var(--primary) 25%,transparent);filter:saturate(.9) brightness(.96);transform:translateY(-1px)}.button:active,button:active{box-shadow:none;transform:translateY(0)}button:disabled{box-shadow:none;cursor:not-allowed;filter:grayscale(.5);opacity:.58;transform:none}.button.secondary,button.secondary{border-color:var(--border);background:var(--surface);box-shadow:none;color:var(--text)}.button.secondary:hover,button.secondary:hover{border-color:color-mix(in srgb,var(--primary) 44%,var(--border));background:color-mix(in srgb,var(--primary) 6%,var(--surface));filter:none}.button.small,button.small{min-height:34px;padding:7px 12px;font-size:.75rem}.pill{display:inline-flex;min-height:24px;align-items:center;gap:5px;padding:3px 9px;border:1px solid transparent;border-radius:999px;font-size:.67rem;font-weight:800;letter-spacing:.015em;line-height:1;white-space:nowrap}.pill.ok{border-color:color-mix(in srgb,var(--success) 18%,transparent);background:var(--success-bg);color:var(--success)}.pill.warn{border-color:color-mix(in srgb,var(--warning) 18%,transparent);background:var(--warning-bg);color:var(--warning)}.pill.danger{border-color:color-mix(in srgb,var(--danger) 18%,transparent);background:var(--danger-bg);color:var(--danger)}.notice{margin:var(--space-4) 0;padding:var(--space-4) var(--space-5);border:1px solid color-mix(in srgb,var(--success) 22%,transparent);border-radius:var(--radius-md);background:var(--success-bg);color:var(--text);word-break:break-word}.error,.notice{font-size:.86rem}.error{padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--danger-bg);color:var(--danger);font-weight:640}.muted{color:var(--text-muted);font-size:.86rem}.empty-state{display:grid;justify-items:center;padding:var(--space-6) var(--space-5);text-align:center}.empty-state img{width:min(100%,310px);height:auto;margin-bottom:var(--space-3)}.empty-state p{max-width:44ch}.auth-page,.join-page,.landing-page{width:min(100%,1040px);min-height:100vh;padding-top:var(--space-8)}.auth-brand{display:flex;justify-content:center;margin-bottom:var(--space-10);text-decoration:none}.auth-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);align-items:center;grid-gap:clamp(28px,6vw,72px);gap:clamp(28px,6vw,72px)}.auth-intro h1{font-size:clamp(2.5rem,5vw,4.5rem)}.auth-intro p{max-width:46ch;font-size:1rem}.auth-illustration{display:block;width:min(100%,520px);margin-top:var(--space-6)}.auth-card{padding:clamp(24px,4vw,38px);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.auth-card h2{margin-top:0;font-size:1.55rem}.join-page{width:min(100%,920px)}.join-page .page-heading{margin:0 auto var(--space-8);text-align:center}.join-card{padding:clamp(22px,4vw,42px);border-radius:var(--radius-xl);box-shadow:var(--shadow-md)}.join-card form.stack{max-width:none}.join-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-4);gap:var(--space-4)}.schedule-fieldset{display:grid;grid-gap:var(--space-2);gap:var(--space-2);margin:var(--space-3) 0;padding:var(--space-5);border:1px solid var(--border);border-radius:var(--radius-md);background:var(--surface-alt)}.schedule-fieldset legend{padding:0 var(--space-2);color:var(--text);font-size:.84rem;font-weight:760}.schedule-row{display:grid;grid-template-columns:42px repeat(3,1fr);align-items:center;grid-gap:var(--space-2);gap:var(--space-2)}.schedule-row>span{color:var(--text-muted);font-size:.76rem;font-weight:760}.schedule-row label{min-height:36px;align-items:center;padding:6px 8px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);font-size:.7rem}.member-shell{width:min(100%,760px);padding-top:var(--space-6)}.member-shell table{min-width:0}.member-shell .empty-state+.muted{text-align:center}.member-topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-8)}.member-topbar .brand-mark{width:34px;height:34px}.member-header{margin-bottom:var(--space-6)}.member-header h1{margin-bottom:2px;font-size:clamp(2.15rem,7vw,3.2rem)}.checkin-card{display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:var(--space-5);gap:var(--space-5);overflow:hidden;border:0;background:var(--primary);box-shadow:var(--shadow-md);color:var(--on-primary)}.checkin-card:after{position:absolute;top:-70px;right:-70px;width:210px;height:210px;border:1px solid;border-radius:999px;content:"";opacity:.16}.checkin-copy{position:relative;z-index:1}.checkin-copy strong{display:block;margin-bottom:2px;font-family:var(--font-display);font-size:1.35rem}.checkin-copy span{font-size:.78rem;opacity:.84}.checkin-card button{position:relative;z-index:1;border-color:color-mix(in srgb,var(--on-primary) 28%,transparent);background:var(--on-primary);box-shadow:none;color:var(--primary)}.section-title{display:flex;align-items:center;gap:var(--space-2)}.section-title .icon{color:var(--text-muted)}.challenge-card,.crew-card,.meetup-card{padding:var(--space-6)}.card-actions,.crew-card-header,.meetup-card-header,.suggestion-row{display:flex;align-items:center;gap:var(--space-3)}.crew-card-header,.meetup-card-header{align-items:flex-start;justify-content:space-between}.card-kicker{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);color:var(--text-muted);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.suggestion-row{padding:var(--space-4) 0;border-bottom:1px solid var(--border)}.suggestion-row:last-child{padding-bottom:0;border-bottom:0}.suggestion-row>div{flex:1 1}.meetup-meta{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);margin:var(--space-3) 0 var(--space-4);color:var(--text-muted);font-size:.8rem}.account-card{background:transparent;box-shadow:none}.poster{padding:var(--space-12) var(--space-6)!important;border-radius:var(--radius-xl)!important}.poster svg{color:var(--text)}details summary{border-radius:var(--radius-sm)}@media (max-width:980px){.sidebar{position:-webkit-sticky;position:sticky;top:0;width:100%;height:auto;padding:var(--space-3) var(--space-4);border-right:0;border-bottom:1px solid var(--border)}.sidebar-brand{float:left;padding:0 var(--space-4) 0 0}.sidebar-brand .brand-mark{width:34px;height:34px}.gym-label,.sidebar-brand .brand-word{display:none}.sidebar nav{display:flex;overflow-x:auto;scrollbar-width:none}.sidebar nav a{min-height:36px;flex:0 0 auto;padding:7px 10px}.sidebar nav a .icon{width:17px;height:17px}.sidebar-footer{display:none}.admin-main{width:min(100%,1120px);margin-left:auto;padding:var(--space-8) var(--space-5) var(--space-16)}.metrics-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){body{font-size:14px}.admin-main,main{padding-right:var(--space-4);padding-left:var(--space-4)}.sidebar nav a span{display:none}.sidebar nav a{width:38px;justify-content:center}.auth-grid{grid-template-columns:1fr}.auth-intro{text-align:center}.auth-illustration,.auth-intro p{margin-right:auto;margin-left:auto}.auth-illustration{max-width:380px}.join-fields{grid-template-columns:1fr}.schedule-fieldset{overflow-x:auto}.schedule-row{min-width:560px}}@media (max-width:520px){.metrics-grid{grid-template-columns:1fr 1fr;gap:var(--space-3)}.stat{min-height:128px;padding:var(--space-4)}.stat-icon{margin-bottom:var(--space-4)}.stat .n{font-size:1.7rem}.member-topbar{margin-bottom:var(--space-6)}.checkin-card{grid-template-columns:1fr}.checkin-card button{width:100%}.crew-card-header,.meetup-card-header,.suggestion-row{align-items:stretch;flex-direction:column}.card-actions{flex-wrap:wrap}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important}}@media print{body{background:#ffffff;color:#111111}.no-print,.sidebar{display:none!important}.admin-main,main{width:100%;max-width:none;margin:0}}