.bottom-nav{position:fixed;bottom:0;left:50%;transform:translate(-50%);width:100%;max-width:480px;height:calc(var(--bottom-nav-height) + var(--safe-bottom));padding-bottom:var(--safe-bottom);background:var(--tg-bg-color);border-top:1px solid var(--divider-color);display:flex;align-items:stretch;justify-content:space-around;z-index:100}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--tg-hint-color);font-size:11px;font-weight:var(--weight-medium);position:relative;transition:color .15s ease}.bottom-nav__icon{font-size:22px;line-height:1}.bottom-nav__label{letter-spacing:.02em}.bottom-nav__item--active{color:var(--padel-green)}.bottom-nav__item--locked{opacity:.55}.bottom-nav__lock{position:absolute;top:6px;right:calc(50% - 18px);font-size:10px}.main-button-wrap{position:fixed;bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + var(--space-3));left:50%;transform:translate(-50%);width:calc(100% - var(--space-8));max-width:432px;z-index:50}.main-button{width:100%;height:52px;border-radius:var(--radius-md);font-size:var(--font-body);font-weight:var(--weight-semibold);letter-spacing:.01em;transition:opacity .15s ease,transform .1s ease;box-shadow:0 6px 18px #22b5732e}.main-button--primary{background:var(--padel-green);color:#fff}.main-button--danger{background:var(--padel-red);color:#fff}.main-button--secondary{background:var(--tg-secondary-bg-color);color:var(--tg-text-color);box-shadow:none}.main-button:disabled{opacity:.45;cursor:not-allowed}.main-button:not(:disabled):active{transform:scale(.98)}.onboarding{padding-bottom:var(--main-button-clearance)}.onboarding__title{font-size:var(--font-display);font-weight:var(--weight-bold);margin-top:var(--space-3)}.onboarding__lead{color:var(--tg-hint-color);margin-top:var(--space-2);margin-bottom:var(--space-6)}.onboarding__back{background:transparent;color:var(--tg-link-color);font-size:var(--font-body);font-weight:var(--weight-medium);margin-bottom:var(--space-3);padding:0}.onboarding__levels{display:grid;grid-template-columns:repeat(5,1fr);gap:var(--space-2)}.onboarding__level{height:44px;border-radius:var(--radius-md);background:var(--tg-secondary-bg-color);color:var(--tg-text-color);font-size:var(--font-body);font-weight:var(--weight-semibold);transition:background .15s ease,color .15s ease}.onboarding__level--active{background:var(--padel-green);color:#fff}.role-grid{display:grid;grid-template-columns:1fr;gap:var(--space-3);margin-bottom:var(--space-4)}.role-card{position:relative;text-align:left;background:var(--tg-secondary-bg-color);border:2px solid transparent;border-radius:var(--radius-lg);padding:var(--space-4);color:var(--tg-text-color);transition:border-color .15s ease,background .15s ease}.role-card--active{border-color:var(--padel-green);background:var(--padel-green-soft)}.role-card__icon{font-size:32px;margin-bottom:var(--space-2)}.role-card__title{font-size:var(--font-title);font-weight:var(--weight-bold);margin-bottom:var(--space-1)}.role-card__desc{font-size:var(--font-caption);color:var(--tg-hint-color)}.role-card__check{position:absolute;top:var(--space-3);right:var(--space-4);color:var(--padel-green);font-size:22px;font-weight:var(--weight-bold)}.onboarding__role-block{background:var(--tg-secondary-bg-color);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.onboarding__role-head{font-size:var(--font-title);font-weight:var(--weight-bold);margin-bottom:var(--space-3)}.chip-row{display:flex;flex-wrap:wrap;gap:var(--space-2)}.chip{background:var(--tg-bg-color);border:1px solid var(--border-color);border-radius:var(--radius-pill);padding:6px 12px;font-size:var(--font-caption);font-weight:var(--weight-medium);color:var(--tg-text-color)}.chip--active{background:var(--padel-green);border-color:var(--padel-green);color:#fff}.profile-pill{display:inline-flex;align-items:center;gap:6px;background:var(--tg-secondary-bg-color);color:var(--tg-text-color);border-radius:var(--radius-pill);padding:6px 10px 6px 8px;font-size:var(--font-caption);font-weight:var(--weight-semibold)}.profile-pill__icon{font-size:16px;line-height:1}.profile-pill__label{letter-spacing:.01em}.profile-pill__caret{font-size:10px;opacity:.6}.sheet-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;z-index:1000;display:flex;align-items:flex-end;justify-content:center}.sheet{width:100%;max-width:480px;background:var(--tg-bg-color);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-3) var(--space-4) calc(var(--space-4) + var(--safe-bottom));animation:sheet-in .18s ease-out}@keyframes sheet-in{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.sheet__handle{width:36px;height:4px;background:var(--tg-hint-color);opacity:.4;border-radius:2px;margin:0 auto var(--space-3)}.sheet__title{font-size:var(--font-caption);color:var(--tg-hint-color);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--weight-medium);margin-bottom:var(--space-2)}.sheet__row{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3);border-radius:var(--radius-md);color:var(--tg-text-color);font-size:var(--font-body);background:transparent}.sheet__row:active{background:var(--tg-secondary-bg-color)}.sheet__row--active{background:var(--padel-green-soft)}.sheet__row-icon{font-size:22px;line-height:1}.sheet__row-label{flex:1;display:flex;align-items:center;gap:var(--space-2);font-weight:var(--weight-semibold)}.sheet__row-tag{font-size:var(--font-caption);font-weight:var(--weight-medium);color:var(--tg-link-color)}.sheet__row-check{color:var(--padel-green);font-weight:var(--weight-bold)}.sheet__cancel{width:100%;margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:var(--tg-secondary-bg-color);color:var(--tg-text-color);font-weight:var(--weight-semibold)}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);position:sticky;top:0;background:var(--tg-bg-color);z-index:10;border-bottom:1px solid var(--divider-color)}.header__left{display:flex;align-items:center;gap:var(--space-3)}.header__back{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--tg-secondary-bg-color);color:var(--tg-text-color);margin-left:-6px;transition:transform .12s ease,background .15s ease}.header__back:active{transform:scale(.92);background:var(--divider-color)}.header__title{font-size:var(--font-headline);font-weight:var(--weight-bold)}.header__subtitle{font-size:var(--font-caption);color:var(--tg-hint-color)}.slot-dots{display:flex;gap:6px;margin-top:var(--space-3)}.slot-dot{width:12px;height:12px;border-radius:50%;border:2px solid;background:transparent}.slot-dot--drive{border-color:var(--side-drive)}.slot-dot--backhand{border-color:var(--side-backhand)}.slot-dot--either{border-color:var(--side-either)}.slot-dot--filled.slot-dot--drive{background:var(--side-drive)}.slot-dot--filled.slot-dot--backhand{background:var(--side-backhand)}.slot-dot--filled.slot-dot--either{background:var(--side-either)}.slot-dots--lg .slot-dot{width:16px;height:16px;border-width:2.5px}.gender-tag{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--font-caption);font-weight:var(--weight-medium)}.gender-tag__icon{font-size:12px;line-height:1}.gender-tag--men{background:var(--gender-men-soft);color:var(--gender-men)}.gender-tag--women{background:var(--gender-women-soft);color:var(--gender-women)}.gender-tag--mixed{background:var(--gender-mixed-soft);color:var(--gender-mixed)}.game-card--match{border:1px solid var(--padel-green);position:relative}.game-card--match:before{content:"matches you";position:absolute;top:-8px;right:12px;font-size:10px;font-weight:var(--weight-bold);letter-spacing:.05em;text-transform:uppercase;background:var(--padel-green);color:#fff;padding:2px 8px;border-radius:var(--radius-pill)}.game-card__when{font-size:var(--font-caption);font-weight:var(--weight-semibold);color:var(--padel-green);letter-spacing:.04em}.game-card__duration{color:var(--tg-hint-color);font-weight:var(--weight-medium);letter-spacing:0}.game-card__club{font-size:var(--font-title);font-weight:var(--weight-semibold);margin-top:var(--space-1)}.game-card__meta{font-size:var(--font-caption);color:var(--tg-hint-color)}.game-card__by{margin-top:var(--space-3);font-size:var(--font-caption);color:var(--tg-hint-color)}.home{padding-bottom:var(--main-button-clearance)}.home__filters{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.home__chip{background:var(--tg-secondary-bg-color);color:var(--tg-text-color);padding:8px 28px 8px 12px;border-radius:var(--radius-pill);font-size:var(--font-caption);font-weight:var(--weight-medium);-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--tg-hint-color) 50%),linear-gradient(135deg,var(--tg-hint-color) 50%,transparent 50%);background-position:calc(100% - 14px) 50%,calc(100% - 9px) 50%;background-size:5px 5px;background-repeat:no-repeat}.create-game{padding-bottom:var(--main-button-clearance)}.create-game__pills{display:flex;gap:var(--space-2)}.create-game__pill{flex:1;height:48px;border-radius:var(--radius-md);background:var(--tg-secondary-bg-color);font-size:var(--font-body);font-weight:var(--weight-semibold);color:var(--tg-text-color)}.create-game__pill--active{background:var(--padel-green);color:#fff}.create-game__range{display:flex;align-items:center;gap:var(--space-3)}.create-game__range-val{width:64px;background:var(--tg-secondary-bg-color);border-radius:var(--radius-md);padding:var(--space-3);text-align:center;font-weight:var(--weight-semibold);font-size:var(--font-body)}.create-game__range-bar{flex:1;height:6px;background:var(--tg-secondary-bg-color);border-radius:var(--radius-pill);position:relative;overflow:hidden}.create-game__range-fill{position:absolute;top:0;bottom:0;background:var(--padel-green);border-radius:var(--radius-pill)}.create-game__check{display:flex;align-items:center;gap:var(--space-3);background:var(--tg-secondary-bg-color);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-top:var(--space-4);font-size:var(--font-body)}.create-game__check input{width:20px;height:20px;accent-color:var(--padel-green)}.create-game__slot-row{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-2)}.create-game__slot-label{font-size:var(--font-caption);color:var(--tg-hint-color);width:50px;flex-shrink:0}.chip--side-drive.chip--active{background:var(--side-drive);border-color:var(--side-drive)}.chip--side-backhand.chip--active{background:var(--side-backhand);border-color:var(--side-backhand)}.chip--side-either.chip--active{background:var(--side-either);border-color:var(--side-either)}.player-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.player-row__avatar{width:36px;height:36px;border-radius:50%;background:var(--padel-green-soft);color:var(--padel-green);font-size:13px;font-weight:var(--weight-bold);display:flex;align-items:center;justify-content:center;flex-shrink:0}.player-row__main{flex:1;min-width:0}.player-row__nick{font-size:var(--font-body);font-weight:var(--weight-medium);display:flex;align-items:center;gap:var(--space-2)}.player-row__me{background:var(--padel-green-soft);color:var(--padel-green);font-size:10px;font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.06em;padding:1px 6px;border-radius:var(--radius-pill)}.player-row__sub{font-size:var(--font-caption);color:var(--tg-hint-color);margin-top:2px}.player-row__right{font-size:var(--font-caption);color:var(--tg-hint-color);font-variant-numeric:tabular-nums}.game-detail{padding-bottom:var(--main-button-clearance)}.game-detail__hero{margin-bottom:var(--space-5)}.game-detail__when{font-size:var(--font-caption);font-weight:var(--weight-semibold);color:var(--padel-green);letter-spacing:.04em}.game-detail__club{font-size:var(--font-display);font-weight:var(--weight-bold);margin-top:var(--space-1)}.game-detail__actions{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.game-detail__action{flex:1;height:40px;border-radius:var(--radius-md);font-weight:var(--weight-semibold);font-size:var(--font-body)}.game-detail__action--accept{background:var(--padel-green);color:#fff}.game-detail__action--decline{background:var(--tg-secondary-bg-color);color:var(--tg-text-color)}.game-detail__cancel{display:block;width:100%;padding:var(--space-3);margin-top:var(--space-4);color:var(--padel-red);font-weight:var(--weight-medium);text-align:center}.slot-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) 0}.slot-row__main{flex:1;min-width:0}.slot-row__name{font-weight:var(--weight-semibold);font-size:var(--font-body)}.slot-row__name--open{color:var(--tg-hint-color);font-weight:var(--weight-medium)}.slot-row__right{font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--padel-green)}.slot-row__join{background:var(--padel-green);color:#fff;border-radius:var(--radius-pill);padding:6px 14px;font-weight:var(--weight-semibold);font-size:var(--font-caption)}.slot-row__requested{display:inline-flex;flex-direction:column;align-items:center;gap:1px;background:var(--padel-green-soft);color:var(--padel-green);border-radius:var(--radius-pill);padding:4px 12px;font-weight:var(--weight-semibold);border:1px solid var(--padel-green)}.slot-row__requested-label{font-size:var(--font-caption);line-height:1.1}.slot-row__requested-hint{font-size:9px;opacity:.75;font-weight:var(--weight-medium);letter-spacing:.02em}.score-input{display:inline-flex;align-items:center;background:var(--tg-secondary-bg-color);border-radius:var(--radius-md);overflow:hidden}.score-input__btn{width:40px;height:44px;font-size:20px;font-weight:var(--weight-semibold);color:var(--tg-text-color)}.score-input__btn:active{background:var(--divider-color)}.score-input__value{min-width:36px;text-align:center;font-size:var(--font-headline);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.submit-result{padding-bottom:var(--main-button-clearance)}.submit-result__side{font-size:var(--font-body);font-weight:var(--weight-medium);background:var(--tg-secondary-bg-color);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md)}.submit-result__type,.submit-result__winner{display:flex;gap:var(--space-2)}.submit-result__type-btn,.submit-result__winner-btn{flex:1;height:44px;border-radius:var(--radius-md);background:var(--tg-secondary-bg-color);font-weight:var(--weight-semibold);color:var(--tg-text-color);font-size:var(--font-body)}.submit-result__type-btn--active,.submit-result__winner-btn--active{background:var(--padel-green);color:#fff}.submit-result__set{display:flex;align-items:center;gap:var(--space-3)}.submit-result__dash{font-size:var(--font-display);font-weight:var(--weight-bold);color:var(--tg-hint-color)}.submit-result__add-set{width:100%;padding:var(--space-3);background:transparent;color:var(--padel-green);font-weight:var(--weight-semibold);border:1px dashed var(--padel-green);border-radius:var(--radius-md)}.confirm-result{padding-bottom:60px}.confirm-result__lead{margin-bottom:var(--space-4);color:var(--tg-hint-color)}.confirm-result__sides{display:grid;grid-template-columns:1fr auto 1fr;gap:var(--space-2);align-items:start;margin-top:var(--space-2)}.confirm-result__vs{align-self:center;color:var(--tg-hint-color);font-weight:var(--weight-bold)}.confirm-result__row{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0;font-size:var(--font-body)}.confirm-result__score{font-variant-numeric:tabular-nums;font-size:var(--font-headline)}.confirm-result__primary{width:100%;height:52px;background:var(--padel-green);color:#fff;font-weight:var(--weight-bold);font-size:var(--font-body);border-radius:var(--radius-md);margin-top:var(--space-3);box-shadow:0 6px 18px #22b5732e}.confirm-result__dispute{width:100%;height:48px;color:var(--padel-red);font-weight:var(--weight-semibold);margin-top:var(--space-2)}.confirm-result__success{display:flex;flex-direction:column;align-items:center;justify-content:center;padding-top:var(--space-8);text-align:center}.confirm-result__delta{font-size:72px;font-weight:var(--weight-bold);color:var(--padel-green);line-height:1}.confirm-result__delta-label{color:var(--tg-hint-color);margin-top:var(--space-5);font-size:var(--font-caption);text-transform:uppercase;letter-spacing:.06em}.confirm-result__new-rating{font-size:var(--font-display);font-weight:var(--weight-bold);margin-top:var(--space-2)}.confirm-result__done{margin-top:var(--space-8);padding:var(--space-3) var(--space-6);background:var(--padel-green);color:#fff;border-radius:var(--radius-md);font-weight:var(--weight-semibold)}.rankings__tabs{display:flex;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--tg-bg-color);position:sticky;top:60px;z-index:8;border-bottom:1px solid var(--divider-color)}.rankings__tab{flex:1;height:36px;border-radius:var(--radius-pill);background:var(--tg-secondary-bg-color);color:var(--tg-text-color);font-size:var(--font-caption);font-weight:var(--weight-semibold)}.rankings__tab--active{background:var(--padel-green);color:#fff}.rankings__list{display:flex;flex-direction:column}.ranking-row{display:grid;grid-template-columns:28px 36px 1fr auto auto;gap:var(--space-3);align-items:center;padding:var(--space-3) 0;border-bottom:1px solid var(--divider-color)}.ranking-row--me{background:var(--padel-green-soft);border-radius:var(--radius-md);padding:var(--space-3);border:none;margin:var(--space-1) 0}.ranking-row__pos{font-size:var(--font-caption);color:var(--tg-hint-color);font-variant-numeric:tabular-nums;text-align:right}.ranking-row__avatar{width:32px;height:32px;border-radius:50%;background:var(--padel-green-soft);color:var(--padel-green);font-size:12px;font-weight:var(--weight-bold);display:flex;align-items:center;justify-content:center}.ranking-row__avatar--team{background:#2481cc1f;color:var(--tg-link-color)}.ranking-row__name{font-size:var(--font-body);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ranking-row__rating{font-size:var(--font-body);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.ranking-row__delta{font-size:var(--font-caption);min-width:36px;text-align:right}.ranking-row__delta--flat{color:var(--tg-hint-color)}.profile{padding-bottom:60px}.profile__settings{font-size:22px;padding:6px}.profile__hero{display:flex;flex-direction:column;align-items:center;padding:var(--space-5) var(--space-4) var(--space-3)}.profile__avatar{width:72px;height:72px;border-radius:50%;background:var(--padel-green);color:#fff;font-size:28px;font-weight:var(--weight-bold);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-3)}.profile__nick{font-size:var(--font-headline);font-weight:var(--weight-bold)}.profile__sub{color:var(--tg-hint-color);font-size:var(--font-caption);margin-top:2px}.profile__chips{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.side-chip,.gender-chip{padding:4px 10px;border-radius:var(--radius-pill);font-size:var(--font-caption);font-weight:var(--weight-semibold)}.side-chip--drive{background:var(--side-drive-soft);color:var(--side-drive)}.side-chip--backhand{background:var(--side-backhand-soft);color:var(--side-backhand)}.side-chip--either{background:var(--side-either-soft);color:var(--side-either)}.gender-chip--male{background:var(--gender-men-soft);color:var(--gender-men)}.gender-chip--female{background:var(--gender-women-soft);color:var(--gender-women)}.profile__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2);background:var(--tg-secondary-bg-color);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-5)}.profile__stat{text-align:center}.profile__stat-value{font-size:var(--font-headline);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.profile__stat-label{font-size:11px;color:var(--tg-hint-color);text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.profile__team{display:grid;grid-template-columns:1fr auto;gap:var(--space-2);align-items:center;padding:var(--space-2) 0}.profile__team-name{font-weight:var(--weight-semibold);font-size:var(--font-body)}.profile__team-meta{font-size:var(--font-caption);color:var(--tg-hint-color);margin-top:2px}.profile__team-rating{font-size:var(--font-headline);font-weight:var(--weight-bold);color:var(--padel-green);font-variant-numeric:tabular-nums}.profile__add-team{width:100%;padding:var(--space-3) 0;text-align:center;color:var(--padel-green);font-weight:var(--weight-semibold)}.profile__match{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) 0}.profile__match-opponents{font-weight:var(--weight-medium)}.profile__match-meta{font-size:var(--font-caption);color:var(--tg-hint-color);margin-top:2px}.profile__match-right{display:flex;align-items:center;gap:var(--space-3);font-size:var(--font-body)}.profile__view-all{width:100%;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) 0;color:var(--padel-green);font-weight:var(--weight-semibold);font-size:var(--font-body)}.profile__nav-row{width:100%;display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--tg-secondary-bg-color);border-radius:var(--radius-md);font-size:var(--font-body);color:var(--tg-text-color);font-weight:var(--weight-medium)}.match-history{padding-bottom:40px}.match-history__summary{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.match-history__sum{text-align:center}.match-history__sum-value{font-size:var(--font-headline);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.match-history__sum-label{font-size:11px;color:var(--tg-hint-color);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.match-history__opponents{font-weight:var(--weight-medium);font-size:var(--font-body)}.match-history__right{display:flex;align-items:center;gap:var(--space-3);font-weight:var(--weight-semibold)}.stars{display:inline-flex;color:#f5a623;letter-spacing:1px;line-height:1}.stars__half{position:relative;color:#f5a623;opacity:.55}.stars__empty{color:var(--tg-hint-color);opacity:.4}.coaches__filters{display:flex;gap:var(--space-2);margin-bottom:var(--space-4)}.coaches__filters .home__chip{flex:1}.coach-card{display:flex;align-items:flex-start;gap:var(--space-3);background:var(--tg-secondary-bg-color);border-radius:var(--radius-md);padding:var(--space-4);color:var(--tg-text-color);margin-bottom:var(--space-3)}.coach-card__avatar{width:48px;height:48px;border-radius:50%;background:var(--padel-green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-size:var(--font-body);flex-shrink:0}.coach-card__main{flex:1;min-width:0}.coach-card__name{font-weight:var(--weight-semibold);font-size:var(--font-body);margin-bottom:4px}.coach-card__meta{display:flex;align-items:center;gap:4px;margin-bottom:6px}.coach-card__tags{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:6px}.coach-card__clubs{font-size:var(--font-caption)}.coach-card__price{text-align:right;flex-shrink:0}.coach-card__price-val{font-weight:var(--weight-bold);font-size:var(--font-body)}.coach-detail{padding-bottom:var(--main-button-clearance)}.coach-detail__hero{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-3)}.coach-detail__avatar{width:72px;height:72px;border-radius:50%;background:var(--padel-green);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:var(--weight-bold);font-size:var(--font-headline)}.coach-detail__rate{font-size:var(--font-headline);font-weight:var(--weight-bold)}.coach-detail__rating{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.book-coach{padding-bottom:var(--main-button-clearance)}.time-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.time-cell{height:44px;border-radius:var(--radius-md);background:var(--tg-secondary-bg-color);color:var(--tg-text-color);font-weight:var(--weight-semibold)}.time-cell--active{background:var(--padel-green);color:#fff}.court-booking{padding-bottom:40px}.text-right{text-align:right}.club-booking{padding-bottom:var(--main-button-clearance)}.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-2)}.slot-cell{position:relative;height:48px;border-radius:var(--radius-md);background:var(--tg-secondary-bg-color);color:var(--tg-text-color);font-weight:var(--weight-semibold);font-size:var(--font-caption)}.slot-cell--active{background:var(--padel-green);color:#fff}.slot-cell--booked{opacity:.4;text-decoration:line-through}.slot-cell--blocked{opacity:.45}.slot-cell__tag{display:block;font-size:9px;margin-top:2px;font-weight:var(--weight-medium)}.coach-bookings{padding-bottom:40px}.tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);background:var(--tg-secondary-bg-color);padding:4px;border-radius:var(--radius-pill)}.tab{flex:1;padding:8px 12px;border-radius:var(--radius-pill);background:transparent;color:var(--tg-hint-color);font-size:var(--font-caption);font-weight:var(--weight-semibold)}.tab--active{background:var(--tg-bg-color);color:var(--tg-text-color)}.btn{flex:1;padding:10px 14px;border-radius:var(--radius-md);font-weight:var(--weight-semibold);font-size:var(--font-body)}.btn--primary{background:var(--padel-green);color:#fff}.btn--ghost{background:var(--tg-secondary-bg-color);color:var(--tg-text-color)}.btn--danger{background:var(--padel-red-soft);color:var(--padel-red)}.coach-avail{padding-bottom:40px}.avail-grid-30{display:grid;grid-template-columns:repeat(7,1fr);gap:3px}.avail-cell-30{height:28px;border-radius:var(--radius-sm);background:var(--tg-bg-color);color:var(--tg-hint-color);font-size:10px;font-weight:var(--weight-semibold);border:1px solid var(--border-color);padding:0}.avail-cell-30:not(.avail-cell-30--hour){background:var(--tg-secondary-bg-color)}.avail-cell-30--on{background:var(--padel-green)!important;color:#fff;border-color:var(--padel-green)}.link{background:transparent;color:var(--tg-link-color);text-decoration:underline;padding:0;font-size:var(--font-caption)}.mgr-overview{padding-bottom:40px}.kpi-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--divider-color);border-radius:var(--radius-md);overflow:hidden;margin-bottom:var(--space-4)}.kpi{background:var(--tg-secondary-bg-color);padding:var(--space-3) 4px;text-align:center;min-width:0}.kpi__value{font-size:var(--font-headline);font-weight:var(--weight-bold);line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi__label{font-size:11px;color:var(--tg-hint-color);margin-top:2px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.kpi--warn .kpi__value{color:var(--padel-red)}.kpi--mute .kpi__value{color:var(--tg-hint-color)}.pending-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--padel-green);color:#fff;margin-bottom:var(--space-4)}.pending-banner__icon{font-size:24px;line-height:1}.pending-banner__body{flex:1;min-width:0}.pending-banner__title{font-weight:var(--weight-semibold);font-size:var(--font-body)}.pending-banner__sub{font-size:var(--font-caption);opacity:.85}.pending-banner__arrow{font-size:20px;line-height:1}.club-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-3)}.club-row__main{flex:1;min-width:0}.club-row__name{font-weight:var(--weight-semibold);font-size:var(--font-body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.club-row__sub{font-size:var(--font-caption);color:var(--tg-hint-color);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-top:2px}.club-row__stats{display:flex;align-items:center;gap:var(--space-2);flex-shrink:0}.club-row__stat{text-align:center;min-width:36px}.club-row__stat-value{font-size:var(--font-title);font-weight:var(--weight-bold);line-height:1}.club-row__stat-label{font-size:11px;color:var(--tg-hint-color);text-transform:uppercase;letter-spacing:.04em;margin-top:2px}.club-row__pending{background:var(--padel-red);color:#fff;border-radius:999px;min-width:22px;height:22px;padding:0 6px;font-size:var(--font-caption);font-weight:var(--weight-bold);display:inline-flex;align-items:center;justify-content:center}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,sans-serif;font-size:15px;line-height:1.4;overflow-x:hidden}button,input,select,textarea{font:inherit;color:inherit;background:transparent;border:none;outline:none}button{cursor:pointer}a{color:inherit;text-decoration:none}img,svg{display:block;max-width:100%}:root{--tg-bg-color: #ffffff;--tg-text-color: #0f0f0f;--tg-hint-color: #8a8a8e;--tg-link-color: #2481cc;--tg-button-color: #2481cc;--tg-button-text-color: #ffffff;--tg-secondary-bg-color: #f4f4f7;--padel-green: #22B573;--padel-green-soft: #DFF5E9;--padel-red: #E74C3C;--padel-red-soft: #FCE7E4;--side-drive: #22B573;--side-drive-soft: #DFF5E9;--side-backhand: #8B5CF6;--side-backhand-soft: #EDE7FE;--side-either: #8a8a8e;--side-either-soft: #ECECEE;--gender-men: #2563EB;--gender-men-soft: #DBEAFE;--gender-women: #DB2777;--gender-women-soft: #FBE7F3;--gender-mixed: #F59E0B;--gender-mixed-soft: #FEF3C7;--border-color: rgba(0, 0, 0, .08);--divider-color: rgba(0, 0, 0, .06);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-pill: 999px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--font-caption: 13px;--font-body: 15px;--font-title: 17px;--font-headline: 20px;--font-display: 28px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--bottom-nav-height: 64px;--safe-bottom: env(safe-area-inset-bottom, 0px);--main-button-clearance: calc(var(--bottom-nav-height) + var(--safe-bottom) + 52px + var(--space-3) + var(--space-4))}[data-color-scheme=dark]{--tg-bg-color: #17212B;--tg-text-color: #ffffff;--tg-hint-color: #708499;--tg-link-color: #6ab2f2;--tg-button-color: #5288c1;--tg-button-text-color: #ffffff;--tg-secondary-bg-color: #232E3C;--border-color: rgba(255, 255, 255, .08);--divider-color: rgba(255, 255, 255, .06)}body{background:var(--tg-bg-color);color:var(--tg-text-color)}.app{min-height:100%;max-width:480px;margin:0 auto;display:flex;flex-direction:column;position:relative}.app__content{flex:1;padding-bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + var(--space-3))}.screen{padding:var(--space-4)}.screen__header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);position:sticky;top:0;background:var(--tg-bg-color);z-index:10;border-bottom:1px solid var(--divider-color)}.screen__title{font-size:var(--font-headline);font-weight:var(--weight-bold)}.screen__subtitle{font-size:var(--font-caption);color:var(--tg-hint-color);margin-top:var(--space-1)}.card{background:var(--tg-secondary-bg-color);border-radius:var(--radius-md);padding:var(--space-4);margin-bottom:var(--space-3)}.card--link{cursor:pointer;transition:transform .1s ease}.card--link:active{transform:scale(.98)}.row{display:flex;align-items:center}.row--between{justify-content:space-between}.row--gap-2{gap:var(--space-2)}.row--gap-3{gap:var(--space-3)}.stack{display:flex;flex-direction:column}.stack--gap-2{gap:var(--space-2)}.stack--gap-3{gap:var(--space-3)}.stack--gap-4{gap:var(--space-4)}.hint{color:var(--tg-hint-color);font-size:var(--font-caption)}.label{font-size:var(--font-caption);color:var(--tg-hint-color);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--weight-medium);margin-bottom:var(--space-2)}.field{display:block;width:100%;background:var(--tg-secondary-bg-color);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--font-body);color:var(--tg-text-color)}.field::placeholder{color:var(--tg-hint-color)}.section{margin-bottom:var(--space-5)}.section-title{font-size:var(--font-body);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.tag{display:inline-block;padding:2px 8px;border-radius:var(--radius-pill);font-size:var(--font-caption);font-weight:var(--weight-medium);background:var(--tg-secondary-bg-color);color:var(--tg-hint-color)}.tag--green{background:var(--padel-green-soft);color:var(--padel-green)}.tag--red{background:var(--padel-red-soft);color:var(--padel-red)}.text-positive{color:var(--padel-green);font-weight:var(--weight-semibold)}.text-negative{color:var(--padel-red);font-weight:var(--weight-semibold)}.divider{height:1px;background:var(--divider-color);margin:var(--space-3) 0}.empty-state{text-align:center;padding:var(--space-8) var(--space-4);color:var(--tg-hint-color)}.empty-state__emoji{font-size:48px;margin-bottom:var(--space-3)}
