@media(max-width:1100px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.settings-grid{grid-template-columns:1fr}}
@media(max-width:900px){.app-layout{grid-template-columns:1fr}.sidebar{display:none}.mobile-brand{display:flex;align-items:center;gap:10px}.topbar__inner{justify-content:space-between}.installer-wrap{grid-template-columns:1fr}.installer-side{padding:22px}.installer-intro{display:none}.steps{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.steps li{grid-template-columns:32px 1fr}.steps small{display:none}.installer-panel{padding:28px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.content{width:min(calc(100% - 24px),var(--content-width));padding-top:18px}.topbar__inner{padding:0 12px}.user-box>div{display:none}.page-heading{align-items:stretch;flex-direction:column}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid--2,.form-grid--host,.mail-test-row{grid-template-columns:1fr}.installer-shell{padding:0;display:block}.installer-wrap{min-height:100vh;border-radius:0;border:0}.installer-panel{padding:22px 16px 36px}.auth-wrap{padding:12px}.auth-card{padding:22px}.card{padding:16px}.event-item{flex-direction:column}.footer{padding:16px}.btn{width:100%}.user-box .btn,.section-heading .btn{width:auto}}
@media(max-width:520px){.stats-grid{grid-template-columns:1fr 1fr}.steps li div strong{font-size:.76rem}.form-card{padding:14px}.installer-side{padding:18px}}

@media(max-width:1100px){.dashboard-grid{grid-template-columns:1fr}.announcement-layout{grid-template-columns:1fr}.form-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){
  .sidebar{display:block;position:fixed;left:0;top:0;bottom:0;width:min(82vw,300px);height:100vh;z-index:100;transform:translateX(-105%);transition:transform .2s ease;box-shadow:var(--shadow-panel)}
  .sidebar-close{display:block}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:90;opacity:0;pointer-events:none;transition:opacity .2s ease}
  .menu-toggle:checked~.app-layout .sidebar{transform:translateX(0)}
  .menu-toggle:checked~.app-layout .sidebar-backdrop{opacity:1;pointer-events:auto}
}
@media(max-width:700px){
  .calendar-card{overflow:hidden}.calendar-grid{min-width:700px}.calendar-card{overflow-x:auto}.form-grid--4{grid-template-columns:1fr}.profile-photo-field{grid-template-columns:1fr}.form-actions--right{flex-direction:column-reverse}
  .actions-cell{flex-direction:column;align-items:stretch}.actions-cell .btn{width:100%}
}

@media(max-width:1000px){
  .split-layout,.profile-grid{grid-template-columns:1fr}
}
@media(max-width:700px){
  .multi-check-grid{grid-template-columns:1fr}
  .profile-card{align-items:flex-start}
  .avatar--xl{width:96px;height:96px}
}

@media(max-width:760px){.mobile-row{grid-template-columns:auto minmax(0,1fr);align-items:start}.mobile-row>.actions-cell{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.mobile-row>.actions-cell form{width:100%}.profile-hero{display:grid;grid-template-columns:auto 1fr;gap:14px}.profile-hero .mini-stats{grid-column:1/-1;margin:0;display:grid;grid-template-columns:1fr 1fr;width:100%}.avatar--hero{width:100px;height:100px}.detail-grid{grid-template-columns:1fr}.search-picker__items{grid-template-columns:1fr;max-height:280px}.form-grid,.form-grid--2,.form-grid--host,.form-grid--4{grid-template-columns:1fr!important;min-width:0}.form-card-wide{width:100%;max-width:100%;overflow:hidden}.field,.field input,.field select,.field textarea{min-width:0;max-width:100%}.content{overflow-x:hidden}.calendar-card{overflow-x:auto}.page-actions{width:100%}.page-actions .btn{flex:1}.avatar--edit{width:112px;height:112px}.map-card iframe{height:240px}}

@media(max-width:950px){.filter-bar,.filter-bar--compact{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-actions{grid-column:1/-1}.person-row{grid-template-columns:minmax(0,1fr) auto}.person-meta,.person-contact{grid-column:1/-1;padding-left:70px}.person-actions{grid-column:2;grid-row:1}.summary-grid{grid-template-columns:1fr 1fr}.dashboard-grid{grid-template-columns:1fr}}
@media(max-width:700px){.filter-bar,.filter-bar--compact{grid-template-columns:1fr}.filter-actions{grid-column:auto}.person-row{grid-template-columns:1fr;padding:14px 0}.person-meta,.person-contact{grid-column:auto;padding-left:70px}.person-actions{grid-column:auto;grid-row:auto;justify-content:flex-start;padding-left:70px}.avatar--list{width:64px;height:64px;flex-basis:64px}.summary-grid{grid-template-columns:1fr}.comment--reply{margin-left:12px}.announcement-actions{position:static;margin-top:10px}}


/* v3.7 mobile people lists */
@media(max-width:700px){
  .mobile-filter-toggle{display:flex;width:100%;justify-content:space-between;align-items:center}
  .filters-card{display:none;padding:14px;margin-bottom:14px}
  .filters-card.filters-card--open{display:block}
  .filter-bar,.filter-bar--compact{gap:10px}
  .filter-actions{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .people-card{padding:8px 12px}
  .person-row{grid-template-columns:minmax(0,1fr);gap:8px;padding:12px 34px 12px 4px;margin:0;border-radius:10px}
  .person-row--clickable{padding-left:4px;padding-right:34px}
  .person-main{gap:10px}
  .avatar--list{width:48px;height:48px;flex-basis:48px}
  .person-main strong{font-size:.95rem;line-height:1.15}
  .person-main span,.person-meta span,.person-contact{font-size:.78rem;line-height:1.25}
  .person-meta,.person-contact{grid-column:auto;padding-left:58px;gap:2px}
  .person-status{padding-left:58px}
  .status-badge{min-height:24px;padding:3px 8px;font-size:.7rem}
  .person-row__chevron{right:7px;font-size:1.45rem}
  .contact-link{overflow-wrap:anywhere}
}

/* v3.7.1 mobile filters */
@media(max-width:700px){
  .mobile-filter-toggle{display:flex!important;width:100%;justify-content:space-between;align-items:center}
  .filters-card{display:none}
  .filters-card.filters-card--open{display:block}
}

@media(max-width:700px){
  .person-link-card{align-items:flex-start;display:grid;grid-template-columns:1fr}
  .person-link-card__avatar{width:52px;height:52px;flex-basis:52px}
  .person-link-card__contact{text-align:left;padding-left:64px}
}
@media(max-width:700px){.person-link-card{display:grid;grid-template-columns:1fr;align-items:start}.person-link-card__contact{text-align:left;padding-left:64px}.person-link-card__avatar{width:52px;height:52px;flex-basis:52px}}

@media(max-width:700px){
  .person-link-card{
    grid-template-columns:1fr;
    gap:10px;
    padding:13px 14px;
  }
  .person-link-card__avatar{
    width:50px;
    height:50px;
    flex-basis:50px;
  }
  .person-link-card__contacts{
    justify-content:flex-start;
    padding-left:64px;
    gap:8px 14px;
  }
  .person-contact{
    font-size:.84rem;
  }
}


@media(max-width:700px){
  .avatar--list{
    width:48px;
    height:48px;
    min-width:48px;
    max-width:48px;
    flex-basis:48px;
  }
}


@media(max-width:700px){
  .avatar--list.avatar--placeholder{
    width:48px;
    height:48px;
    min-width:48px;
    max-width:48px;
    flex-basis:48px;
    font-size:18px;
  }
}


/* v3.9 responsive calendar */
@media(max-width:950px){
  .filter-bar--events{grid-template-columns:repeat(2,minmax(0,1fr))}
  .event-row{grid-template-columns:44px minmax(0,1fr) 110px 24px}
  .event-row__place{grid-column:2/4}
  .series-edit-box{grid-template-columns:1fr}
}

@media(max-width:700px){
  .calendar-card,
  .calendar-card--responsive{
    overflow:hidden!important;
  }
  .calendar-card .calendar-grid,
  .calendar-card--responsive .calendar-grid{
    min-width:0!important;
    width:100%!important;
    grid-template-columns:repeat(7,minmax(0,1fr))!important;
  }
  .calendar-grid--labels span{
    padding:4px 1px;
    font-size:.66rem;
  }
  .calendar-day{
    min-height:68px;
    padding:3px;
    gap:2px;
    overflow:hidden;
  }
  .calendar-day__number{
    font-size:.72rem;
  }
  .calendar-event{
    width:100%;
    min-width:0;
    padding:2px;
    border-radius:5px;
  }
  .calendar-event .event-scope-icon{
    width:14px;
    height:14px;
    flex-basis:14px;
    border-radius:4px;
    font-size:0;
  }
  .calendar-event .event-scope-icon::after{
    content:"";
    width:5px;
    height:5px;
    border-radius:50%;
    background:currentColor;
  }
  .calendar-event__text{
    font-size:.55rem;
  }
  .calendar-event--extra{display:none}
  .calendar-more{display:block}
  .filter-bar--events{grid-template-columns:1fr}
  .event-row{
    grid-template-columns:38px minmax(0,1fr) 20px;
    gap:9px;
    padding:12px 30px 12px 2px;
  }
  .event-row__when,.event-row__place{
    grid-column:2/3;
  }
  .event-row__scope .event-scope-icon{
    width:34px;height:34px;flex-basis:34px
  }
  .event-datetime-grid{grid-template-columns:1fr}
  .event-datetime-group{
    grid-template-columns:minmax(0,1fr) minmax(0,.8fr);
    padding:12px;
  }
  .event-datetime-group input[type="date"],
  .event-datetime-group input[type="time"]{
    min-height:48px;
    font-size:16px;
  }
  .recurrence-grid{grid-template-columns:1fr!important}
  .series-edit-box{padding:12px}
}


@media(max-width:700px){
  .event-team-picker .search-picker__items{grid-template-columns:1fr}
  .event-team-picker .check-card{min-height:44px;padding:8px 10px}
  .event-team-picker .check-card > input[type="checkbox"]{
    width:18px!important;height:18px!important;
    min-width:18px!important;min-height:18px!important;
    max-width:18px!important;max-height:18px!important;
    flex-basis:18px!important;
  }
  .event-form-actions{display:grid;grid-template-columns:1fr}
  .event-form-actions__right{display:grid;grid-template-columns:1fr 1fr;width:100%;margin-left:0}
  .event-form-actions > .btn--danger{width:100%}
}


@media(max-width:700px){
  .event-osm-map{
    min-height:280px;
    height:280px;
  }
  .event-map-loading,
  .event-map-fallback{
    min-height:280px;
  }
  .event-map-footer{
    align-items:stretch;
  }
  .event-map-footer .inline-toolbar{
    width:100%;
    display:grid;
    grid-template-columns:1fr;
  }
  .event-map-footer .btn{
    width:100%;
  }
}


@media(max-width:700px){
 .team-row,.record-row,.payment-row,.document-row{grid-template-columns:minmax(0,1fr);}
 .bulk-reminder-bar{justify-content:stretch}.bulk-reminder-bar .btn{width:100%;}
 .document-row .person-actions{padding-left:70px;}
}

@media(max-width:700px){.attendance-list{grid-template-columns:1fr}.form-inline{display:grid}.form-inline .field{min-width:0;width:100%}.form-inline .btn{width:100%}}

@media(max-width:900px){.dashboard-columns{grid-template-columns:1fr}.dashboard-payment-card{grid-template-columns:1fr}.dashboard-next-payment{border-left:0;border-top:1px solid var(--color-border);padding-left:0;padding-top:14px}.attendance-hub-row{grid-template-columns:1fr auto}.attendance-hub-row>div:nth-child(2){grid-column:1/2}.attendance-hub-row>.status-badge{grid-column:2;grid-row:1/3}.payment-row{grid-template-columns:28px minmax(0,1fr) 20px}.payment-row__amount,.payment-row>.status-badge{grid-column:2}.comment-replies{margin-left:12px}.attendance-row{grid-template-columns:28px minmax(0,1fr)}.attendance-row small{grid-column:2;text-align:left}.announcement-image--hero{width:100%;height:auto;max-height:360px}}


/* v3.12.1 dashboard mobile layout */
@media(max-width:700px){
  .dashboard-main-grid,
  .dashboard-content-grid,
  .dashboard-columns,
  .dashboard-grid--3,
  .dashboard-sections{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    width:100% !important;
    min-width:0 !important;
  }

  .dashboard-main-grid > *,
  .dashboard-content-grid > *,
  .dashboard-columns > *,
  .dashboard-grid--3 > *,
  .dashboard-sections > *{
    min-width:0 !important;
    width:100% !important;
  }

  .dashboard-payment-card,
  .payment-summary-card,
  .dashboard-balance-card{
    padding:14px !important;
  }

  .dashboard-payment-card h2,
  .payment-summary-card h2,
  .dashboard-balance-card h2{
    font-size:1.05rem !important;
    margin-bottom:8px !important;
  }

  .dashboard-payment-card .metric-value,
  .payment-summary-card .metric-value,
  .dashboard-balance-card .metric-value,
  .dashboard-payment-card .balance-value,
  .payment-summary-card .balance-value,
  .dashboard-balance-card .balance-value{
    font-size:1.6rem !important;
    line-height:1.1 !important;
  }

  .dashboard-payment-card .payment-next,
  .payment-summary-card .payment-next,
  .dashboard-balance-card .payment-next{
    gap:4px !important;
    font-size:.88rem !important;
  }

  .dashboard-calendar,
  .dashboard-calendar-card{
    overflow:hidden !important;
  }

  .dashboard-calendar .calendar-grid,
  .dashboard-calendar-card .calendar-grid{
    min-width:0 !important;
    width:100% !important;
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
  }
}


/* v3.12.2 focused responsive fixes */
@media(max-width:1000px){
  .filter-bar--announcements{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .filter-bar--announcements .filter-actions{
    grid-column:1/-1;
  }
}

@media(max-width:700px){
  .dashboard-columns{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:14px !important;
    width:100% !important;
  }

  .dashboard-columns > .card{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  .dashboard-payment-card{
    grid-template-columns:minmax(0,1fr) !important;
    gap:10px !important;
    padding:12px 14px !important;
  }

  .dashboard-payment-card h2{
    font-size:1rem !important;
    margin:2px 0 !important;
  }

  .dashboard-balance{
    font-size:1.45rem !important;
  }

  .dashboard-next-payment{
    border-left:0 !important;
    border-top:1px solid var(--color-border) !important;
    padding-left:0 !important;
    padding-top:10px !important;
  }

  .dashboard-announcement-item{
    grid-template-columns:64px minmax(0,1fr);
    gap:9px;
  }

  .dashboard-announcement-thumb{
    width:64px;
    height:52px;
  }

  .announcement-card__link{
    grid-template-columns:minmax(0,1fr);
  }

  .announcement-card__media{
    max-height:220px;
  }

  .announcement-image--card{
    width:100% !important;
    height:200px !important;
    min-height:0 !important;
    max-height:200px !important;
    object-fit:cover !important;
  }

  .announcement-image--hero{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:320px !important;
    object-fit:contain !important;
  }

  .filter-bar--announcements{
    grid-template-columns:minmax(0,1fr) !important;
  }

  .filter-bar--announcements .filter-actions{
    grid-column:auto;
  }

  .mobile-brand{
    min-width:0;
  }

  .mobile-brand__home{
    display:flex;
    align-items:center;
    gap:8px;
    min-width:0;
    color:inherit;
    text-decoration:none;
  }

  .mobile-brand__home strong{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
  }

  /* The 7-column month remains full-width, but readable event details
     move into an agenda directly below it on small screens. */
  .dashboard-calendar-card .calendar-day{
    min-height:48px !important;
  }

  .dashboard-calendar-card .calendar-event{
    display:none !important;
  }

  .dashboard-calendar-card .calendar-more{
    display:block !important;
    font-size:.65rem;
    text-align:center;
  }
}


/* v3.12.3 mobile calendar + attendance */
@media(max-width:1000px){
  .filter-bar--attendance{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .filter-bar--attendance .filter-actions{
    grid-column:1/-1;
  }
}

@media(max-width:700px){
  .dashboard-columns{
    grid-template-columns:minmax(0,1fr) !important;
  }

  .dashboard-columns > .card{
    padding:14px !important;
  }

  .dashboard-calendar-card,
  .dashboard-columns .calendar-card{
    padding:10px !important;
  }

  .calendar-card .calendar-grid,
  .calendar-card--responsive .calendar-grid,
  .dashboard-columns .calendar-grid{
    grid-template-columns:repeat(7,minmax(0,1fr)) !important;
    width:100% !important;
    min-width:0 !important;
  }

  .calendar-day{
    min-height:72px !important;
    padding:3px 2px !important;
    align-content:start;
  }

  .calendar-day__number{
    font-size:.75rem !important;
    text-align:left;
  }

  .calendar-event{
    display:block !important;
    min-width:0 !important;
    width:100% !important;
    padding:2px 3px !important;
    text-align:left !important;
    overflow:hidden;
  }

  .calendar-event .event-scope-icon{
    display:none !important;
  }

  .calendar-event__text{
    display:block !important;
    width:100%;
    font-size:.58rem !important;
    line-height:1.15 !important;
    text-align:left !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:clip !important;
  }

  .calendar-event--extra{
    display:none !important;
  }

  .calendar-more{
    display:block !important;
    text-align:left !important;
    padding-left:2px;
  }

  .dashboard-announcement-item{
    grid-template-columns:64px minmax(0,1fr) !important;
    margin-bottom:8px;
  }

  .attendance-row{
    grid-template-columns:24px minmax(0,1fr) !important;
    align-items:start;
    padding:10px 6px;
  }

  .attendance-row > small{
    grid-column:2 !important;
    text-align:left !important;
    font-size:.76rem;
  }

  .attendance-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .attendance-actions .btn{
    width:100%;
  }

  .filter-bar--attendance{
    grid-template-columns:minmax(0,1fr) !important;
  }

  .filter-bar--attendance .filter-actions{
    grid-column:auto;
  }

  .player-record-picker__list{
    grid-template-columns:minmax(0,1fr);
    max-height:360px;
  }
}

@media(max-width:900px){.equipment-detail-grid{grid-template-columns:1fr!important}.attendance-summary--detailed{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.settings-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.settings-tab{text-align:center}.settings-category-row{align-items:flex-start;flex-direction:column}.settings-category-row .inline-toolbar{width:100%;justify-content:flex-start}}
@media(max-width:700px){.attendance-summary--detailed{grid-template-columns:repeat(2,minmax(0,1fr))}.settings-tabs{grid-template-columns:1fr 1fr}.dashboard-columns > .calendar-card .calendar-event__text{font-size:.58rem!important}.dashboard-columns > .calendar-card .calendar-day{padding:3px 2px!important}}

@media(max-width:700px){
.attendance-row--interactive{grid-template-columns:minmax(0,1fr) auto!important}.attendance-row__audit{grid-column:1/-1;text-align:left;padding-left:32px;font-size:.72rem}.attendance-note-editor{padding-left:0}
.social-avatar{width:36px;height:36px;flex-basis:36px}.social-avatar--small{width:30px;height:30px;flex-basis:30px}.social-replies{margin-left:32px}.social-comment-composer{grid-template-columns:1fr}.social-comment-composer .btn{width:100%}
}


/* v3.12.6 attendance responsive fix */
@media(max-width:900px){
  .attendance-summary--detailed{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    width:100% !important;
    margin-left:0 !important;
  }

  .attendance-row--interactive{
    grid-template-columns:minmax(0,1fr) auto !important;
    grid-template-areas:
      "person tools"
      "audit audit"
      "note note" !important;
    align-items:start !important;
    gap:8px 10px !important;
  }

  .attendance-row__audit{
    text-align:left !important;
    padding-left:32px !important;
  }

  .attendance-note-editor{
    padding-left:0 !important;
  }
}

@media(max-width:700px){
  .attendance-card{
    padding:12px !important;
  }

  .attendance-card .section-heading{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:12px !important;
  }

  .attendance-summary--detailed{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  .attendance-summary--detailed > span{
    padding:8px 9px !important;
  }

  .attendance-row--interactive{
    padding:10px !important;
    border-radius:12px !important;
  }

  .attendance-present{
    grid-template-columns:20px minmax(0,1fr) !important;
    gap:8px !important;
  }

  .attendance-row__tools{
    display:flex !important;
    gap:5px !important;
  }

  .attendance-excused-toggle span,
  .attendance-note-toggle{
    width:32px !important;
    height:32px !important;
  }

  .attendance-row__audit{
    padding-left:28px !important;
    font-size:.70rem !important;
  }

  .attendance-note-preview{
    max-width:180px !important;
  }

  .attendance-actions{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) !important;
    gap:8px !important;
  }

  .attendance-actions .btn{
    width:100% !important;
  }
}


/* v3.13.0 responsive common UI */
@media(max-width:950px){
  .filter-bar--payments{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .bulk-action-bar,
  .bulk-reminder-bar{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  }

  .bulk-action-bar>strong,
  .bulk-reminder-bar>strong{
    grid-column:1/-1;
  }
}

@media(max-width:760px){
  .filter-bar--payments{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .bulk-action-bar,
  .bulk-reminder-bar{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .bulk-action-bar>strong,
  .bulk-reminder-bar>strong{
    grid-column:auto;
  }

  .dashboard-calendar-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:10px!important;
  }

  .dashboard-calendar-controls{
    justify-content:space-between;
    width:100%;
  }

  .dashboard-calendar-week{
    grid-template-columns:minmax(0,1fr);
  }

  .dashboard-week-day{
    min-height:0;
    border-right:0;
    border-bottom:1px solid var(--color-border);
  }

  .dashboard-week-day:last-child{
    border-bottom:0;
  }

  .calendar-day-agenda__item,
  .dashboard-calendar-agenda-item{
    grid-template-columns:minmax(0,1fr);
    gap:5px;
  }

  .btn.icon-btn{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
  }

  .filter-actions .btn.icon-btn,
  .page-actions .btn.icon-btn,
  .form-actions .btn.icon-btn{
    width:42px!important;
    min-width:42px!important;
  }
}

@media(max-width:760px){
.calendar-page-actions{width:100%;display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:flex-start!important;gap:8px!important}
.calendar-week-grid{grid-template-columns:minmax(0,1fr)!important}
.calendar-week-day{min-height:0;border-right:0;border-bottom:1px solid var(--color-border)}
.calendar-week-day:last-child{border-bottom:0}
.icon-only{width:40px!important;min-width:40px!important;height:40px!important;flex:0 0 40px!important}
}


/* v3.14.0 icon/search mobile consistency */
@media(max-width:700px){
  .btn.icon-only{
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    flex:0 0 40px!important;
  }

  .filter-bar--users{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%;
  }

  .user-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:10px!important;
    padding:12px 0!important;
  }

  .user-row .actions-cell{
    grid-column:2!important;
    grid-row:1!important;
    padding-left:0!important;
    display:flex!important;
    flex-direction:row!important;
    width:auto!important;
  }
}


@media(max-width:1100px){
  .filter-bar--audit{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .filter-bar--audit .filter-actions{
    grid-column:1/-1;
  }
}

@media(max-width:700px){
  .filter-bar--audit{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .filter-bar--audit .filter-actions{
    grid-column:auto;
  }

  .audit-table thead{
    display:none;
  }

  .audit-table,
  .audit-table tbody,
  .audit-table tr,
  .audit-table td{
    display:block;
    width:100%;
  }

  .audit-table tr{
    padding:10px 0;
    border-bottom:1px solid var(--color-border);
  }

  .audit-table td{
    border:0!important;
    padding:5px 0!important;
  }

  .audit-table td::before{
    content:attr(data-label);
    display:block;
    color:var(--color-muted);
    font-size:.72rem;
    font-weight:800;
    text-transform:uppercase;
    margin-bottom:2px;
  }
}


/* v3.14.2 tablet/iPad responsive baseline */
@media(max-width:1180px){
  .app-layout{grid-template-columns:minmax(0,1fr)!important}
  .sidebar{display:block!important;position:fixed!important;left:0;top:0;bottom:0;width:min(82vw,310px)!important;height:100vh!important;z-index:100!important;transform:translateX(-105%);transition:transform .2s ease;box-shadow:var(--shadow-panel)}
  .sidebar-close{display:block!important}
  .sidebar-backdrop{display:block!important;position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:90;opacity:0;pointer-events:none;transition:opacity .2s ease}
  .menu-toggle:checked~.app-layout .sidebar{transform:translateX(0)}
  .menu-toggle:checked~.app-layout .sidebar-backdrop{opacity:1;pointer-events:auto}
  .mobile-brand{display:flex!important;align-items:center;gap:10px;min-width:0}
  .topbar__inner{justify-content:space-between!important;padding-left:16px;padding-right:16px}
  .main-column,.content,.card,.table-wrap{min-width:0;max-width:100%}
  .content{width:min(calc(100% - 32px),var(--content-width));padding-top:22px;overflow-x:hidden}
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
  .page-heading{flex-wrap:wrap;align-items:center}
  .page-heading h1{font-size:clamp(1.85rem,4vw,2.55rem)}
  .page-actions{margin-left:auto;justify-content:flex-end}
  .dashboard-columns{grid-template-columns:minmax(0,1fr)!important}
  .dashboard-columns>*{min-width:0!important;width:100%!important}
  .filter-bar,.filter-bar--compact,.filter-bar--events,.filter-bar--payments,.filter-bar--announcements,.filter-bar--attendance,.filter-bar--audit{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .filter-actions{grid-column:1/-1!important;justify-content:flex-end}
  .event-row{grid-template-columns:44px minmax(0,1fr) minmax(100px,.35fr)!important}
  .event-row__place{grid-column:2/-1!important}
  .settings-grid,.equipment-detail-grid,.split-layout,.profile-grid{grid-template-columns:minmax(0,1fr)!important}
  .calendar-card,.calendar-card--responsive{max-width:100%;overflow:hidden!important}
  .calendar-grid{width:100%!important;min-width:0!important;grid-template-columns:repeat(7,minmax(0,1fr))!important}
}

@media(min-width:701px) and (max-width:1180px){
  .form-card-wide{width:100%;max-width:100%}
  .form-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .search-picker__items{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-grid{grid-template-columns:minmax(0,1fr)!important}
  .attendance-row--interactive{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"person tools" "audit audit" "note note"!important}
  .attendance-row__audit{text-align:left!important;padding-left:32px!important}
  .audit-table{min-width:880px}
}

@media(max-width:700px){
  .page-heading>.btn.icon-only{align-self:flex-end!important;margin-left:auto!important}
  .page-heading>.page-actions{align-self:stretch!important;width:100%!important;justify-content:flex-end!important;margin-left:0!important}
  .page-heading>.page-actions .btn.icon-only{flex:0 0 40px!important;width:40px!important;min-width:40px!important}
  .filter-bar,.filter-bar--compact,.filter-bar--events,.filter-bar--payments,.filter-bar--announcements,.filter-bar--attendance,.filter-bar--audit{grid-template-columns:minmax(0,1fr)!important}
  .filter-actions{grid-column:auto!important}
  .auth-brand__logo{width:64px;height:64px}
  .auth-brand__mark{width:56px;height:56px;flex-basis:56px}
}


/* v3.14.4 attendance mobile layout */
@media(max-width:700px){
  .attendance-card>.section-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    gap:12px!important;
    align-items:start!important;
  }

  .attendance-card>.section-heading>div:first-child{
    min-width:0!important;
    width:100%!important;
  }

  .attendance-card>.section-heading h2{
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
  }

  .attendance-summary--detailed{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    gap:7px!important;
  }

  .attendance-summary--detailed>span{
    min-width:0!important;
    padding:8px!important;
  }

  .attendance-row--status-buttons{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-areas:
      "person"
      "controls"
      "audit"
      "note"!important;
    gap:8px!important;
    padding:10px!important;
  }

  .attendance-player{
    width:100%!important;
  }

  .attendance-player__name{
    width:100%!important;
    font-size:.98rem!important;
    line-height:1.25!important;
    word-break:normal!important;
    overflow-wrap:break-word!important;
  }

  .attendance-controls{
    width:100%!important;
    justify-content:flex-start!important;
    flex-wrap:wrap!important;
    gap:7px!important;
  }

  .attendance-choice,
  .attendance-note-toggle{
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
  }

  .attendance-row--status-buttons .attendance-row__audit{
    width:100%!important;
    text-align:left!important;
    padding-left:0!important;
    font-size:.70rem!important;
  }

  .attendance-row--status-buttons .attendance-note-editor{
    width:100%!important;
  }

  .attendance-row--status-buttons .attendance-note-editor textarea{
    width:100%!important;
    min-width:0!important;
  }

  .tournament-roster__items{
    grid-template-columns:minmax(0,1fr)!important;
    max-height:360px;
  }
}


/* v3.14.5 attendance mobile polish */
@media(max-width:700px){
  .attendance-controls{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;
    width:100%!important;
    overflow:visible!important;
  }

  .attendance-choice,
  .attendance-note-toggle{
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
  }

  .attendance-actions{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
    width:100%!important;
  }

  .attendance-actions .btn,
  .attendance-actions .btn.icon-only{
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
    flex:0 0 48px!important;
  }
}


/* v3.14.6 mobile page-heading alignment */
@media(max-width:700px){
  .page-heading{
    display:flex!important;
    flex-direction:column!important;
    align-items:stretch!important;
    justify-content:flex-start!important;
    width:100%!important;
    gap:12px!important;
  }

  .page-heading>div:first-child{
    width:100%!important;
    min-width:0!important;
    align-self:stretch!important;
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
  }

  .page-heading>div:first-child .eyebrow,
  .page-heading>div:first-child h1,
  .page-heading>div:first-child p{
    text-align:left!important;
    margin-left:0!important;
  }

  .page-heading>.btn.icon-only{
    align-self:flex-end!important;
    margin-left:auto!important;
    margin-right:0!important;
  }

  .page-heading>.page-actions{
    align-self:stretch!important;
    width:100%!important;
    display:flex!important;
    justify-content:flex-end!important;
    margin-left:0!important;
  }

  /* keep attendance action buttons on one line on phones */
  .attendance-actions{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:10px!important;
    width:100%!important;
  }

  .attendance-actions .btn,
  .attendance-actions .btn.icon-only{
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
    flex:0 0 48px!important;
  }
}


@media(max-width:700px){
  .payment-form-actions{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }

  .payment-form-actions__right{
    display:flex!important;
    flex-direction:row!important;
    justify-content:flex-end!important;
    gap:8px!important;
    width:auto!important;
  }
}


/* v3.14.8 mobile-only filter toggle */
@media(max-width:700px){
  .btn.mobile-filter-toggle{display:flex!important;width:40px!important;min-width:40px!important;height:40px!important;justify-content:center!important;align-items:center!important;margin-left:0!important}
  .filter-bar--tournaments{grid-template-columns:minmax(0,1fr)!important}
  .filter-checkbox--standalone{align-self:stretch}
  .team-row .person-meta,.record-row .person-meta{grid-column:auto!important;padding-left:58px!important;gap:4px!important}
}


@media(max-width:700px){
  .player-record-picker__current{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
  }

  .player-record-picker__current-person{
    min-width:0;
  }

  .player-record-picker__change{
    justify-self:end;
  }
}


@media(max-width:700px){
  .verification-panel{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
  }

  .verification-panel__actions{
    justify-content:flex-start!important;
  }

  .verification-reject-form{
    width:100%;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
  }

  .verification-reject-form input[type="text"]{
    min-width:0;
    width:100%;
  }
}


@media(max-width:900px){
  .tournament-callup-row{
    grid-template-columns:minmax(0,1fr) auto!important;
  }

  .tournament-callup-state{
    grid-column:1/-1;
    padding-left:58px;
  }

  .tournament-callup-response{
    grid-column:2;
    grid-row:1;
  }
}

@media(max-width:700px){
  .tournament-callups-heading{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:10px!important;
  }

  .tournament-callups-heading>form{
    align-self:start;
  }

  .tournament-callup-row{
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    padding:12px!important;
  }

  .tournament-callup-state{
    grid-column:auto!important;
    padding-left:58px!important;
  }

  .tournament-callup-response{
    grid-column:auto!important;
    grid-row:auto!important;
    justify-items:start!important;
    padding-left:58px!important;
    width:100%!important;
  }

  .tournament-callup-buttons{
    flex-wrap:nowrap!important;
  }

  .tournament-callup-note-editor{
    width:100%!important;
  }

  .tournament-callup-note-editor .field{
    width:100%!important;
  }

  .tournament-map-card .event-map-footer .inline-toolbar{
    grid-template-columns:minmax(0,1fr)!important;
  }
}


@media(max-width:700px){
  .tournament-callup-note-form{
    width:100%!important;
  }

  .tournament-callup-note-input-row{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }

  .tournament-callup-note-input-row textarea{
    min-height:76px;
  }
}


@media(max-width:900px){
  .tournament-overview-grid{
    grid-template-columns:minmax(0,1fr)!important;
  }
}

@media(max-width:700px){
  .attendance-note-input-row{
    grid-template-columns:minmax(0,1fr) auto!important;
  }

  .attendance-viewer-row>div:first-child{
    align-items:flex-start;
    flex-direction:column;
  }

  .map-provider-toolbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    width:100%;
  }

  .map-provider-btn{
    width:100%!important;
    justify-content:center!important;
  }

  .tournament-map-card .event-osm-map{
    min-height:280px;
    height:280px;
  }
}


@media(max-width:1000px){
  .filter-bar--attendance-personal{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .filter-bar--attendance-personal .filter-actions{
    grid-column:1/-1;
  }
}

@media(max-width:700px){
  .filter-bar--attendance-personal{
    grid-template-columns:minmax(0,1fr)!important;
  }

  .filter-bar--attendance-personal .filter-actions{
    grid-column:auto;
  }

  .attendance-personal-row{
    grid-template-columns:minmax(0,1fr)!important;
    gap:8px!important;
    padding:12px!important;
  }

  .attendance-personal-status{
    justify-items:start!important;
    text-align:left!important;
  }

  .attendance-personal-note{
    grid-column:auto!important;
  }
}


@media(max-width:700px){
  .person-whatsapp-btn,
  .team-whatsapp-btn{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
  }
  .person-link-card__contacts{
    align-items:center!important;
  }
  .team-membership-row{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
}


/* v3.15.13 - tournament call-ups must never widen the desktop page */
@media(min-width:901px){
  .tournament-callups-card{
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden;
  }

  .tournament-callups-card .tournament-callup-list,
  .tournament-callups-card .tournament-callup-row,
  .tournament-callups-card .tournament-callup-person,
  .tournament-callups-card .tournament-callup-state,
  .tournament-callups-card .tournament-callup-response,
  .tournament-callups-card .tournament-callup-note-form,
  .tournament-callups-card .tournament-callup-note-editor{
    min-width:0!important;
    max-width:100%!important;
  }

  .tournament-callups-card .tournament-callup-row{
    grid-template-columns:minmax(0,1fr)!important;
    width:100%!important;
  }

  .tournament-callups-card .tournament-callup-state{
    grid-column:auto!important;
    padding-left:58px!important;
  }

  .tournament-callups-card .tournament-callup-response{
    grid-column:auto!important;
    grid-row:auto!important;
    justify-items:start!important;
    width:100%!important;
    padding-left:58px!important;
  }

  .tournament-callups-card .tournament-callup-note-form{
    width:min(420px,100%)!important;
  }

  .tournament-callups-card .tournament-callup-person a,
  .tournament-callups-card .tournament-callup-state small,
  .tournament-callups-card .tournament-callup-note{
    overflow-wrap:anywhere;
    word-break:break-word;
  }
}


/* v3.15.15 attendance mobile */
@media(max-width:700px){
  .attendance-list-toolbar{align-items:stretch!important}
  .attendance-list-toolbar__left,.attendance-sort-field{width:100%!important}
  .attendance-list-toolbar__left .btn{width:100%!important}
  .attendance-extra-panel__heading{grid-template-columns:minmax(0,1fr)!important}
  .attendance-extra-options{grid-template-columns:minmax(0,1fr)!important;max-height:320px}
  .attendance-extra-panel__actions .btn{width:100%!important}
  .attendance-player{grid-template-columns:auto minmax(0,1fr)!important;align-items:start!important}
  .attendance-player__avatar-link .avatar{width:48px!important;height:48px!important}
  .attendance-extra-badge{max-width:100%;white-space:normal!important}
  .attendance-viewer-person{grid-template-columns:auto minmax(0,1fr)!important}
  .attendance-viewer-person>.status-badge{grid-column:2;justify-self:start}
}


/* v3.15.16 attendance mobile alignment */
@media(max-width:700px){
  .attendance-player__avatar-link{
    width:48px!important;
    height:48px!important;
    min-width:48px!important;
    flex-basis:48px!important;
  }
  .attendance-jersey{
    width:38px!important;
    height:36px!important;
    min-width:38px!important;
    flex-basis:38px!important;
    font-size:.72rem!important;
  }
  .attendance-viewer-person{
    flex-wrap:wrap!important;
  }
  .attendance-viewer-person>.status-badge{
    margin-left:58px!important;
  }
}


/* v3.15.17 player jersey mobile alignment */
@media(max-width:700px){
  .player-jersey{
    width:38px!important;
    height:36px!important;
    min-width:38px!important;
    flex-basis:38px!important;
    font-size:.72rem!important;
  }
  .player-jersey--small{
    width:34px!important;
    height:32px!important;
    min-width:34px!important;
    flex-basis:34px!important;
    font-size:.68rem!important;
  }
  .person-row--has-jersey .person-meta,
  .person-row--has-jersey .person-status,
  .person-row--has-jersey .person-actions{
    padding-left:106px!important;
  }
}


/* v3.15.18 attendance mobile: avatar + jersey + full remaining name width */
@media(max-width:700px){
  .attendance-player{
    display:grid!important;
    grid-template-columns:48px minmax(0,1fr)!important;
    column-gap:10px!important;
    row-gap:0!important;
    align-items:start!important;
    width:100%!important;
    min-width:0!important;
  }

  .attendance-player.attendance-player--has-jersey,
  .attendance-player:has(.attendance-jersey){
    grid-template-columns:48px 38px minmax(0,1fr)!important;
  }

  .attendance-player__avatar-link{
    grid-column:1!important;
    grid-row:1!important;
    margin:0!important;
  }

  .attendance-player>.attendance-jersey{
    grid-column:2!important;
    grid-row:1!important;
    margin:0!important;
  }

  .attendance-player__details{
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    flex:none!important;
  }

  .attendance-player.attendance-player--has-jersey .attendance-player__details,
  .attendance-player:has(.attendance-jersey) .attendance-player__details{
    grid-column:3!important;
  }

  .attendance-player__name{
    width:100%!important;
    max-width:none!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }

  .attendance-extra-person{
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
  }

  .attendance-extra-person__identity{
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
  }
}


/* v3.15.19 attendance mobile: give the name all truly available space */
@media(max-width:700px){
  .attendance-player,
  .attendance-player.attendance-player--has-jersey,
  .attendance-player:has(.attendance-jersey){
    display:flex!important;
    flex-direction:row!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    gap:8px!important;
    width:100%!important;
    min-width:0!important;
  }

  .attendance-player__avatar-link{
    flex:0 0 48px!important;
    width:48px!important;
    min-width:48px!important;
    height:48px!important;
    margin:0!important;
  }

  .attendance-player>.attendance-jersey{
    flex:0 0 38px!important;
    width:38px!important;
    min-width:38px!important;
    height:36px!important;
    margin:0!important;
  }

  .attendance-player__details,
  .attendance-player.attendance-player--has-jersey .attendance-player__details,
  .attendance-player:has(.attendance-jersey) .attendance-player__details{
    flex:1 1 0!important;
    width:auto!important;
    min-width:0!important;
    max-width:none!important;
    margin:0!important;
  }

  .attendance-player__name{
    display:block!important;
    width:auto!important;
    max-width:100%!important;
    white-space:normal!important;
    word-break:normal!important;
    overflow-wrap:normal!important;
    hyphens:none!important;
  }
}
