:root{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#17191d;background:#f2f2f7;font-size:17px;--blue:#0068db;--muted:#686a73;--border:#e5e5ea;color-scheme:light}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer;color:inherit;border:0;background:none;min-height:44px}button:disabled{opacity:.5}button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #007aff;outline-offset:2px}button:active{opacity:.65}h1{font-size:34px;letter-spacing:-1px;line-height:1.15;margin:18px 0 12px}h2{font-size:20px;letter-spacing:-.3px;margin:0 0 10px}p{line-height:1.45}small,.subtle{color:var(--muted)}small{font-size:13px}strong{font-weight:600}.phone-shell{max-width:720px;margin:auto;min-height:100dvh}.navigation{padding:calc(env(safe-area-inset-top) + 12px) 20px 14px;background:#f2f2f7eb;position:sticky;top:0;z-index:5;backdrop-filter:blur(20px)}.navigation>div{display:flex;align-items:center;justify-content:space-between;height:30px}.wordmark{font-size:15px;color:var(--muted);font-weight:600}.refresh,.back{color:var(--blue);padding:0 4px}.refresh{font-size:26px}.club-picker select{border:0;background:transparent;color:var(--muted);padding:0;max-width:100%;font-size:15px;min-height:36px}.phone-content{padding:8px 16px calc(105px + env(safe-area-inset-bottom))}.tabbar{position:fixed;bottom:0;left:0;right:0;z-index:10;background:#ffffffed;backdrop-filter:blur(24px);border-top:1px solid #d1d1d6;padding:8px 12px calc(8px + env(safe-area-inset-bottom));display:flex;justify-content:center;gap:12px}.tabbar button{color:#72747b;display:flex;flex-direction:column;align-items:center;gap:4px;flex:1;max-width:220px;font-size:11px;font-weight:500;min-height:48px}.tabbar button[aria-current]{color:var(--blue)}svg{width:25px;height:25px}.card,.game-card,.group{background:white;border-radius:16px;margin:0 0 16px;overflow:hidden}.card{padding:20px}.game-card{display:block;text-align:left;width:100%;padding:18px 18px 14px}.game-card h2{font-size:20px;line-height:1.3;margin:14px 0 9px}.game-card p{font-size:15px;margin:0 0 16px}.game-meta{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:12px;color:var(--muted)}.game-location{border-top:1px solid var(--border);padding-top:12px;font-size:14px;color:var(--muted);display:flex;justify-content:space-between}.game-location span{font-size:20px}.status{border-radius:8px;padding:5px 8px;font-size:12px;background:#f2f2f7;color:#54565f;white-space:nowrap}.status.pending{background:#fff2d7;color:#7c5100}.status.available{background:#e4f5eb;color:#23603d}.status.unavailable{background:#fdeaea;color:#963b3b}.status.result{font-weight:700;color:#17191d}.segmented{display:flex;background:#e5e5ea;border-radius:10px;padding:3px;margin-bottom:20px}.segmented button{flex:1;min-height:34px;font-size:14px;border-radius:8px}.segmented button[aria-pressed=true]{background:white;box-shadow:0 1px 4px #0002;font-weight:600}.preview,.footnote{font-size:13px;color:var(--muted);line-height:1.5}.eyebrow{text-transform:uppercase;letter-spacing:.7px;font-size:12px;color:var(--muted)}.section-title{display:flex;justify-content:space-between;gap:10px;align-items:center}.section-title h2{margin:0}.player-row{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--border);font-size:15px}.player-row:last-child{border-bottom:0}.player-row>span{color:var(--muted)}.player-row strong{text-align:right}.player-row small{color:var(--blue)}.rsvp{display:flex;gap:10px;margin-top:16px}.rsvp button{border:1px solid #d1d1d6;border-radius:12px;flex:1;font-weight:600}.rsvp button.selected{background:var(--blue);color:white;border-color:var(--blue)}.primary{background:var(--blue);color:white;border-radius:12px;min-height:50px;font-weight:600;display:block;width:100%;padding:10px 16px;margin-top:16px}.text-action{color:var(--blue);padding:4px}.destructive{color:#c52929;width:100%;margin:12px 0}.list-row{padding:15px 16px;display:flex;justify-content:space-between;align-items:center;width:100%;text-align:left;border-bottom:1px solid var(--border);min-height:54px}.list-row:last-child{border:0}.list-row small{display:block;margin-top:5px}.list-row>span{font-size:20px;color:#92949c}.group-heading{font-size:13px;text-transform:uppercase;color:var(--muted);font-weight:500;margin:24px 16px 8px;letter-spacing:.4px}.profile-card{text-align:center;padding:16px 0}.profile-card p{font-size:15px;margin:8px 0}.avatar{height:76px;width:76px;background:#dceaff;color:#235a95;font-size:27px;display:grid;place-items:center;border-radius:50%;margin:0 auto 18px}.form label,.signin label,.league-picker{display:block;font-size:15px;margin-bottom:18px}.form input,.form select,.signin input,.league-picker select{width:100%;min-height:46px;border:1px solid #d1d1d6;border-radius:9px;padding:10px;background:white;margin-top:8px;font-size:17px;color:#17191d}.form .switch-row{display:flex;align-items:center;justify-content:space-between;gap:20px}.form input[type=checkbox]{width:28px;height:28px;min-height:28px;accent-color:var(--blue);margin:0}.standing-row{display:flex;align-items:center;gap:14px;padding:16px;border-bottom:1px solid var(--border)}.standing-row>div{flex:1}.standing-row small{display:block;margin-top:5px;line-height:1.4}.rank{color:var(--muted);min-width:20px}.points{text-align:center;font-size:22px;color:var(--blue)}.points small{font-size:11px;font-weight:400}.scoreline{font-size:44px;font-weight:700;letter-spacing:4px;margin-top:24px}.scoreline span{color:var(--muted)}.notes{white-space:pre-wrap}.error{background:#fff0ef;color:#a12622;padding:12px;border-radius:10px;font-size:15px}.error:empty{display:none}.empty{text-align:center;padding:36px 20px;color:var(--muted)}.signin{max-width:420px;margin:auto;padding:calc(50px + env(safe-area-inset-top)) 24px 40px}.signin img{width:64px;height:64px}.signin .brand-name{font-size:24px;font-weight:700;margin:12px 0 0}.signin h1{margin-top:36px}.signin .subtle{font-size:15px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}#mobile-message{position:fixed;left:20px;right:20px;bottom:calc(90px + env(safe-area-inset-bottom));text-align:center;z-index:20;color:white;background:#1c1c1edb;padding:12px;border-radius:12px;max-width:500px;margin:auto}#mobile-message:empty{display:none}@media(min-width:700px){.phone-content{padding-left:24px;padding-right:24px}.navigation{padding-left:28px;padding-right:28px}}
/* Glass is reserved for floating navigation; content stays legible and solid. */
:root{background:#f5f7fb;--blue:#125dcc;--muted:#606b7c;--border:#e8edf4}.phone-shell{background:radial-gradient(ellipse at 90% 0,#e9effb 0,transparent 45%)}.navigation{background:linear-gradient(#f5f7fbf5,#f5f7fbb8);backdrop-filter:blur(24px) saturate(150%);padding-bottom:10px}.navigation h1:empty{display:none}.navigation h1{font-size:31px}.wordmark{color:#263a55;letter-spacing:-.3px}.pull-hint{font-size:11px;color:#7f8998}.tabbar{left:max(14px,calc((100vw - 700px)/2));right:max(14px,calc((100vw - 700px)/2));bottom:calc(8px + env(safe-area-inset-bottom));border-radius:32px;padding:8px;gap:0;background:linear-gradient(160deg,#ffffffef,#eaf0faaf);border:1px solid #ffffff;box-shadow:0 8px 32px #233f681c,inset 0 1px 0 #ffffff;backdrop-filter:blur(28px) saturate(170%)}.tabbar button{position:relative;border-radius:24px;padding:5px 2px;min-height:52px;font-size:10px;color:#59677a}.tabbar button[aria-current]{background:#dce8fa99;color:#164f9c}.notification-dot{width:7px;height:7px;border-radius:50%;background:#e44153;position:absolute;top:7px;right:30%}.phone-content{padding-bottom:calc(112px + env(safe-area-inset-bottom))}.club-banner{display:flex;gap:15px;align-items:center;padding:6px 4px 20px}.club-banner h2{font-size:27px;letter-spacing:-.8px;line-height:1.13;margin-bottom:6px}.club-banner p{font-size:13px;color:var(--muted);text-transform:capitalize;margin:0}.club-badge{flex:none;width:66px;height:66px;display:grid;place-items:center;background:#fff;border:1px solid #e6ebf1;border-radius:21px;color:#1b466d;font-size:23px;font-weight:600}.club-badge img{width:54px;height:54px;object-fit:contain}.home-next{border-radius:25px;padding:18px;background:linear-gradient(125deg,#153456,#274e79);box-shadow:0 9px 25px #254b7c18;margin-bottom:14px;color:white}.home-next>.eyebrow{color:#c1d4eb;margin:0 0 3px;font-size:11px}.home-next .game-card{background:transparent;color:white;padding:4px 0 0;margin:0}.home-next .game-card h2{font-size:23px;margin:10px 0}.home-next .game-card p{font-size:14px;margin-bottom:12px}.home-next .game-meta,.home-next .game-location{color:#d2e0f0}.home-next .game-location{border-color:#ffffff30;font-size:13px}.home-tile{display:flex;align-items:center;justify-content:space-between;width:100%;text-align:left;padding:17px 20px;background:#fff;border:1px solid #e8edf4;border-radius:22px;margin-bottom:12px;box-shadow:0 3px 10px #23466905}.home-tile>div{position:relative;padding-left:47px}.home-tile h2{font-size:18px;margin-bottom:4px}.home-tile p{font-size:13px;color:var(--muted);margin:0}.home-tile>span{font-size:24px;color:#77859a}.tile-icon{position:absolute;left:0;top:2px;width:34px;height:34px;border-radius:11px;display:grid;place-items:center;background:#eef3fb;color:#1d568d;font-size:22px}.standings-banner{width:100%;display:flex;justify-content:space-between;align-items:center;text-align:left;background:#e7eefb;color:#1a528a;border-radius:18px;padding:20px;margin:0 0 20px}.standings-banner span{font-size:13px}.fixture-club-name{font-size:12px;color:#637388;margin:14px 8px 6px}.game-card,.card,.group{border-radius:22px}.notification-card.unread{border-left:4px solid #1b66c1}.notification-card p{margin-bottom:0}.comment{padding:12px 0;border-bottom:1px solid var(--border)}.comment strong{font-size:14px}.comment small{display:block;margin-top:3px}.comment p{font-size:15px;white-space:pre-wrap;overflow-wrap:anywhere}.card textarea{font:inherit;width:100%;min-height:90px;margin-top:16px;border-radius:12px;border:1px solid #ccd7e4;background:#f6f8fc;padding:12px;resize:vertical}.status.available{background:#e0f4e7;color:#21603a}.status.pending{background:#fff0c7;color:#795400}.status.unavailable{background:#fee3e5;color:#922734}.rsvp button[data-rsvp=available].selected{background:#24844d;border-color:#24844d}.rsvp button[data-rsvp=unavailable].selected{background:#bc3547;border-color:#bc3547}@media(prefers-reduced-transparency:reduce){.tabbar,.navigation{background:#f7f9fc;backdrop-filter:none}}@media(prefers-contrast:more){.tabbar{background:white;border-color:#697586}.subtle,small,.footnote{color:#424b59}}@media(max-height:740px){.club-banner{padding-bottom:14px}.home-next{padding:14px}.home-tile{padding:14px 17px}.navigation{padding-top:calc(env(safe-area-inset-top) + 5px)}}
/* The shell owns the safe areas once. Only the central pane scrolls. */
:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Roboto,"Noto Sans",sans-serif;background:#f5f7fb}html,body{width:100%;height:100%;overflow:hidden;background:#f5f7fb}body{height:var(--app-height,100dvh)}#app{height:100%;overflow:hidden}.phone-shell{height:100%;min-height:0;display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;background:#f5f7fb}.navigation{position:relative;top:auto;padding:calc(env(safe-area-inset-top) + 5px) 18px 8px;backdrop-filter:none;background:#f5f7fb;z-index:5}.navigation>.navigation-top{height:22px;min-height:22px}.navigation h1{font-size:28px;margin:8px 0 0;line-height:1.18}.navigation .back{font-size:16px;min-height:30px;padding:0}.wordmark{font-size:13px}.context-club{font-size:13px;color:var(--muted);margin:5px 0 0}.phone-content{min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch;padding:10px 16px 12px;scrollbar-width:none}.phone-content::-webkit-scrollbar{display:none}.tabbar{position:relative;left:auto;right:auto;bottom:auto;margin:0 10px calc(env(safe-area-inset-bottom) + 2px);padding:5px 4px;border-radius:28px;max-width:none;gap:0;box-shadow:0 3px 14px #233f6812;z-index:10}.tabbar button{min-height:50px;font-size:10px;gap:3px;white-space:nowrap;border-radius:24px;padding:4px 1px}.tabbar svg{width:24px;height:24px}.club-banner{padding:10px 0 4px;gap:12px}.club-banner h2{font-size:26px;margin:0 0 4px;line-height:1.12;overflow-wrap:anywhere}.club-banner p{font-size:12px}.club-badge{width:54px;height:54px;border-radius:17px;font-size:19px}.club-badge img{width:44px;height:44px}.club-banner .club-picker select{min-height:30px;font-size:13px}.home-content{padding-top:4px}.home-next{padding:14px 16px;margin-bottom:10px;border-radius:22px}.home-next .game-card h2{font-size:21px;line-height:1.18;margin:8px 0}.home-next .game-card p{margin-bottom:10px;font-size:14px}.home-next .game-location{padding-top:9px}.home-tile{margin-bottom:9px;padding:13px 16px;border-radius:20px;min-height:67px}.home-tile h2{font-size:17px;margin-bottom:3px}.home-tile p{font-size:12px}.home-tile>div{padding-left:43px}.home-tile .tile-icon{width:32px;height:32px;border-radius:10px;font-size:20px}.home-tile:last-child{margin-bottom:0}.menu-section{margin-bottom:20px}.menu-section .group{margin:0;border-radius:20px;border:1px solid #e9edf3;background:white}.menu-club-heading{display:flex;align-items:center;gap:11px;margin:0 6px 10px}.menu-club-heading h2{font-size:17px;margin:0 0 2px;line-height:1.25}.menu-club-heading small{text-transform:capitalize;font-size:12px}.mini-badge{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:11px;background:#e7edf7;color:#31557a;font-size:12px;font-weight:650}.menu-row{min-height:51px;gap:12px;padding:10px 14px;align-items:center}.menu-row .menu-icon{width:29px;height:29px;flex:none;border-radius:9px;background:#edf3fc;display:grid;place-items:center;color:#3568a7}.menu-icon svg{width:18px;height:18px}.menu-row .menu-label{flex:1;color:#192638;font-size:16px;font-weight:450}.menu-row .disclosure{font-size:21px;color:#96a1af}.settings-section>h2{font-size:16px;margin:10px 6px 12px}.signin{height:100%;overflow-y:auto;padding:calc(env(safe-area-inset-top) + 24px) 24px calc(env(safe-area-inset-bottom) + 24px)}#mobile-message{bottom:calc(72px + env(safe-area-inset-bottom));font-size:14px}.list-row a{display:block;color:var(--blue);font-size:14px;margin-top:7px;overflow-wrap:anywhere}.pull-hint{display:none}@media(max-height:740px){.club-banner h2{font-size:23px}.home-next{padding:12px 14px}.home-next .game-card h2{font-size:19px}.home-tile{padding:11px 14px;min-height:61px}.navigation{padding-top:calc(env(safe-area-inset-top) + 3px)}}@media(prefers-reduced-transparency:reduce){.tabbar{background:#fff;backdrop-filter:none}}@media(min-width:700px){.phone-content{padding-left:24px;padding-right:24px}.navigation{padding-left:24px;padding-right:24px}.tabbar{margin-left:24px;margin-right:24px}}
.navigation>h1:first-child{margin-top:0}.navigation:has(.back)>.navigation-top{height:36px;min-height:36px}.navigation .back{min-height:44px}.menu-row[data-view=privacy] .menu-icon{color:#6b57a4;background:#f0edf8}.menu-row[data-view=availability] .menu-icon{color:#34725a;background:#eaf5ef}.menu-row[data-view=subs] .menu-icon{color:#9b6531;background:#fbf1e6}.menu-row[data-view=fees] .menu-icon{color:#34725a;background:#eaf5ef}
html,body{overscroll-behavior:none}.home-content{display:flex;flex-direction:column;gap:9px}.home-content>.home-next{flex:1 0 auto;display:flex;flex-direction:column;justify-content:center;margin:0;min-height:170px;max-height:300px}.home-content>.home-tile{flex:none;margin:0}
.home-brand{display:flex;justify-content:center;padding:2px 0 6px}.home-brand img{width:36px;height:36px;object-fit:contain}.contact-row{display:flex;align-items:center;gap:13px;padding:14px 16px;border-bottom:1px solid var(--border)}.contact-row:last-child{border:0}.member-avatar{width:46px;height:46px;flex:none;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e4edf9;color:#385d89;font-size:16px;font-weight:600}.member-avatar img{width:100%;height:100%;object-fit:cover}.member-avatar.large{width:80px;height:80px;font-size:26px;margin:0 auto 14px}.contact-details{min-width:0}.contact-details strong{display:block;font-size:16px}.contact-details a,.contact-details small{display:block;font-size:14px;margin-top:5px;color:var(--muted);text-decoration:none}.photo-upload{position:relative;display:inline-block;color:var(--blue);padding:12px;min-height:44px;font-size:15px;cursor:pointer}.photo-upload input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.profile-card>.text-action{display:block;margin:auto}.member-directory{margin-top:2px}

/* Fixed native-sized headers, centred club identity and touch-friendly chat. */
html,body,button,a,input,select,textarea,summary{touch-action:manipulation}
.heading-row{display:flex;align-items:center;justify-content:space-between;gap:14px;min-height:44px}.heading-row h1{margin:0;flex:1}.header-brand{width:38px;height:38px;object-fit:contain;flex:none}.fixture-controls{padding-top:8px}.fixture-controls .league-picker{margin:0;font-size:12px;display:flex;align-items:center;gap:10px}.fixture-controls select{margin:0;min-height:38px;font-size:15px}.fixture-controls .segmented{margin:9px 0 0}.club-banner{flex-direction:column;text-align:center;gap:6px;padding:2px 0 4px}.club-banner .club-badge{width:56px;height:56px}.club-banner .club-badge img{width:48px;height:48px}.club-banner h2{font-size:26px}.club-banner .club-picker{margin-top:4px}.home-content>.home-next{flex:0 0 auto;min-height:150px}.home-brand-footer{flex:1 0 42px;min-height:42px;max-height:100px;display:flex;align-items:center;justify-content:center}.home-brand-footer img{height:clamp(40px,7vh,64px);width:auto;max-height:100%;object-fit:contain}.player-unavailable{color:#929aa6;font-weight:400}.player-unavailable small{color:#929aa6}.profile-card{text-align:center;padding:12px 16px 20px}.profile-card h2{margin:5px 0}.profile-card p{font-size:14px;color:var(--muted);margin:6px 0}.profile-card a{color:inherit;text-decoration:none}.contact-edit{text-align:left;margin-top:8px}.contact-edit summary{text-align:center;color:var(--blue);padding:12px;min-height:44px}.membership-row,.absence-row{display:flex;align-items:center;gap:8px;padding:14px;border-bottom:1px solid var(--border)}.membership-row>div,.absence-row>div{flex:1;min-width:0}.membership-row small,.absence-row small{display:block;margin-top:5px}.absence-row strong{font-size:14px}.absence-row .destructive,.membership-row .destructive{width:auto;margin:0;padding:10px;font-size:14px}.absence-list{margin-bottom:16px}.absence-list>p{padding:14px}.chat{background:#e8eef5;border:1px solid #dce4ee;padding:16px 12px}.chat-thread{margin:16px 0}.chat-message{display:flex;gap:8px;align-items:flex-start;margin:9px 0}.chat-message .member-avatar{width:30px;height:30px;font-size:11px}.chat-bubble{background:white;border-radius:4px 17px 17px 17px;padding:11px 13px;min-width:0;flex:1;box-shadow:0 2px 5px #233f6808}.chat-message.mine .chat-bubble{background:#d5e6fc}.chat-bubble strong{font-size:13px}.chat-bubble p{font-size:15px;line-height:1.45;white-space:pre-wrap;overflow-wrap:anywhere;margin:7px 0}.chat-bubble small{font-size:10px}.chat-bubble .text-action{font-size:12px;min-height:34px;padding:6px 0;margin:0 0 0 10px}.chat-replies{margin-left:24px;padding-left:10px;border-left:2px solid #bccde1}.reply-context{display:flex;align-items:center;justify-content:space-between;font-size:13px}.chat textarea{background:white;min-height:64px}.chat form>.primary{margin-top:8px}@media(max-height:740px){.club-banner h2{font-size:23px}.club-banner .club-badge{width:44px;height:44px}.club-banner .club-badge img{width:38px;height:38px}.home-content>.home-next{min-height:140px}.home-brand-footer img{height:40px}.club-banner{gap:3px}}

/* One stable heading baseline, with equal room above and below for back navigation. */
.navigation>.navigation-top,.navigation:has(.back)>.navigation-top{display:flex;height:44px;min-height:44px;align-items:center}.navigation .back{height:44px;min-height:44px}.navigation>.heading-row{height:44px;min-height:44px;position:relative;padding-right:100px;overflow:visible}.heading-row h1{font-size:28px;margin:0;line-height:1.18}.header-brand{position:absolute;width:92px;height:92px;right:0;top:50%;transform:translateY(-50%)}.navigation>.navigation-bottom{display:block;height:44px;min-height:44px;padding-top:9px}.navigation-bottom .context-club{margin:0;max-width:calc(100% - 100px);font-size:12px;line-height:1.3}.navigation>.fixture-controls{display:block;height:auto;min-height:0;padding-top:0}.fixture-controls .league-picker{display:block;margin:0 0 10px;font-size:13px}.fixture-controls select{display:block;margin-top:5px;min-height:42px;width:100%}.fixture-controls .segmented{display:flex;margin:0 0 5px;min-height:40px}.navigation>.home-brand{display:flex;justify-content:center;height:auto;padding:0 0 8px}.home-brand img{width:82px;height:82px}.club-banner{flex-direction:row;justify-content:center;align-items:center;text-align:left;gap:12px;padding:0 0 5px}.club-banner>div:last-child{min-width:0}.club-banner .club-badge{flex:none;width:52px;height:52px}.club-banner .club-badge img{width:44px;height:44px}.club-banner h2{font-size:26px}.home-content>.home-next{flex:1 0 auto;max-height:260px}.profile-card{padding:4px 0 12px}.profile-card .member-avatar.large{width:64px;height:64px;margin-bottom:8px}.profile-card h2{font-size:21px;margin:3px 0}.profile-card p{margin:3px 0;font-size:13px;line-height:1.3}.profile-actions{display:flex;gap:8px;margin:10px 0 0}.profile-actions button{flex:1;min-width:0;min-height:44px;font-size:13px;font-weight:500;padding:8px 6px;border:1px solid #dce5f2;border-radius:12px;background:#e9f0fa;color:var(--blue)}.pool-absence{display:block;margin-top:5px;color:#8b4751;line-height:1.35}.keyboard-open .tabbar,.phone-shell:has(textarea:focus) .tabbar,.phone-shell:has(input:not([type=checkbox]):not([type=file]):not([readonly]):focus) .tabbar{display:none}.keyboard-open .phone-content{padding-bottom:12px}.chat textarea{resize:none;font-size:17px;min-height:70px}.chat form>.primary{min-height:44px;margin-top:8px}.phone-content{overflow-anchor:none}@media(max-height:740px){.home-brand img{width:64px;height:64px}.club-banner h2{font-size:23px}.club-banner .club-badge{width:44px;height:44px}.club-banner .club-badge img{width:38px;height:38px}}@media(orientation:landscape) and (max-height:550px){.navigation>.navigation-top,.navigation:has(.back)>.navigation-top,.navigation>.navigation-bottom{height:32px;min-height:32px}.header-brand{width:76px;height:76px}.home-brand img{width:46px;height:46px}.home-next{min-height:140px}}

.fixture-club-name{color:#253b55;font-weight:650;font-size:13px;margin:14px 8px 7px}

/* Fixed badge column: wrapped names never re-centre or move the badge. */
.club-banner{display:grid;grid-template-columns:52px minmax(0,1fr);justify-content:stretch;align-items:start;column-gap:12px;row-gap:0}.club-banner .club-badge{align-self:start;margin-top:2px}.club-banner>div:last-child{width:100%;min-width:0}.club-banner h2{width:100%;text-align:left;margin:0 0 4px;overflow-wrap:anywhere}.club-banner .club-picker{display:block;margin-top:4px}.club-banner .club-picker select{width:100%;text-overflow:ellipsis}@media(max-height:740px){.club-banner{grid-template-columns:44px minmax(0,1fr)}}

/* Account login branding; the private-preview connection screen keeps its layout. */
.account-signin .login-brand{text-align:center;margin:8px 0 32px}.account-signin .login-brand img{display:block;width:clamp(160px,48vw,200px);height:clamp(160px,48vw,200px);object-fit:contain;margin:0 auto 14px}.account-signin .login-wordmark{font-size:27px;line-height:1.2;font-weight:400;font-style:normal;letter-spacing:-.5px;margin:0}.account-signin .login-wordmark strong{font-weight:700}.account-signin .login-wordmark span{font-weight:400;font-style:normal}.account-signin .login-tagline{font-size:15px;line-height:1.3;color:var(--muted);margin:0}.account-signin .login-heading{font-size:22px;font-weight:600;letter-spacing:-.3px;line-height:1.2;margin:0 0 14px}.account-signin>p:last-child{text-align:center;font-size:13px}@media(orientation:landscape) and (max-height:550px){.account-signin .login-brand img{width:120px;height:120px}.account-signin .login-brand{margin-bottom:20px}}

/* The list scrolls beneath the fixed glass header instead of hitting a hard edge. */
.phone-shell{grid-template-rows:minmax(0,1fr) auto}.phone-shell>.navigation{grid-area:1 / 1;align-self:start;position:relative;z-index:5;background:linear-gradient(180deg,rgba(245,247,251,.92),rgba(245,247,251,.72));-webkit-backdrop-filter:blur(24px) saturate(170%);backdrop-filter:blur(24px) saturate(170%);border-bottom:1px solid #ffffff80;box-shadow:0 3px 12px #294a7010}.navigation::after{content:"";position:absolute;left:0;right:0;top:100%;height:24px;pointer-events:none;background:linear-gradient(rgba(245,247,251,.7),rgba(245,247,251,0));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);-webkit-mask-image:linear-gradient(#000,transparent);mask-image:linear-gradient(#000,transparent)}.phone-shell>.phone-content{grid-area:1 / 1;align-self:stretch;padding-top:calc(var(--header-height,190px) + 12px);scroll-padding-top:calc(var(--header-height,190px) + 24px)}.phone-shell>.home-content{padding-top:calc(var(--header-height,190px) + 8px)}.phone-shell>.tabbar{grid-area:2 / 1}.navigation .header-action{min-height:36px;height:36px;padding:6px 12px;border-radius:12px;background:#e0eafa;color:#164d94;font-size:14px;font-weight:600;max-width:calc(100% - 100px);white-space:nowrap}.navigation:has(.header-action)>.navigation-bottom{padding-top:4px}.notification-card{border:1px solid #e5eaf1;background:#fff}.notification-card.unread{border:1px solid #98b8e5;background:#dceafa;box-shadow:0 3px 12px #125dcc0a}.notification-card.unread p{color:#183d6b;font-weight:550}.notification-meta{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.notification-card.unread small{color:#35547b}.unread-label{flex:none;display:inline-block;font-size:11px;font-weight:650;color:#fff;background:#235da7;border-radius:8px;padding:4px 7px}.account-signin .login-brand{margin-bottom:18px}.form input[readonly]{background:#f0f3f7;color:#536277}@media(prefers-reduced-transparency:reduce){.phone-shell>.navigation{background:#f5f7fb;-webkit-backdrop-filter:none;backdrop-filter:none}.navigation::after{display:none}}@media(prefers-contrast:more){.phone-shell>.navigation{background:#f5f7fb;border-bottom:1px solid #63758e}.notification-card.unread{border:2px solid #235da7;background:#d2e5fc}.notification-card.unread p{color:#102d50}}

/* iOS native keyboard guide controls height; keep WebKit's outer document stationary. */
html[data-platform=ios] body{position:fixed;inset:0;height:var(--app-height,100%)}
.signin{overscroll-behavior:contain;overflow-anchor:none;scroll-padding:16px}
html[data-platform=ios] .phone-shell:has(textarea:focus) .phone-content{scroll-behavior:auto}

/* Keep the iPhone tabs closer to the home indicator without overlapping it. */
html[data-platform=ios] .tabbar{margin-bottom:max(14px,calc(env(safe-area-inset-bottom) - 12px))}
/* Settled invoices stay compact; details remain available on demand. */
.paid-invoice summary{cursor:pointer;list-style:none}.paid-invoice summary::-webkit-details-marker{display:none}.paid-invoice summary p{display:flex;justify-content:space-between;gap:12px;margin:10px 0 6px;font-size:14px}.paid-invoice summary small{font-size:12px}.paid-invoice[open] summary{padding-bottom:12px;border-bottom:1px solid var(--border)}
.member-avatar img[role=button]{cursor:pointer}.photo-viewer{position:fixed;inset:0;width:100%;height:100%;max-width:none;max-height:none;margin:0;border:0;background:#10151deb;color:white;padding:calc(env(safe-area-inset-top) + 60px) 20px calc(env(safe-area-inset-bottom) + 24px);text-align:center;overflow:auto}.photo-viewer::backdrop{background:#000b}.photo-viewer img{display:block;width:min(100%,640px);max-height:70dvh;object-fit:contain;margin:20px auto;border-radius:16px}.photo-viewer .photo-close{position:absolute;right:16px;top:calc(env(safe-area-inset-top) + 8px);width:44px;height:44px;border-radius:50%;background:#ffffff24;color:white;font-size:20px}.photo-viewer p{font-size:21px;font-weight:600}.photo-loading{padding:40px}

/* Match First End's business demo while retaining native navigation geometry. */
:root{--navy:#102a43;--accent:#1d5ca6;--blue:#1d5ca6;--muted:#546878;--border:#dbe5eb;color:#102a43;background:#f0f5f8}
html,body,.phone-shell{background:#f0f5f8;color:var(--navy)}.phone-shell>.navigation{background:linear-gradient(180deg,#f0f5f8ee,#f0f5f8cf);border-bottom-color:var(--border)}.wordmark,.menu-row .menu-label{color:var(--navy)}
.primary{background:var(--accent);border-radius:7px;font-weight:650}.primary:active{background:#07695f}.rsvp button{border-radius:7px;border-color:#b9cad5}.card textarea,.form input,.form select,.signin input,.league-picker select{border-color:#b9cad5;color:var(--navy);border-radius:7px}.form input[type=checkbox]{accent-color:var(--accent)}button:focus-visible,input:focus-visible,select:focus-visible{outline-color:#eb3553}
.home-next{background:var(--navy);border-radius:12px;box-shadow:0 12px 30px #163f5814}.home-next>.eyebrow{color:#bdd6f5}.home-next .game-meta,.home-next .game-location{color:#d5e4ed}.home-tile{border-color:var(--border);border-radius:12px;box-shadow:0 3px 10px #163f5808}.card,.game-card,.group,.menu-section .group{border-radius:12px}.tile-icon,.menu-row .menu-icon{background:#eef3fa;color:var(--accent);border-radius:7px}.menu-row[data-view=privacy] .menu-icon,.menu-row[data-view=availability] .menu-icon,.menu-row[data-view=subs] .menu-icon,.menu-row[data-view=fees] .menu-icon{background:#eef3fa;color:var(--accent)}.standings-banner{background:#eef3fa;color:var(--accent);border-radius:12px}.avatar,.mini-badge{background:#eef3fa;color:var(--accent)}
.tabbar{background:linear-gradient(160deg,#ffffffef,#eef3fad9);border-color:#fff;box-shadow:0 3px 14px #163f5812}.tabbar button{color:var(--muted)}.tabbar button[aria-current]{background:#dff2e9;color:var(--accent)}.segmented{background:#dbe5eb}.segmented button[aria-pressed=true]{color:var(--navy)}.navigation .header-action{background:#eef3fa;color:var(--accent);border-radius:7px}.notification-card.unread{border-color:#98b9dc;background:#dff2e9}.notification-card.unread p{color:var(--navy)}.notification-card.unread small{color:#176442}
.status{border-radius:6px}.status.available,.status.paid{background:#dff2e9;color:#176442}.status.pending{background:#fff1d5;color:#835409}.status.unavailable{background:#fbe3e6;color:#99374a}.status.result{color:var(--navy)}
@media(prefers-reduced-transparency:reduce){.tabbar{background:#fff}.phone-shell>.navigation{background:#f0f5f8}}@media(prefers-contrast:more){.tabbar{background:#fff;border-color:#546878}.notification-card.unread{border-color:var(--accent)}small,.subtle,.footnote{color:#3d5061}}

.tabbar button[aria-current]{background:#e5eefb;color:var(--accent)}.notification-card.unread{background:#eaf1fb;border-color:#9ebee5}.notification-card.unread small{color:#1d5ca6}
