/* Padel Check Mobile — official identity, touch-first layout. */
:root{--mobile-ink:#141919;--mobile-muted:#6f7476;--mobile-line:#e9eded;--mobile-green:#00e676;--mobile-yellow:#ffd600;--mobile-bottom:calc(78px + env(safe-area-inset-bottom,0px))}
html{background:#edf0ef;scroll-behavior:smooth;scroll-padding-top:90px}body.mobile-app{margin:0;background:#edf0ef;color:var(--mobile-ink);font-family:Poppins,sans-serif;-webkit-tap-highlight-color:transparent}.mobile-app *{box-sizing:border-box}.mobile-frame{max-width:480px;margin:0 auto;min-height:100dvh;background:#fff;position:relative;box-shadow:0 0 80px #14251a0c;padding-bottom:var(--mobile-bottom)}.mobile-app button{touch-action:manipulation}.mobile-app svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.mobile-app img{max-width:100%}.mobile-app [hidden]{display:none!important}
.mobile-app .mobile-header{height:82px;padding:18px 22px 10px;display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;background:#ffffffed;backdrop-filter:blur(18px);border:0;z-index:15}.mobile-brand{display:block;text-decoration:none;line-height:0}.mobile-brand img{width:118px;height:49px;object-fit:contain}.mobile-header-actions{display:flex;gap:10px;align-items:center}.mobile-app .icon-button{position:relative;width:44px;height:44px;border:1px solid #e9eeee;border-radius:50%;display:grid;place-items:center;background:white;color:#1c2924}.mobile-app .icon-button svg{width:20px;height:20px}.mobile-app .account{width:44px;height:44px;border:0;border-radius:50%;background:#eafbf2;display:flex;justify-content:center;padding:0;font-size:0;overflow:hidden}.mobile-app .account .avatar.small{display:grid;width:40px;height:40px;font-size:13px;font-weight:700;background:#e8fbef;color:#205435}.connection-count{position:absolute;top:-3px;right:-3px;min-width:16px;height:16px;border-radius:10px;background:#ffd600;font-size:9px;font-weight:700;line-height:16px;border:1px solid white}.mobile-context{display:flex;align-items:center;justify-content:space-between;padding:4px 23px 17px;border-bottom:1px solid #f1f3f2;gap:10px}.city-location{font-size:11px;font-weight:600;display:flex;gap:5px;align-items:center}.city-location svg{width:13px;height:13px;stroke:#09914f}.mobile-context #mode{font-size:8px;font-weight:400;letter-spacing:.5px;color:#777c7a}.mobile-app main{max-width:none;min-height:0;padding:24px 22px 15px;margin:0;outline:none}.mobile-app .mobile-intro{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:8px}.mobile-overline{font-size:12px;color:#6f7476;margin:0 0 7px}.mobile-app h1{font-size:27px;letter-spacing:-1.1px;line-height:1.2;font-weight:700;margin:0}.mobile-intro h1 span{display:block}.intro-spark{width:41px;height:41px;display:grid;place-items:center;border:1px solid #e7ece9;border-radius:50%;color:#158956}.intro-spark svg{width:20px;height:20px}
.mobile-hero{height:376px;border-radius:22px;background:#020817;position:relative;isolation:isolate;overflow:hidden;color:white;box-shadow:0 12px 26px #08182812}.mobile-hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:22% center;z-index:-2}.mobile-hero:after{content:'';position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,#02091922 0%,#0209190a 18%,#02091955 33%,#020919e0 58%,#020919ff 100%)}.hero-topline{position:absolute;inset:20px 20px auto;display:flex;justify-content:space-between;align-items:center}.hero-label{font-size:8px;letter-spacing:1px;font-weight:600;background:#ffffff12;border:1px solid #ffffff26;padding:7px 9px;backdrop-filter:blur(8px);border-radius:30px;display:flex;gap:7px;align-items:center}.hero-label i{width:5px;height:5px;background:#00e676;border-radius:50%}.hero-edition{font-size:8px;letter-spacing:1.5px;color:#ffffffba}.mobile-hero-copy{position:absolute;bottom:22px;left:22px;right:22px}.mobile-hero-copy>p:first-child{font-size:8px;letter-spacing:2px;font-weight:600;color:#ebf4f7;margin:0 0 7px}.mobile-hero-copy h2{font-size:35px;line-height:1.07;letter-spacing:-1.4px;font-weight:700;margin:0 0 12px;color:white}.mobile-hero-copy h2 em{font-style:normal;color:#ffd600}.mobile-hero-copy .hero-description{font-size:11px;line-height:1.6;color:#c6cdd9;margin:0 0 18px}.mobile-app .mobile-hero-copy .button{width:100%;height:51px;min-height:51px;background:#00e676;border-color:#00e676;color:#08371e;border-radius:11px;display:flex;align-items:center;justify-content:space-between;font-size:12px;padding:0 16px;font-weight:700}.mobile-hero-copy .button span{width:27px;height:27px;border-radius:50%;background:#03331d12;display:grid;place-items:center}.mobile-hero-copy .button svg{width:18px;height:18px}
.mobile-quick-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:16px 0 25px}.mobile-quick-actions>button{display:flex;align-items:center;gap:9px;background:#f6f8f7;border:1px solid #eef1ef;border-radius:13px;padding:13px 11px;min-height:74px;text-align:left;color:#1b2820}.quick-icon{display:grid;place-items:center;background:#ddf9e9;border-radius:10px;width:31px;height:36px;flex-shrink:0;color:#17894e}.quick-icon.yellow{background:#fff4bc;color:#806919}.quick-icon svg{width:18px;height:18px}.mobile-quick-actions b{font-size:11px;display:block}.mobile-quick-actions small{font-size:8px;color:#758078;display:block;line-height:1.6;margin-top:3px;white-space:nowrap}.mobile-quick-actions>button>svg{width:12px;height:12px;margin-left:auto;display:none}
.next-match{width:100%;display:flex;align-items:center;gap:12px;border-radius:15px;border:1px solid #e5eae7;background:#fff;padding:13px;text-align:left;color:#1a1a1a;margin-bottom:26px}.date-tile{display:flex;flex-direction:column;align-items:center;justify-content:center;width:46px;height:53px;background:#effbf4;border-radius:10px;flex-shrink:0}.date-tile b{font-size:20px;line-height:1.2;font-weight:700}.date-tile small{font-size:9px}.next-match-copy{display:flex;flex-direction:column;gap:3px;min-width:0}.micro-label{font-size:8px;letter-spacing:1.2px;color:#7c8480;font-weight:600;margin:0 0 6px;line-height:1.5}.next-match-copy .micro-label{font-size:7px;margin:0;letter-spacing:.6px}.next-match-copy>b{font-size:12px;overflow-wrap:anywhere}.next-match-copy>small{font-size:10px;color:#6f7476}.confirmed-dot{width:7px;height:7px;border-radius:50%;background:#00cf6b;margin-left:auto;flex-shrink:0}
.mobile-app .section-title{margin:0 0 15px;align-items:center;gap:8px}.mobile-app .section-title h2{font-size:18px;letter-spacing:-.6px;line-height:1.35;margin:0}.mobile-app .section-title .micro-label{font-size:8px;margin:0 0 6px}.mobile-app .section-title .button{font-size:10px;min-height:44px;white-space:nowrap;flex-shrink:0;font-weight:400;color:#24834d}.mobile-section{margin:0 0 29px}.mobile-app .players{display:grid;grid-template-columns:1fr;gap:13px}.mobile-app .players .player:last-child{grid-column:auto}.mobile-app .mobile-player-rail{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 22px 10px;margin:0 -22px;scroll-padding-left:22px;scrollbar-width:none}.mobile-player-rail::-webkit-scrollbar{display:none}.mobile-app .mobile-player-rail .player{flex:0 0 280px;scroll-snap-align:start}.mobile-app .player{padding:18px;border:1px solid #e7ebe8;border-radius:17px;background:white;box-shadow:0 5px 12px #20302003;min-width:0}.mobile-app .player-top{flex-wrap:nowrap;gap:11px;align-items:center}.mobile-app .avatar{width:44px;height:44px;font-size:16px;flex-shrink:0;background:#e6f2ec}.mobile-app .avatar.c1{background:#f6eadb;color:#997047}.mobile-app .avatar.c2{background:#f0eaf5;color:#8d70a1}.mobile-app .player h3{font-size:14px;font-weight:600;margin:0 0 3px}.mobile-app .player .city{font-size:10px;color:#7a817d}.mobile-app .level{font-size:9px;background:#fff6c7;color:#6d5b14;padding:5px 7px;border-radius:6px}.mobile-app .tags{margin:14px 0;gap:5px}.mobile-app .tag{font-size:9px;padding:4px 7px;border-radius:5px}.mobile-app .tag.green{color:#197243;background:#ebfbf2}.mobile-app .player .bottom{flex-direction:row;flex-wrap:wrap;align-items:center;gap:9px;padding-top:12px;border-color:#f0f3f0}.mobile-app .player .button{min-height:42px;width:auto;font-size:10px;padding:7px 11px;border-radius:8px;border-color:#c7e8d3;color:#17603b}.mobile-app .compat{font-size:10px;white-space:nowrap;color:#3d6750}.mobile-app .player .button:disabled{opacity:.65;cursor:default}
.mobile-app .club-card{grid-template-columns:84px 1fr;gap:13px;padding:10px;border:1px solid #e9edea;border-radius:15px;margin-bottom:12px;align-items:center}.mobile-app .club-image{width:84px;height:107px;border-radius:9px;object-fit:cover}.mobile-app .club-card h3{font-size:13px;margin:0 0 4px;font-weight:600}.mobile-app .club-card p{font-size:9px;line-height:1.6;margin-bottom:7px}.mobile-app .club-meta{flex-direction:column;align-items:start;gap:6px}.mobile-app .club-meta>span{font-size:9px;color:#60816a}.mobile-app .club-card .button{font-size:10px;min-height:38px;padding:6px 10px;border-color:#d9e9dd;color:#15552f}.mobile-app .tournament-card{border:0;background:linear-gradient(125deg,#fff9dc,#fff2a8);padding:23px;border-radius:17px;position:relative;overflow:hidden}.mobile-app .tournament-card:before{content:'';position:absolute;width:120px;height:120px;border:18px solid #e6c54520;right:-40px;top:-50px;border-radius:50%;pointer-events:none}.mobile-app .tournament-card .eyebrow{font-size:8px;letter-spacing:1.5px;color:#796822}.mobile-app .tournament-card h3{font-size:25px;line-height:1.15;margin:17px 0 10px;letter-spacing:-.8px}.mobile-app .tournament-card p{font-size:11px;color:#7d7345;margin-bottom:6px}.mobile-app .tournament-details{font-size:10px;padding:12px 0 18px;gap:5px}.mobile-app .tournament-card .button{width:100%;background:#17261f;color:#fff;border:0;border-radius:9px;min-height:46px;font-size:11px}.mobile-app .tournament-card .button.outline{background:#ffffff70;color:#293b2c;border:1px solid #d8ca80}.mobile-signoff{padding:8px 0 12px;text-align:center}.mobile-signoff img{width:22px;height:28px;opacity:.8}.mobile-signoff p{font-size:12px;color:#737d77;line-height:1.6;margin:9px 0}.mobile-signoff b{color:#1f3026;font-weight:600}
.mobile-app .mobile-footer{padding:10px 22px 24px;margin:0;border:0;display:flex;flex-direction:column;gap:10px;text-align:center;color:#989e99}.mobile-footer>span{display:block!important;font-size:7px;letter-spacing:1.6px}.mobile-footer button{font-size:10px;padding:10px 15px;min-height:44px;background:white;border:1px solid #e6ece8;border-radius:30px;color:#486453}.mobile-app .bottom-nav{position:fixed;left:50%;transform:translateX(-50%);bottom:0;z-index:20;display:grid;grid-template-columns:repeat(5,minmax(0,1fr));width:min(100%,480px);height:var(--mobile-bottom);padding:8px 10px calc(7px + env(safe-area-inset-bottom,0px));background:#fffffff5;border-top:1px solid #e8ece9;backdrop-filter:blur(20px);box-shadow:0 -4px 25px #12371d05;gap:0}.mobile-app .bottom-nav button{border:0;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;background:transparent;min-width:0;padding:5px 0;min-height:56px;color:#8c948f;font-size:9px;font-weight:400;position:relative}.mobile-app .bottom-nav button svg{width:21px;height:21px}.mobile-app .bottom-nav button>span{font-size:8px;width:auto;line-height:1.4;letter-spacing:-.15px}.mobile-app .bottom-nav button.active{color:#143d28;background:#e8fbef;font-weight:600}.mobile-app .bottom-nav button.active:after{display:none}.mobile-app .bottom-nav button:focus-visible{outline:2px solid #168d4c;outline-offset:-2px}
/* Every existing API-backed screen is tuned for one-handed use. */
.mobile-app .page-heading{display:block;margin:0 0 22px}.mobile-app .page-heading h1{font-size:26px;letter-spacing:-1px;line-height:1.2;margin-bottom:10px}.mobile-app .page-heading p{font-size:12px;color:#7a817d;margin:0}.mobile-app .page-heading>.button{margin-top:15px}.mobile-app .page-heading .pill{display:none}.mobile-app .filter{padding:17px;background:#f6f8f7;border:1px solid #edf1ee;border-radius:15px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;margin-bottom:22px;align-items:end}.mobile-app .filter label{font-size:10px;min-width:0}.mobile-app .filter input,.mobile-app .filter select{font-size:16px;min-height:46px;margin:5px 0 0;padding:10px 9px;min-width:0;max-width:100%}.mobile-app .filter>.button{grid-column:1/-1;width:100%;font-size:12px;min-height:46px}.mobile-app #club-filter{grid-template-columns:1fr auto}.mobile-app #club-filter>.button{grid-column:auto;width:auto;padding:10px 16px}.mobile-app .tournament-grid,.mobile-app .profile-layout,.mobile-app .conversation{grid-template-columns:1fr;gap:15px}.mobile-app .button{min-height:48px;border-radius:10px;font-size:12px}.mobile-app .button.text{background:transparent;min-height:44px;border:0;padding:0}.mobile-app .booking{border-radius:15px;padding:18px;margin:12px 0;display:flex;flex-direction:column;align-items:stretch;gap:8px}.mobile-app .booking h3{font-size:15px}.mobile-app .booking p{font-size:11px}.mobile-app .booking .button{font-size:11px;min-height:42px;align-self:flex-start}.mobile-app .card{padding:20px;border-radius:17px;border-color:#e8eeea}.mobile-app label{font-size:12px}.mobile-app input,.mobile-app select,.mobile-app textarea{font-size:16px;min-height:48px;border-color:#e0e7e1;border-radius:9px;background:white}.mobile-app .form-grid{grid-template-columns:1fr;gap:0}.mobile-app textarea{min-height:105px}.mobile-app .checks{grid-template-columns:1fr;gap:0}.mobile-app .checks label{font-size:12px;min-height:44px;gap:10px}.mobile-app .checks input{min-height:20px;width:20px;height:20px;accent-color:#00bd62}.mobile-app #profile-form>.button{width:100%;position:sticky;bottom:calc(var(--mobile-bottom) + 10px);box-shadow:0 6px 16px #137b2d10}.mobile-app .empty{padding:24px 20px;font-size:12px;border:1px dashed #d9e6dd;background:#f9fcfa;border-radius:15px;width:100%;min-width:0}.mobile-app .empty h3{font-size:16px;font-weight:600;line-height:1.4}.mobile-app .empty p{font-size:12px}.mobile-app .mobile-player-rail>.empty{flex:0 0 100%}.mobile-app .form-note{font-size:11px}.mobile-app .thread-list{display:flex;gap:8px;overflow:auto;padding-bottom:4px}.mobile-app .thread-list button{min-width:155px;flex-shrink:0;border-radius:12px;padding:14px;font-size:12px}.mobile-app .thread-list button small{font-size:10px}.mobile-app .thread-list button.selected{background:#e8fbef;border-color:#c5e8d2}.mobile-app #chat h2{font-size:17px}.mobile-app .messages{height:35dvh;min-height:180px}.mobile-app .bubble{font-size:12px;border-radius:14px;max-width:92%;padding:11px 13px}.mobile-app .bubble.mine{background:#ddf8e8}.mobile-app .inline-form{display:flex;flex-direction:row;gap:7px}.mobile-app .inline-form input{min-width:0;padding:10px;font-size:16px}.mobile-app .inline-form button{font-size:10px;padding:10px;min-height:48px}.mobile-app #chat>.form-note{font-size:10px}.mobile-app #chat .button.text{font-size:10px}
/* Bottom sheets respect the keyboard and device safe areas. */
.mobile-app dialog{position:fixed;inset:auto 0 0;margin:0 auto;width:min(100%,480px);max-width:none;max-height:calc(100dvh - env(safe-area-inset-top,0px) - 30px);border:0;border-radius:25px 25px 0 0;padding:35px 24px calc(25px + env(safe-area-inset-bottom,0px));overflow-y:auto;overscroll-behavior:contain;box-shadow:0 -10px 60px #001f2428;animation:sheet-in .22s ease-out}.mobile-app dialog:before{content:'';position:absolute;top:9px;left:calc(50% - 19px);height:4px;width:38px;border-radius:4px;background:#d8dfd9}.mobile-app dialog::backdrop{background:#03152675;backdrop-filter:blur(4px)}.mobile-app dialog .close{position:absolute;top:13px;right:16px;width:38px;height:38px;min-height:38px;border-radius:50%;background:#f5f7f5;font-size:24px;color:#546258;line-height:1}.mobile-app dialog h2{font-size:25px;line-height:1.22;margin:12px 36px 14px 0;letter-spacing:-.8px}.mobile-app dialog p{font-size:12px}.mobile-app dialog .eyebrow{font-size:9px;margin-top:14px}.mobile-app dialog .auth-brand{margin:15px 0 23px;padding:24px;border-radius:13px;background:linear-gradient(120deg,#c7d9ec,#fff0a8)}.mobile-app .auth-brand img{width:145px}.mobile-app .auth-tabs{margin:15px 0;gap:20px}.mobile-app .auth-tabs button{min-height:44px;font-size:12px}.mobile-app #auth-form .button{width:100%}.mobile-app dialog [data-action=demo]{width:100%;border-color:#d3dfd6;background:#f4f9f5}.mobile-app .slot-list{grid-template-columns:1fr 1fr;gap:9px;max-height:31dvh;min-height:90px;padding:3px;margin:16px -3px}.mobile-app .slot{border-radius:10px;padding:12px 9px;font-size:13px;background:#f7f9f7;border-color:#e5ebe6;min-height:75px}.mobile-app .slot small{font-size:9px;line-height:1.5}.mobile-app .slot.selected{background:#e4fcef;border-color:#14bb67;box-shadow:0 0 0 1px #14bb67}.mobile-app .summary{border-radius:12px;padding:17px;background:#f0fbf4}.mobile-app .summary b{font-size:14px}.mobile-app .summary p{font-size:11px}.mobile-app #confirm-booking,.mobile-app #join-tournament,.mobile-app #confirm-cancel{width:100%;min-height:52px;font-size:12px}.mobile-app .toast{position:fixed;bottom:calc(var(--mobile-bottom) + 12px);left:50%;right:auto;transform:translateX(-50%);width:calc(100% - 36px);max-width:440px;font-size:12px;padding:16px 18px;background:#122d1e;border:1px solid #31523d;border-radius:13px;z-index:100}.offline-status{padding:12px 22px;font-size:11px;background:#fff3bf;color:#6c5911}.mobile-loading{min-height:45vh;display:grid;place-content:center;justify-items:center;gap:20px}.mobile-loading p{font-size:12px}.loading-court{height:58px;width:38px;border:2px solid #00c667;border-radius:5px;position:relative}.loading-court:before{content:'';position:absolute;left:0;right:0;top:50%;height:2px;background:#00c667}.loading-court:after{content:'';width:8px;height:8px;border-radius:50%;background:#ffd600;position:absolute;left:13px;top:8px;animation:ball-bounce 1s ease-in-out infinite alternate}
@keyframes sheet-in{from{transform:translateY(30px);opacity:.6}to{transform:translateY(0);opacity:1}}@keyframes ball-bounce{to{transform:translateY(30px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.mobile-app *, .mobile-app *:before,.mobile-app *:after{animation:none!important;transition:none!important}}
@media(min-width:600px){.mobile-frame{margin:24px auto;border:1px solid #e1e7e3;border-radius:28px 28px 0 0;overflow:clip}.mobile-app .mobile-header{border-radius:28px 28px 0 0}.mobile-app .bottom-nav{border-left:1px solid #e1e7e3;border-right:1px solid #e1e7e3}.mobile-app dialog{bottom:20px;border-radius:25px;width:440px;max-height:90dvh;padding-bottom:25px}}
@media(max-width:360px){.mobile-app .mobile-header{padding-left:17px;padding-right:17px}.mobile-context{padding-left:17px;padding-right:17px}.mobile-app main{padding-left:17px;padding-right:17px}.mobile-app h1{font-size:25px}.mobile-hero{height:372px}.mobile-hero-copy{left:18px;right:18px}.mobile-hero-copy h2{font-size:33px}.mobile-hero-copy .hero-description{font-size:11px}.mobile-quick-actions{gap:8px}.mobile-quick-actions>button{padding:11px 9px;gap:6px}.quick-icon{width:25px}.mobile-quick-actions b{font-size:10px}.mobile-quick-actions small{font-size:7px}.mobile-app .section-title h2{font-size:16px}.mobile-app .section-title .button{font-size:9px}.mobile-app .bottom-nav button>span{font-size:7px}.mobile-app .filter{padding:13px;gap:9px}.mobile-app dialog{padding-left:20px;padding-right:20px}.mobile-app .player .bottom{gap:7px}.mobile-app .compat{font-size:9px}}
