.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-weight:800}.brand__mark{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--color-primary);color:#fff;font-size:.82rem}.brand__mark--large{width:52px;height:52px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.25)}
.eyebrow{display:inline-block;color:var(--color-primary);font-size:.75rem;font-weight:900;letter-spacing:.12em}.installer-side .eyebrow{color:rgba(255,255,255,.7)}.muted{color:var(--color-muted)}
.btn{min-height:var(--touch-target);display:inline-flex;align-items:center;justify-content:center;padding:9px 16px;border:1px solid transparent;border-radius:var(--radius-md);text-decoration:none;font-weight:800;cursor:pointer;background:#fff}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-hover)}.btn--secondary{border-color:var(--color-border);color:var(--color-text)}.btn--danger{background:var(--color-danger);color:#fff}.btn--small{min-height:36px;padding:6px 10px;font-size:.85rem}.btn--wide{width:100%}
.card,.stat-card{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card)}.card{padding:22px;margin-bottom:20px}.stat-card{padding:18px;display:grid;gap:6px}.stat-card span{color:var(--color-muted)}.stat-card strong{font-size:2rem}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}
.status-badge{display:inline-flex;align-items:center;min-height:28px;padding:4px 10px;border-radius:99px;font-size:.78rem;font-weight:900}.status-badge--success{background:var(--color-success-soft);color:var(--color-success)}.status-badge--danger{background:var(--color-danger-soft);color:var(--color-danger)}
.alert{padding:14px 16px;border-radius:12px;margin:14px 0}.alert--success{background:var(--color-success-soft);color:var(--color-success)}.alert--danger{background:var(--color-danger-soft);color:var(--color-danger)}.security-note{padding:16px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-muted);margin:16px 0}.separator{border:0;border-top:1px solid var(--color-border);margin:24px 0}
.user-box{display:flex;align-items:center;gap:14px}.user-box>div{display:grid}.user-box small{color:var(--color-muted)}.event-list{display:grid;gap:10px;margin-top:16px}.event-item{display:flex;justify-content:space-between;gap:16px;padding:14px;border:1px solid var(--color-border);border-radius:12px}.event-item>div{display:grid}.event-item span{color:var(--color-muted);font-size:.88rem}.empty-state-small{padding:28px;text-align:center;color:var(--color-muted)}
.auth-links{text-align:center;margin-top:14px}.auth-links a{color:var(--color-primary);font-weight:700;text-decoration:none}.auth-divider{display:flex;align-items:center;gap:12px;margin:20px 0;color:var(--color-muted);font-size:.85rem}.auth-divider:before,.auth-divider:after{content:"";height:1px;background:var(--color-border);flex:1}.code-input{text-align:center;font-size:1.8rem;font-weight:800;letter-spacing:.4em}.success-icon{width:64px;height:64px;border-radius:99px;display:grid;place-items:center;background:var(--color-success-soft);color:var(--color-success);font-size:2rem;font-weight:900}.empty-state{min-height:60vh;display:grid;place-items:center;align-content:center;gap:12px;text-align:center}.empty-state__code{font-size:4rem;font-weight:900;color:var(--color-primary)}
.check-list{display:grid;gap:4px;margin:22px 0}.check-row{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:12px 0;border-bottom:1px solid var(--color-border)}.check-row>div{display:grid}.check-row small{color:var(--color-muted)}

.nav a{display:flex;align-items:center;gap:10px}.nav-icon{width:20px;height:20px;flex:0 0 20px;display:grid;place-items:center}.nav-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.brand-logo{max-width:44px;max-height:44px;object-fit:contain}.status-badge--neutral{background:#eef2f6;color:#475467}.avatar{object-fit:cover;border-radius:50%;border:1px solid var(--color-border);background:#fff}.avatar--small{width:38px;height:38px}.avatar--large{width:96px;height:96px}.avatar--placeholder{display:grid;place-items:center;background:var(--color-primary-soft);color:var(--color-primary);font-weight:900}.actions-cell{display:flex;gap:6px;align-items:center}.actions-cell form{margin:0}.back-link{display:inline-block;color:var(--color-primary);text-decoration:none;font-weight:700;margin-bottom:4px}.profile-photo-field{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--color-border)}.branding-preview{min-height:120px;display:grid;place-items:center;background:var(--color-surface-muted);border:1px dashed var(--color-border);border-radius:12px;margin-bottom:14px;color:var(--color-muted)}.branding-preview img{max-width:220px;max-height:100px;object-fit:contain}.checkbox-stack{display:grid;align-content:center;gap:8px;font-size:.9rem}

.status-badge--warning{background:var(--color-warning-soft);color:var(--color-warning)}
.check-line{display:flex;align-items:flex-start;gap:9px;font-weight:700}
.check-line input{margin-top:4px}
.multi-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.check-card{display:flex;align-items:center;gap:9px;padding:11px 12px;border:1px solid var(--color-border);border-radius:12px;background:#fff}
.check-card input{width:18px;height:18px}
.form-subsection{padding-top:18px;border-top:1px solid var(--color-border)}
.form-subsection h3{margin:0 0 4px}
.profile-grid{display:grid;grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);gap:20px}
.profile-card{display:flex;align-items:center;gap:20px}
.avatar--xl{width:128px;height:128px}
.relation-list{display:grid;gap:8px}
.relation-list>a,.relation-list>div{display:grid;gap:2px;padding:12px;border:1px solid var(--color-border);border-radius:12px;text-decoration:none}
.relation-list span{color:var(--color-muted);font-size:.88rem}
.split-layout{display:grid;grid-template-columns:minmax(320px,.75fr) minmax(0,1.25fr);gap:20px;align-items:start}

.avatar--medium{width:52px;height:52px}.avatar--edit{width:124px;height:124px}.avatar--hero{width:150px;height:150px}.profile-photo-editor{display:grid;justify-items:center;gap:10px;padding:8px 0 18px}.photo-change{cursor:pointer}.photo-change input{position:absolute;opacity:0;pointer-events:none}.photo-change span{display:inline-flex;padding:8px 12px;border-radius:999px;background:var(--color-primary-soft);color:var(--color-primary);font-weight:800}.file-drop{min-height:130px;border:2px dashed var(--color-border);border-radius:16px;display:grid;place-items:center;align-content:center;gap:4px;text-align:center;cursor:pointer;background:var(--color-surface-muted);padding:18px}.file-drop:hover{border-color:var(--color-accent);background:var(--color-primary-soft)}.file-drop input{position:absolute;opacity:0;pointer-events:none}.file-drop__icon{font-size:2rem}.file-drop small{color:var(--color-muted)}.btn--magic{background:linear-gradient(135deg,#123b6d,#2f6fbe);color:#fff;box-shadow:0 8px 22px rgba(47,111,190,.25)}.person-cell{display:flex;align-items:center;gap:12px}.person-cell small{display:block;color:var(--color-muted)}.mini-stats{display:flex;gap:12px;margin-left:auto}.mini-stats>div{min-width:120px;padding:12px;border-radius:12px;background:var(--color-surface-muted);display:grid;text-align:center}.mini-stats strong{font-size:1.6rem;color:var(--color-primary)}.mini-stats span{font-size:.75rem;color:var(--color-muted)}.comment{padding:14px 0;border-bottom:1px solid var(--color-border)}.comment small{margin-left:8px;color:var(--color-muted)}.announcement-card--link{text-decoration:none;display:block}.announcement-card--link:hover{border-color:var(--color-accent)}

.filter-bar{display:grid;grid-template-columns:minmax(220px,1.5fr) repeat(3,minmax(145px,.8fr)) auto;gap:12px;align-items:end}.filter-bar--compact{grid-template-columns:minmax(260px,1.4fr) minmax(180px,.8fr) auto}.filter-actions{display:flex;gap:8px}.people-list{display:grid}.person-row{display:grid;grid-template-columns:minmax(260px,1.5fr) minmax(180px,.8fr) minmax(130px,.55fr) auto;gap:18px;align-items:center;padding:14px 4px;border-bottom:1px solid var(--color-border)}.person-row:last-child{border-bottom:0}.person-main{display:flex;gap:14px;align-items:center;min-width:0}.person-main>div{display:grid;min-width:0}.person-main span,.person-meta span{color:var(--color-muted);font-size:.88rem}.person-meta{display:grid;gap:5px;min-width:0}

/* v3.7 interactive people lists */
.person-row--clickable{position:relative;cursor:pointer;border-radius:12px;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;padding-left:10px;padding-right:42px}.person-row--clickable:hover{background:var(--color-surface-muted)}.person-row--clickable:focus-visible{outline:3px solid var(--color-primary-soft);outline-offset:2px}.person-row__chevron{position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:1.8rem;line-height:1;color:var(--color-muted);transition:transform .15s ease,color .15s ease}.person-row--clickable:hover .person-row__chevron{transform:translate(3px,-50%);color:var(--color-primary)}.person-status{display:flex;align-items:center}.mobile-filter-toggle{display:none;margin-bottom:12px}.filters-card{transition:all .18s ease}.people-card{overflow:hidden}

/* v3.7.1 row-link hotfix */
.person-row__overlay{position:absolute;inset:0;z-index:1;border-radius:12px}.person-row--clickable>*:not(.person-row__overlay){position:relative;z-index:0}.person-row--guardian .person-contact,.person-row--guardian .person-contact a{position:relative;z-index:2}.mobile-filter-toggle{display:none!important}

.relation-list{display:grid;gap:10px}

.person-link-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:16px;
  padding:14px 16px;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:#fff;
}
.person-link-card__profile{
  display:flex;
  align-items:center;
  gap:14px;
  min-width:0;
  color:inherit;
  text-decoration:none;
}
.person-link-card__profile:hover .person-link-card__name{
  text-decoration:underline;
}
.person-link-card__avatar{
  width:52px;
  height:52px;
  flex:0 0 52px;
  border-radius:50%;
  object-fit:cover;
  background:var(--color-surface-muted);
}
.person-link-card__avatar--placeholder{
  display:grid;
  place-items:center;
  font-size:1.12rem;
  color:var(--color-primary);
}
.person-link-card__identity{
  display:grid;
  gap:5px;
  min-width:0;
}
.person-link-card__name{
  font-size:.98rem;
  line-height:1.2;
  font-weight:800;
  color:var(--color-text);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.person-link-card__meta{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:5px;
  color:var(--color-muted);
  font-size:.84rem;
  line-height:1.35;
}
.person-link-card__dot{
  opacity:.55;
}
.person-link-card__contacts{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:12px;
  flex-wrap:wrap;
}
.person-contact{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:var(--color-primary);
  text-decoration:none;
  font-size:.87rem;
  font-weight:700;
  white-space:nowrap;
}
.person-contact:hover{
  text-decoration:underline;
}
.person-contact__icon{
  width:18px;
  text-align:center;
  opacity:.8;
}
.relation-list{
  display:grid;
  gap:12px;
}


.avatar--list{
  width:56px;
  height:56px;
  min-width:56px;
  max-width:56px;
  flex:0 0 56px;
  object-fit:cover;
  border-radius:50%;
  display:block;
}


.avatar--list.avatar--placeholder{
  display:grid;
  place-items:center;
  width:56px;
  height:56px;
  min-width:56px;
  max-width:56px;
  flex:0 0 56px;
  padding:0;
  margin:0;
  border-radius:50%;
  line-height:1;
  font-size:20px;
  overflow:hidden;
  text-align:center;
  background:var(--color-surface-muted);
  color:var(--color-primary);
}
.avatar--list.avatar--placeholder > *{
  margin:0;
  padding:0;
  line-height:1;
}


/* v3.9 calendar */
.event-scope-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  font-size:.9rem;
  font-weight:800;
}
.event-scope-icon--club{background:#e8f1fb;color:#123b6d}
.event-scope-icon--team{background:#edf8f1;color:#18794e}
.event-scope-badge{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-top:10px;
  padding:6px 10px 6px 6px;
  border-radius:12px;
  font-size:.86rem;
  font-weight:800;
}
.event-scope-badge--club{background:#f4f8fc;color:#123b6d}
.event-scope-badge--team{background:#f2faf5;color:#18794e}
.event-detail-meta{display:flex;gap:6px;align-items:center;flex-wrap:wrap;color:var(--color-muted)}
.calendar-event{display:flex;align-items:center;gap:4px}
.calendar-event .event-scope-icon{width:20px;height:20px;flex-basis:20px;border-radius:5px;font-size:.58rem}
.calendar-event__text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.calendar-more{display:none;font-size:.68rem;font-weight:800;color:var(--color-muted)}
.event-list--rows{gap:0}
.event-row{
  position:relative;
  display:grid;
  grid-template-columns:44px minmax(220px,1.4fr) minmax(120px,.55fr) minmax(180px,.8fr) 24px;
  align-items:center;
  gap:14px;
  padding:14px 10px;
  border-bottom:1px solid var(--color-border);
}
.event-row:last-child{border-bottom:0}
.event-row--clickable{cursor:pointer;border-radius:12px;transition:background .15s ease}
.event-row--clickable:hover{background:var(--color-surface-muted)}
.event-row>*:not(.person-row__overlay){position:relative;z-index:0}
.event-row .person-row__overlay{z-index:1}
.event-row__main,.event-row__when,.event-row__place{display:grid;gap:2px;min-width:0}
.event-row__main span,.event-row__main small,.event-row__when span,.event-row__place small{color:var(--color-muted);font-size:.82rem}
.event-row__main strong,.event-row__place span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filter-bar--events{grid-template-columns:minmax(220px,1.3fr) repeat(4,minmax(140px,.75fr)) auto}
.event-datetime-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.event-datetime-group{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:14px;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:var(--color-surface-muted);
}
.event-datetime-group>strong{grid-column:1/-1}
.event-datetime-group--gather{padding:0;border:0;background:transparent}
.series-edit-box{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(260px,.8fr);
  align-items:center;
  gap:14px;
  padding:14px 16px;
  border-radius:14px;
  background:var(--color-primary-soft);
  border:1px solid rgba(47,111,190,.18);
}
.recurrence-box{display:grid;gap:14px}
.repeat-weekdays{display:flex;gap:7px;flex-wrap:wrap}
.repeat-weekdays label{cursor:pointer}
.repeat-weekdays input{position:absolute;opacity:0;pointer-events:none}
.repeat-weekdays span{
  width:40px;height:40px;border-radius:50%;display:grid;place-items:center;
  border:1px solid var(--color-border);background:#fff;font-weight:800
}
.repeat-weekdays input:checked+span{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.series-info{margin-top:16px;padding:10px 12px;border-radius:10px;background:var(--color-surface-muted);color:var(--color-muted)}
.event-notes{padding:14px 0}


/* v3.9.3 - local event form fixes only */
.event-team-picker .search-picker__items{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.event-team-picker .check-card{
  min-height:46px;
  padding:8px 12px;
  gap:10px;
  justify-content:flex-start;
  cursor:pointer;
}
.event-team-picker .check-card > input[type="checkbox"]{
  -webkit-appearance:none !important;
  appearance:none !important;
  box-sizing:border-box !important;
  width:18px !important;
  height:18px !important;
  min-width:18px !important;
  min-height:18px !important;
  max-width:18px !important;
  max-height:18px !important;
  flex:0 0 18px !important;
  padding:0 !important;
  margin:0 !important;
  border:1.5px solid #98a2b3 !important;
  border-radius:5px !important;
  background:#fff !important;
  box-shadow:none !important;
  position:relative;
}
.event-team-picker .check-card > input[type="checkbox"]:checked{
  background:var(--color-primary) !important;
  border-color:var(--color-primary) !important;
}
.event-team-picker .check-card > input[type="checkbox"]:checked::after{
  content:"";
  position:absolute;
  left:5px;
  top:2px;
  width:4px;
  height:8px;
  border:solid #fff;
  border-width:0 2px 2px 0;
  transform:rotate(45deg);
}
.repeat-toggle{
  display:inline-flex;
  align-items:center;
  gap:10px;
  width:max-content;
  cursor:pointer;
  font-weight:800;
}
.repeat-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.repeat-toggle__control{
  width:22px;
  height:22px;
  flex:0 0 22px;
  display:grid;
  place-items:center;
  border:1px solid var(--color-border);
  border-radius:6px;
  background:#fff;
}
.repeat-toggle input:checked + .repeat-toggle__control{
  background:var(--color-primary);
  border-color:var(--color-primary);
}
.repeat-toggle input:checked + .repeat-toggle__control::after{
  content:"✓";
  color:#fff;
  font-size:14px;
  font-weight:900;
}
.recurrence-settings{display:grid;gap:14px;margin-top:4px}
.recurrence-settings[hidden]{display:none!important}
.event-form-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%}
.event-form-actions__right{display:flex;justify-content:flex-end;gap:10px;margin-left:auto}


/* v3.9.4 event OpenStreetMap */
.event-osm-map{
  width:100%;
  min-height:360px;
  height:360px;
  border:1px solid var(--color-border);
  border-radius:14px;
  overflow:hidden;
  background:var(--color-surface-muted);
  position:relative;
}
.event-map-loading,
.event-map-fallback{
  width:100%;
  height:100%;
  min-height:360px;
  display:grid;
  place-content:center;
  gap:6px;
  padding:24px;
  text-align:center;
  color:var(--color-muted);
}
.event-map-fallback strong{
  color:var(--color-text);
}
.event-map-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-top:12px;
}


/* v3.9.5 OSM embed without Leaflet CDN */
.event-osm-map__iframe{
  width:100%;
  height:100%;
  min-height:inherit;
  border:0;
  display:block;
}


/* v3.10.1 scoped lists/forms */
.team-row,.record-row,.payment-row{grid-template-columns:minmax(280px,1.35fr) minmax(220px,1fr) minmax(130px,.5fr);}
.team-row{grid-template-columns:minmax(280px,1.2fr) minmax(320px,1.2fr);}
.bulk-reminder-bar{margin-top:14px;padding-top:14px;border-top:1px solid var(--color-border);display:flex;justify-content:flex-end;}
.document-row{grid-template-columns:minmax(300px,1.4fr) minmax(260px,1fr) auto;}
.document-row .person-main small{color:var(--color-muted);margin-top:4px;}
.payment-detail-amount{font-size:2rem;font-weight:900;margin-bottom:12px;}
.document-target-section[hidden]{display:none!important;}


/* v3.11 attendance and share helpers */
.attendance-require-toggle{align-items:flex-start}
.attendance-require-toggle span{display:grid;gap:2px}.attendance-require-toggle small{color:var(--color-muted);font-weight:400}
.attendance-card{margin-top:18px}.attendance-summary{display:grid;text-align:right}.attendance-summary strong{font-size:1.35rem}.attendance-summary span{color:var(--color-muted);font-size:.8rem}
.attendance-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.attendance-row{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--color-border);border-radius:12px;cursor:pointer}.attendance-row input{width:20px;height:20px;flex:0 0 20px}.attendance-row span{display:grid}.attendance-row small{color:var(--color-muted)}
.form-inline{display:flex;align-items:end;gap:12px;flex-wrap:wrap}.form-inline .field{min-width:260px;flex:1}

/* v3.12 */
.validity-tile{border-radius:12px;padding:10px!important}.validity-tile--ok{background:#eefaf2!important}.validity-tile--ok strong{color:#18794e}.validity-tile--bad{background:#fff0f0!important}.validity-tile--bad strong{color:#b42318}.player-choice span{display:grid;gap:2px}.player-choice small{color:var(--color-muted);font-size:.78rem}.announcement-image--hero{display:block;width:auto;max-width:100%;max-height:520px;object-fit:contain;margin:0 auto 18px;border-radius:14px}.announcement-text{font-size:1rem;line-height:1.7}.comment-thread{padding:12px 0;border-bottom:1px solid var(--color-border)}.comment-toggle{border:0;background:transparent;color:var(--color-primary);font-weight:800;cursor:pointer;padding:6px 0}.comment-replies{margin-left:28px;border-left:2px solid var(--color-border);padding-left:14px}.reply-context{display:flex;align-items:center;gap:6px;padding:8px 10px;background:var(--color-surface-muted);border-radius:10px}.reply-context button{border:0;background:transparent;cursor:pointer}.dashboard-payment-card{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:20px}.dashboard-balance{display:block;font-size:2rem;margin-top:4px}.dashboard-next-payment{display:grid;gap:4px;border-left:1px solid var(--color-border);padding-left:20px}.dashboard-columns{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr) minmax(0,1.2fr);gap:18px;align-items:start}.attendance-list{display:grid;gap:6px}.attendance-row{display:grid;grid-template-columns:28px minmax(0,1fr) minmax(180px,.8fr);gap:10px;align-items:center;padding:9px 10px;border-bottom:1px solid var(--color-border)}.attendance-row input{width:18px;height:18px}.attendance-row small{color:var(--color-muted);text-align:right}.attendance-hub-list{display:grid}.attendance-hub-row{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(180px,.8fr) auto 20px;gap:12px;align-items:center;padding:13px 8px;border-bottom:1px solid var(--color-border);color:inherit;text-decoration:none}.attendance-hub-row>div{display:grid;gap:2px}.attendance-hub-row span{color:var(--color-muted);font-size:.82rem}.bulk-action-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:10px}.bulk-check{position:relative;z-index:3}.bulk-check input{width:18px;height:18px}.payment-row{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr) minmax(120px,.4fr) auto 24px;gap:12px;align-items:center;padding:12px 8px;border-bottom:1px solid var(--color-border)}.payment-row__main,.payment-row__amount{display:grid;gap:2px}.payment-row__main span,.payment-row__amount small{color:var(--color-muted);font-size:.82rem}


/* v3.12.2 announcements + dashboard */
.announcement-card{
  overflow:hidden;
}

.announcement-card--clickable{
  padding:0;
}

.announcement-card__link{
  display:grid;
  grid-template-columns:minmax(180px,260px) minmax(0,1fr);
  gap:0;
  color:inherit;
  text-decoration:none !important;
}

.announcement-card__link:hover,
.announcement-card__link:focus{
  text-decoration:none !important;
}

.announcement-card__content{
  padding:20px;
  min-width:0;
}

.announcement-card__content h3,
.announcement-card__content p,
.announcement-card__content small{
  text-decoration:none !important;
}

.announcement-card__media{
  min-width:0;
  background:var(--color-surface-muted);
  display:grid;
  place-items:center;
  overflow:hidden;
}

.announcement-image--card{
  display:block;
  width:100%;
  height:100%;
  min-height:190px;
  max-height:240px;
  object-fit:cover;
}

.announcement-body,
.announcement-body *{
  text-decoration-skip-ink:auto;
}

.announcement-text{
  text-decoration:none !important;
}

.announcement-image--hero{
  display:block !important;
  width:auto !important;
  max-width:min(100%,900px) !important;
  height:auto !important;
  max-height:520px !important;
  object-fit:contain !important;
  margin:0 auto 18px !important;
}

.filter-bar--announcements{
  grid-template-columns:minmax(240px,1.5fr) minmax(160px,.7fr) minmax(160px,.7fr) auto;
}

.dashboard-columns{
  width:100%;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);
}

.dashboard-columns > *{
  min-width:0;
  width:100%;
}

.announcement-mini-list a,
.dashboard-announcement-item{
  color:inherit;
  text-decoration:none !important;
}

.dashboard-announcement-item{
  display:grid;
  grid-template-columns:72px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:10px 0;
  border-bottom:1px solid var(--color-border);
}

.dashboard-announcement-item:last-child{
  border-bottom:0;
}

.dashboard-announcement-thumb{
  width:72px;
  height:58px;
  border-radius:9px;
  object-fit:cover;
  display:block;
  background:var(--color-surface-muted);
}

.dashboard-announcement-copy{
  display:grid;
  gap:3px;
  min-width:0;
}

.dashboard-announcement-copy strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-announcement-copy p{
  margin:0;
}

.dashboard-calendar-agenda{
  display:none;
}


/* v3.12.3 readability + attendance */
.content a{
  text-decoration:none !important;
}

.content a:hover,
.content a:focus{
  text-decoration:none !important;
}

.dashboard-announcement-item{
  border:1px solid var(--color-border) !important;
  border-radius:12px;
  padding:10px !important;
  margin-bottom:8px;
  background:var(--color-surface);
}

.dashboard-announcement-item:last-child{
  margin-bottom:0;
  border-bottom:1px solid var(--color-border) !important;
}

.event-item,
.calendar-event,
.attendance-hub-row{
  text-decoration:none !important;
}

.calendar-event{
  justify-content:flex-start;
  text-align:left;
}

.calendar-event__text{
  text-align:left;
}

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

.attendance-row{
  width:100%;
  grid-template-columns:28px minmax(0,1fr) minmax(220px,.8fr) !important;
}

.attendance-actions{
  justify-content:space-between;
  gap:10px;
}

.filter-bar--attendance{
  grid-template-columns:minmax(220px,1.3fr) minmax(150px,.75fr) minmax(150px,.7fr) minmax(145px,.65fr) minmax(145px,.65fr) auto;
}

.filter-checkbox{
  display:flex;
  align-items:center;
  gap:8px;
  min-height:44px;
  font-weight:700;
}

.filter-checkbox input{
  width:18px;
  height:18px;
}

.player-record-picker{
  display:grid;
  gap:8px;
}

.player-record-picker__search{
  width:100%;
}

.player-record-picker__list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  max-height:320px;
  overflow:auto;
  padding:2px;
}

.player-record-picker__item{
  display:grid;
  grid-template-columns:20px minmax(0,1fr);
  align-items:center;
  gap:10px;
  padding:10px 12px;
  border:1px solid var(--color-border);
  border-radius:12px;
  cursor:pointer;
  background:var(--color-surface);
}

.player-record-picker__item:hover{
  background:var(--color-surface-muted);
}

.player-record-picker__item input{
  width:18px;
  height:18px;
  margin:0;
}

.player-record-picker__item span{
  display:grid;
  gap:2px;
  min-width:0;
}

.player-record-picker__item small{
  color:var(--color-muted);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}


/* v3.12.4 dashboard desktop calendar + attendance + settings/equipment */
.dashboard-columns > .calendar-card .calendar-event .event-scope-icon{display:none!important}
.dashboard-columns > .calendar-card .calendar-event{display:block!important;padding:2px 3px!important;min-width:0!important;text-align:left!important;overflow:hidden}
.dashboard-columns > .calendar-card .calendar-event__text{display:block!important;width:100%!important;font-size:.66rem!important;line-height:1.15!important;text-align:left!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:clip!important}
.dashboard-columns > .calendar-card .calendar-day{padding:4px!important;min-width:0}
.attendance-summary--detailed{display:grid;grid-template-columns:repeat(4,minmax(72px,1fr));gap:8px;min-width:min(100%,420px)}
.attendance-summary--detailed>span{display:grid;gap:2px;padding:8px 10px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface-muted)}
.attendance-summary--detailed small{font-size:.7rem;color:var(--color-muted);font-weight:700}.attendance-summary--detailed strong{font-size:1rem}
.settings-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}.settings-tab{padding:9px 13px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:inherit;text-decoration:none!important;font-weight:800}.settings-tab.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.settings-section{max-width:none}.settings-category-list{display:grid}.settings-category-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 4px;border-bottom:1px solid var(--color-border)}.settings-category-row>div:first-child{display:grid;gap:2px}.settings-category-row span{color:var(--color-muted);font-size:.82rem}
.equipment-detail-grid{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}.timeline-list{display:grid}.timeline-item{position:relative;display:grid;grid-template-columns:18px minmax(0,1fr);gap:10px;padding:8px 0}.timeline-item:not(:last-child)::after{content:"";position:absolute;left:8px;top:25px;bottom:-5px;width:2px;background:var(--color-border)}.timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--color-primary);margin-top:5px}.timeline-item>div{display:grid;gap:2px}.timeline-item span,.timeline-item small{color:var(--color-muted);font-size:.82rem}.check-line--danger{padding:10px 12px;border:1px solid #f1b5b5;border-radius:10px;background:#fff5f5}
.announcement-target-panel[hidden]{display:none!important}

/* v3.12.5 */
.attendance-row--interactive{display:grid!important;grid-template-columns:minmax(0,1fr) auto minmax(220px,.75fr)!important;align-items:center;gap:10px;padding:9px 10px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface)}
.attendance-present{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:10px;cursor:pointer}.attendance-present input{width:18px;height:18px}
.attendance-row__tools{display:flex;align-items:center;gap:6px}.attendance-excused-toggle input{position:absolute;opacity:0;pointer-events:none}
.attendance-excused-toggle span,.attendance-note-toggle{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);font-weight:900;cursor:pointer}
.attendance-excused-toggle input:checked+span{background:#fff5d6;border-color:#d6a100;color:#7a5b00}.attendance-note-toggle{padding:0;font-size:.9rem}.attendance-note-toggle--has-note{background:var(--color-primary-soft);border-color:var(--color-primary)}
.attendance-row__audit{color:var(--color-muted);text-align:right}.attendance-note-editor{grid-column:1/-1;padding-left:32px}.attendance-note-editor[hidden]{display:none!important}.attendance-note-editor textarea{width:100%;min-height:72px}
.attendance-status-letter{display:inline-grid;place-items:center;min-width:22px;height:22px;padding:0 5px;border-radius:7px;font-weight:900;background:var(--color-surface-muted)}
.attendance-status-letter--present{background:#e8f7ee;color:#16794b}.attendance-status-letter--absent{background:#fdecec;color:#b42318}.attendance-status-letter--excused{background:#fff5d6;color:#7a5b00}.attendance-note-preview{color:var(--color-muted)}
.social-comment-list{display:grid;gap:18px}.social-comment-thread{display:grid;gap:8px}.social-comment{display:flex;align-items:flex-start;gap:9px}
.social-avatar{width:40px;height:40px;flex:0 0 40px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:var(--color-surface-muted);font-weight:900}.social-avatar--small{width:32px;height:32px;flex-basis:32px}.social-avatar img{width:100%;height:100%;object-fit:cover;display:block}
.social-comment__main{min-width:0;flex:1}.social-comment__bubble{display:inline-block;max-width:min(100%,720px);padding:9px 12px;border-radius:16px;background:var(--color-surface-muted)}.social-comment__bubble strong{display:block;font-size:.9rem;margin-bottom:2px}.social-comment__bubble p{margin:0;line-height:1.35}
.social-comment__meta{display:flex;gap:10px;padding:3px 10px 0;color:var(--color-muted);font-size:.76rem}.social-comment__reply{border:0;background:transparent;padding:0;color:inherit;font:inherit;font-weight:800;cursor:pointer}
.social-replies{display:grid;gap:8px;margin-left:49px}.social-replies>[data-replies-hidden]{display:grid;gap:8px}.social-replies>[data-replies-hidden][hidden]{display:none!important}.social-replies-toggle{justify-self:start;border:0;background:transparent;color:var(--color-muted);font-weight:800;cursor:pointer;padding:2px 0 2px 41px}
.social-comment-form{display:grid;gap:8px;margin-top:18px;padding-top:16px;border-top:1px solid var(--color-border)}.social-reply-context{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 10px;border-radius:10px;background:var(--color-primary-soft);font-size:.82rem}.social-reply-context[hidden]{display:none!important}.social-reply-context button{width:26px;height:26px;border:0;border-radius:50%;background:transparent;font-size:1.25rem;cursor:pointer}
.social-comment-composer{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:end}.social-comment-composer textarea{min-height:48px;max-height:160px;resize:vertical;border-radius:18px}


/* v3.12.6 attendance layout fix */
.attendance-card .section-heading{
  align-items:flex-start;
  gap:18px;
  flex-wrap:wrap;
}

.attendance-summary--detailed{
  display:grid !important;
  grid-template-columns:repeat(5,minmax(105px,1fr));
  gap:8px;
  width:min(100%,620px);
  margin-left:auto;
}

.attendance-summary--detailed > span{
  min-width:0;
  padding:10px 12px;
}

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

.attendance-row--interactive{
  display:grid !important;
  grid-template-columns:minmax(260px,1fr) auto minmax(220px,.7fr) !important;
  grid-template-areas:
    "person tools audit"
    "note note note";
  align-items:center;
  gap:10px 14px;
  width:100%;
  min-width:0;
  overflow:hidden;
}

.attendance-present{
  grid-area:person;
  min-width:0;
}

.attendance-row__tools{
  grid-area:tools;
  white-space:nowrap;
}

.attendance-row__audit{
  grid-area:audit;
  min-width:0;
  text-align:right;
  overflow-wrap:anywhere;
}

.attendance-note-editor{
  grid-area:note;
  padding-left:32px;
  min-width:0;
}

.attendance-row__name{
  min-width:0;
}

.attendance-row__name strong{
  display:block;
  min-width:0;
  overflow-wrap:anywhere;
}

.attendance-row__name small{
  display:flex;
  align-items:center;
  gap:6px;
  flex-wrap:wrap;
}

.attendance-note-preview{
  display:inline-block;
  max-width:420px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* tournaments / matches / friendlies on calendar */
.calendar-event--tournament{
  background:#fff1e8 !important;
  border-color:#f4b183 !important;
  color:#9a3f00 !important;
}

.event-scope-icon--tournament{
  background:#ffe2cc !important;
  color:#9a3f00 !important;
}


/* v3.13.0 common action icons */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.btn.icon-btn{
  width:42px;
  min-width:42px;
  height:42px;
  padding:0!important;
  display:inline-grid;
  place-items:center;
  flex:0 0 42px;
}

.btn--small.icon-btn{
  width:36px;
  min-width:36px;
  height:36px;
  flex-basis:36px;
}

.icon-btn svg{
  width:19px;
  height:19px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.icon-btn[data-action-icon="whatsapp"]{
  background:#25D366!important;
  border-color:#25D366!important;
  color:#fff!important;
}

.wa-glyph{
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border:2px solid currentColor;
  border-radius:50%;
  font-size:8px;
  font-weight:900;
  letter-spacing:-.5px;
}

/* standard filters / bulk actions */
.filter-bar--payments{
  grid-template-columns:minmax(240px,1.3fr) minmax(160px,.75fr) minmax(160px,.7fr) auto;
}

.bulk-action-card{
  padding:14px 16px;
  margin-bottom:14px;
}

.bulk-action-bar,
.bulk-reminder-bar{
  display:grid;
  grid-template-columns:minmax(180px,1fr) minmax(220px,.8fr) auto;
  align-items:end;
  gap:10px;
  margin-bottom:12px;
}

.bulk-action-bar select,
.bulk-reminder-bar select{
  width:100%;
  min-height:44px;
  border:1px solid var(--color-border);
  border-radius:12px;
  padding:0 12px;
  background:var(--color-surface);
  color:var(--color-text);
}

.bulk-check{
  display:grid;
  place-items:center;
  position:relative;
  z-index:3;
}

.bulk-check input{
  width:18px;
  height:18px;
}

/* active rows no chevron padding */
.person-row--clickable{
  padding-right:10px!important;
}

/* calendar day interactions */
.calendar-day--clickable{
  cursor:pointer;
  transition:background .15s ease;
}

.calendar-day--clickable:hover{
  background:var(--color-surface-muted);
}

.calendar-day__number{
  display:inline-flex;
  color:inherit;
  text-decoration:none!important;
  font-weight:900;
}

.calendar-day-agenda{
  display:grid;
  gap:8px;
}

.calendar-day-agenda__item,
.dashboard-calendar-agenda-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  padding:12px 14px;
  border:1px solid var(--color-border);
  border-radius:12px;
  color:inherit;
  text-decoration:none!important;
}

.calendar-day-agenda__item>div,
.dashboard-calendar-agenda-item>div{
  display:grid;
  gap:3px;
  min-width:0;
}

.calendar-day-agenda__item span,
.dashboard-calendar-agenda-item span{
  color:var(--color-muted);
  font-size:.82rem;
}

.calendar-day-agenda__item--tournament,
.dashboard-calendar-agenda-item.is-tournament{
  background:#fff1e8;
  border-color:#f4b183;
}

.dashboard-calendar-controls{
  display:flex;
  align-items:center;
  gap:8px;
}

.calendar-mode-switch{
  display:flex;
  align-items:center;
  padding:3px;
  border:1px solid var(--color-border);
  border-radius:10px;
  background:var(--color-surface-muted);
}

.calendar-mode-switch a{
  width:30px;
  height:30px;
  display:grid;
  place-items:center;
  border-radius:8px;
  color:var(--color-muted);
  text-decoration:none!important;
  font-size:.75rem;
  font-weight:900;
}

.calendar-mode-switch a.is-active{
  background:var(--color-surface);
  color:var(--color-primary);
  box-shadow:0 1px 4px rgba(16,24,40,.08);
}

.dashboard-calendar-week{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  border:1px solid var(--color-border);
  border-radius:12px;
  overflow:hidden;
}

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

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

.dashboard-week-day__heading{
  display:block;
  margin-bottom:8px;
  font-weight:900;
  color:inherit;
  text-decoration:none!important;
}

.dashboard-week-day__items{
  display:grid;
  gap:5px;
}

.dashboard-week-day__items a{
  display:block;
  padding:5px 6px;
  border-radius:7px;
  background:var(--color-primary-soft);
  color:var(--color-primary);
  font-size:.72rem;
  line-height:1.2;
  text-decoration:none!important;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.dashboard-week-day__items a.is-tournament{
  background:#fff1e8;
  color:#9a3f00;
}

/* form field consistency */
.attendance-note-editor textarea,
.social-comment-composer textarea,
.comment-form textarea{
  width:100%;
  min-width:0;
  border:1px solid var(--color-border)!important;
  border-radius:12px!important;
  background:var(--color-surface)!important;
  color:var(--color-text)!important;
  padding:11px 12px!important;
  font:inherit!important;
  line-height:1.4!important;
  outline:none;
  box-shadow:none;
}

.attendance-note-editor textarea:focus,
.social-comment-composer textarea:focus,
.comment-form textarea:focus{
  border-color:var(--color-primary)!important;
  box-shadow:0 0 0 3px var(--color-primary-soft)!important;
}

.inline-form{
  display:inline-flex;
  margin:0;
}

/* hidden announcement */
.announcement-card:has(.status-badge--danger){
  opacity:.72;
}

/* v3.13.1 deterministic icons + calendar views */
.icon-only{width:42px!important;min-width:42px!important;height:42px!important;padding:0!important;display:inline-grid!important;place-items:center!important;flex:0 0 42px!important}
.btn--small.icon-only{width:36px!important;min-width:36px!important;height:36px!important;flex-basis:36px!important}
.action-icon{width:20px;height:20px;display:inline-grid;place-items:center}
.action-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.btn--whatsapp{background:#25D366!important;border-color:#25D366!important;color:#fff!important}
.calendar-mode-switch .action-icon,.calendar-mode-switch .action-icon svg{width:18px;height:18px}
.calendar-mode-switch--main{display:flex!important}
.calendar-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--color-border);border-radius:12px;overflow:hidden}
.calendar-week-day{min-width:0;min-height:210px;padding:10px;border-right:1px solid var(--color-border)}
.calendar-week-day:last-child{border-right:0}
.calendar-week-day__heading{display:block;font-weight:900;margin-bottom:10px;color:inherit;text-decoration:none!important}
.calendar-week-day__items{display:grid;gap:7px}
.calendar-week-day__items a{display:grid;gap:2px;padding:7px 8px;border-radius:8px;background:var(--color-primary-soft);color:var(--color-primary);text-decoration:none!important;min-width:0}
.calendar-week-day__items a strong{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.calendar-week-day__items a.is-tournament{background:#fff1e8;color:#9a3f00}
.calendar-page-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}


/* v3.14.0 global action icon system */
.sr-only{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}

.btn.icon-only{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
  flex:0 0 42px!important;
}

.btn--small.icon-only{
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  flex-basis:36px!important;
}

.action-icon{
  width:20px;
  height:20px;
  display:inline-grid;
  place-items:center;
  pointer-events:none;
}

.action-icon svg{
  width:20px;
  height:20px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.btn.icon-only[aria-label*="WhatsApp"]{
  background:#25D366!important;
  border-color:#25D366!important;
  color:#fff!important;
}

/* users search restored to standard filter styling */
.filter-bar--users{
  grid-template-columns:minmax(260px,520px);
  align-items:end;
}

.filter-bar--users .field{
  width:100%;
}

.users-list{
  display:grid;
}

.user-row{
  min-width:0;
  border-bottom:1px solid var(--color-border);
  padding:12px 4px;
}

.user-row:last-child{
  border-bottom:0;
}

.user-row .person-cell{
  min-width:0;
}

.user-row .actions-cell{
  justify-self:end;
}


/* v3.14.1 audit log */
.filter-bar--audit{
  grid-template-columns:minmax(260px,1.5fr) repeat(3,minmax(160px,.75fr)) repeat(2,minmax(145px,.65fr)) auto;
}

.audit-table td strong{
  display:block;
}

.audit-table td small{
  display:block;
  margin-top:2px;
  color:var(--color-muted);
}

.audit-table code{
  font-size:.78rem;
  white-space:nowrap;
}

.pagination{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:16px;
}

.pagination__status{
  font-weight:800;
  color:var(--color-muted);
}


/* v3.14.4 attendance controls */
.attendance-list--status-buttons{
  display:grid!important;
  grid-template-columns:minmax(0,1fr)!important;
  gap:8px!important;
}

.attendance-row--status-buttons{
  display:grid!important;
  grid-template-columns:minmax(240px,1fr) auto minmax(210px,.7fr)!important;
  grid-template-areas:
    "person controls audit"
    "note note note"!important;
  align-items:center!important;
  gap:10px 14px!important;
  min-width:0!important;
  width:100%!important;
  padding:10px 12px!important;
  border:1px solid var(--color-border)!important;
  border-radius:12px!important;
  background:var(--color-surface)!important;
}

.attendance-player{
  grid-area:person;
  display:grid;
  gap:3px;
  min-width:0;
}

.attendance-player__name{
  display:block;
  min-width:0;
  font-weight:900;
  line-height:1.25;
  word-break:normal;
  overflow-wrap:normal;
  hyphens:none;
}

.attendance-player__state{
  color:var(--color-muted);
  font-size:.78rem;
}

.attendance-controls{
  grid-area:controls;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:6px;
  flex-wrap:nowrap;
}

.attendance-choice,
.attendance-note-toggle{
  width:36px!important;
  min-width:36px!important;
  height:36px!important;
  display:grid!important;
  place-items:center!important;
  padding:0!important;
  border:1px solid var(--color-border)!important;
  border-radius:9px!important;
  background:var(--color-surface)!important;
  color:var(--color-text)!important;
  font:inherit;
  font-weight:900!important;
  cursor:pointer;
  box-shadow:none!important;
}

.attendance-choice--present.is-active{
  background:#e8f7ee!important;
  border-color:#4aa575!important;
  color:#16794b!important;
}

.attendance-choice--absent.is-active{
  background:#fdecec!important;
  border-color:#e58a84!important;
  color:#b42318!important;
}

.attendance-choice--excused.is-active{
  background:#fff5d6!important;
  border-color:#d6a100!important;
  color:#7a5b00!important;
}

.attendance-row--status-buttons .attendance-row__audit{
  grid-area:audit;
  min-width:0;
  text-align:right!important;
  color:var(--color-muted);
  overflow-wrap:anywhere;
}

.attendance-row--status-buttons .attendance-note-editor{
  grid-area:note;
  padding-left:0!important;
  min-width:0;
}

.attendance-row--status-buttons .attendance-note-preview{
  display:block;
  max-width:100%;
  color:var(--color-muted);
  font-size:.78rem;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* v3.14.4 tournament travel roster */
.tournament-roster{
  display:grid;
  gap:10px;
  margin-top:18px;
  padding-top:16px;
  border-top:1px solid var(--color-border);
}

.tournament-roster__items{
  grid-template-columns:repeat(2,minmax(0,1fr));
  max-height:420px;
  overflow:auto;
}


/* v3.14.5 attendance row state colours */
.attendance-row--status-buttons{
  transition:background-color .16s ease,border-color .16s ease,box-shadow .16s ease;
}

.attendance-row--status-buttons.attendance-row--unmarked{
  background:#ffffff!important;
  border-color:var(--color-border)!important;
}

.attendance-row--status-buttons.attendance-row--present{
  background:#eefaf3!important;
  border-color:#81c9a2!important;
}

.attendance-row--status-buttons.attendance-row--absent{
  background:#fff1f0!important;
  border-color:#ef9a94!important;
}

.attendance-row--status-buttons.attendance-row--excused{
  background:#fff9df!important;
  border-color:#dfbe4d!important;
}

.attendance-row--present .attendance-player__state{
  color:#16794b!important;
  font-weight:800;
}

.attendance-row--absent .attendance-player__state{
  color:#b42318!important;
  font-weight:800;
}

.attendance-row--excused .attendance-player__state{
  color:#7a5b00!important;
  font-weight:800;
}

.attendance-row--unmarked .attendance-player__state{
  color:var(--color-muted)!important;
}

.attendance-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
}

.attendance-actions .btn{
  flex:0 0 auto!important;
}


/* v3.14.6 attendance desktop actions */
.attendance-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:10px!important;
  flex-wrap:nowrap!important;
}

.attendance-actions .btn{
  flex:0 0 auto!important;
}


/* v3.14.7 payment deletion */
.payment-form-actions{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
}

.payment-form-actions__right{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:10px;
}


/* v3.14.8 filters, metadata and past rows */
.btn.mobile-filter-toggle{display:none!important}
.team-row .person-meta,.record-row .person-meta{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:7px!important;align-content:center;padding-left:0!important;padding-right:0!important}
.team-row .person-meta>span,.record-row .person-meta>span{display:block!important;line-height:1.35!important;white-space:normal!important}
.filter-bar--tournaments{grid-template-columns:minmax(220px,1.3fr) minmax(160px,.75fr) minmax(150px,.7fr) auto auto}
.filter-checkbox--standalone{align-self:end;margin-bottom:1px}
.tournament-row--past,.event-row--past{opacity:.58;background:#f7f8fa}
.tournament-row--past:hover,.event-row--past:hover{opacity:.82}
.event-row--past .event-row__main strong,.event-row--past .event-row__when strong{color:var(--color-muted)}


/* v3.14.9 medical/license player picker search */
.player-record-picker__item[hidden]{
  display:none!important;
}
.player-record-picker__empty{
  grid-column:1/-1;
  padding:14px;
  border:1px dashed var(--color-border);
  border-radius:12px;
  color:var(--color-muted);
  text-align:center;
  background:var(--color-surface-muted);
}
.player-record-picker__empty[hidden]{
  display:none!important;
}


/* v3.14.10 selected player picker */
.player-record-picker__current{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:var(--color-surface-muted);
}

.player-record-picker__current[hidden],
.player-record-picker__chooser[hidden]{
  display:none!important;
}

.player-record-picker__current-person{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.player-record-picker__current-person>span:last-child{
  display:grid;
  gap:2px;
  min-width:0;
}

.player-record-picker__current-person strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.player-record-picker__current-person small{
  color:var(--color-muted);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.player-record-picker__chooser{
  display:grid;
  gap:8px;
}

.player-record-picker__item[hidden],
.player-record-picker__item.is-filtered-out{
  display:none!important;
}

.player-record-picker__empty{
  padding:10px 12px;
  border:1px dashed var(--color-border);
  border-radius:10px;
  color:var(--color-muted);
  text-align:center;
}

.player-record-picker__empty[hidden]{
  display:none!important;
}

.player-record-picker__cancel-change{
  justify-self:start;
}


/* v3.14.13 tournaments / matches in calendar list */
.event-row--tournament{
  background:#fffaf6;
}

.event-row--tournament:not(.event-row--past){
  border-color:#f4b183;
}

.event-row--tournament .event-row__main>span{
  color:#9a3f00;
  font-weight:700;
}

.event-row--tournament.event-row--past{
  background:#faf6f2;
}


/* v3.15.0 medical/license verification */
.status-badge--verification{
  background:#eaf3ff!important;
  color:#174f8a!important;
  border:1px solid #8bb8ea!important;
}

.verification-submit-notice{
  margin-bottom:14px;
}

.verification-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 16px;
  margin-bottom:14px;
  border-radius:14px;
  border:1px solid var(--color-border);
}

.verification-panel>div:first-child{
  display:grid;
  gap:3px;
}

.verification-panel--pending{
  background:#eef6ff;
  border-color:#8bb8ea;
  color:#174f8a;
}

.verification-panel--rejected{
  background:#fff0ef;
  border-color:#edaaa4;
}

.verification-panel--verified{
  background:#eef9f2;
  border-color:#93ceb0;
  color:#16794b;
}

.verification-panel__actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:wrap;
}

.verification-reject-form{
  display:flex;
  align-items:center;
  gap:8px;
}

.verification-reject-form input[type="text"]{
  min-width:240px;
  min-height:42px;
  border:1px solid var(--color-border);
  border-radius:10px;
  padding:0 10px;
  background:var(--color-surface);
}

/* v3.15.1 verification info is blue */
.verification-submit-notice{
  background:#eef6ff!important;
  border-color:#8bb8ea!important;
  color:#174f8a!important;
}


/* v3.15.1 tournament call-ups */
.tournament-map-card{
  min-width:0;
}

.tournament-callups-heading{
  align-items:flex-start;
}

.tournament-callup-list{
  display:grid;
  gap:10px;
}

.tournament-callup-row{
  display:grid;
  grid-template-columns:minmax(240px,1fr) minmax(260px,1.1fr) auto;
  gap:14px;
  align-items:center;
  padding:12px 14px;
  border:1px solid var(--color-border);
  border-radius:14px;
  background:#fff;
}

.tournament-callup-row--confirmed{
  background:#eefaf3;
  border-color:#81c9a2;
}

.tournament-callup-row--declined{
  background:#fff1f0;
  border-color:#ef9a94;
}

.tournament-callup-row--pending{
  background:#eef6ff;
  border-color:#8bb8ea;
}

.tournament-callup-row--not_sent{
  background:#fff;
}

.tournament-callup-person{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.tournament-callup-person>div{
  display:grid;
  gap:2px;
  min-width:0;
}

.tournament-callup-person a{
  color:inherit;
  text-decoration:none!important;
}

.tournament-callup-person small,
.tournament-callup-state small{
  color:var(--color-muted);
}

.tournament-callup-state{
  display:grid;
  justify-items:start;
  gap:4px;
  min-width:0;
}

.status-badge--callup-not_sent{
  background:#f2f4f7;
  color:#667085;
}

.status-badge--callup-pending{
  background:#dcecff;
  color:#174f8a;
}

.status-badge--callup-confirmed{
  background:#ddf5e7;
  color:#16794b;
}

.status-badge--callup-declined{
  background:#fde4e2;
  color:#b42318;
}

.tournament-callup-note{
  margin-top:3px;
  padding:6px 8px;
  border-radius:8px;
  background:rgba(255,255,255,.7);
  font-size:.84rem;
}

.tournament-callup-response{
  display:grid;
  justify-items:end;
  gap:8px;
}

.tournament-callup-buttons{
  display:flex;
  align-items:center;
  gap:7px;
}

.callup-confirm{
  color:#16794b!important;
  border-color:#81c9a2!important;
}

.callup-decline{
  color:#b42318!important;
  border-color:#ef9a94!important;
}

.tournament-callup-note-editor{
  width:min(360px,100%);
}

.tournament-callup-note-editor[hidden]{
  display:none!important;
}

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


/* v3.15.2 call-up response save workflow */
.tournament-callup-buttons .callup-confirm.is-active{
  background:#ddf5e7!important;
  border-color:#4db47c!important;
  color:#11633d!important;
  box-shadow:0 0 0 2px rgba(77,180,124,.14);
}

.tournament-callup-buttons .callup-decline.is-active{
  background:#fde4e2!important;
  border-color:#df6f67!important;
  color:#a51f16!important;
  box-shadow:0 0 0 2px rgba(223,111,103,.14);
}

.tournament-callup-buttons [data-callup-save]:disabled{
  opacity:.45;
  cursor:not-allowed;
}

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


/* v3.15.3 call-up status saves immediately, comment saves separately */
.tournament-callup-status-form{
  margin:0;
}

.tournament-callup-note-form{
  width:min(420px,100%);
  margin:0;
}

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

.tournament-callup-note-input-row textarea{
  width:100%;
  min-width:0;
}

.tournament-callup-note-input-row .btn{
  align-self:end;
}


/* v3.15.4 instant attendance, map providers, tournament overview */
.attendance-note-input-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:end;
}

.attendance-note-input-row textarea{
  width:100%;
  min-width:0;
  min-height:72px;
}

.attendance-note-input-row .btn{
  align-self:end;
}

.attendance-note-audit{
  display:block!important;
  color:var(--color-muted);
  font-size:.72rem;
  margin-top:2px;
}

.attendance-note-audit[hidden],
.attendance-note-preview[hidden]{
  display:none!important;
}

.attendance-choice:disabled{
  opacity:.55;
  cursor:wait;
}

.attendance-clear-form{
  margin-top:12px;
  display:flex;
  justify-content:flex-start;
}

.attendance-viewer-list{
  display:grid;
  gap:8px;
}

.attendance-viewer-row{
  display:grid;
  gap:6px;
  padding:12px 14px;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:var(--color-surface);
}

.attendance-viewer-row>div:first-child{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}

.attendance-viewer-row>small,
.attendance-viewer-note small{
  color:var(--color-muted);
  font-size:.76rem;
}

.attendance-viewer-note{
  display:grid;
  gap:3px;
  padding:8px 10px;
  border-radius:9px;
  background:rgba(255,255,255,.72);
}

.attendance-viewer-row--present{
  background:#eefaf3;
  border-color:#81c9a2;
}

.attendance-viewer-row--absent{
  background:#fff1f0;
  border-color:#ef9a94;
}

.attendance-viewer-row--excused{
  background:#fff9df;
  border-color:#dfbe4d;
}

.status-badge--attendance-present{
  background:#ddf5e7;
  color:#16794b;
}

.status-badge--attendance-absent{
  background:#fde4e2;
  color:#b42318;
}

.status-badge--attendance-excused{
  background:#fff0bd;
  color:#7a5b00;
}

.status-badge--attendance-unmarked{
  background:#f2f4f7;
  color:#667085;
}

.map-provider-toolbar{
  gap:8px!important;
}

.map-provider-btn{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  width:auto!important;
  white-space:nowrap;
}

.map-provider-code{
  display:inline-grid;
  place-items:center;
  min-width:30px;
  height:22px;
  padding:0 5px;
  border-radius:6px;
  background:var(--color-surface-muted);
  font-size:.7rem;
  font-weight:900;
  letter-spacing:.02em;
}

.map-provider-btn .action-icon{
  width:17px;
  height:17px;
}

.tournament-overview-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:16px;
  align-items:start;
}

.tournament-overview-grid>.card{
  margin:0;
  min-width:0;
}

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

.tournament-staff-card .relation-list--people{
  display:grid;
  gap:8px;
}

.tournament-callups-card{
  min-width:0;
}

.tournament-callup-note small{
  display:block;
  margin-top:4px;
  color:var(--color-muted);
  font-size:.72rem;
}


/* v3.15.4 personal attendance history */
.filter-bar--attendance-personal{
  grid-template-columns:minmax(210px,1.25fr) minmax(155px,.8fr) minmax(155px,.8fr) minmax(145px,.7fr) minmax(145px,.7fr) auto auto;
  align-items:end;
}

.attendance-personal-list{
  display:grid;
  gap:8px;
}

.attendance-personal-row{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(180px,.65fr);
  gap:12px;
  align-items:center;
  padding:12px 14px;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:var(--color-surface);
  transition:border-color .15s ease,background .15s ease;
}

.attendance-personal-row:hover{
  border-color:var(--color-primary);
}

.attendance-personal-main,
.attendance-personal-status,
.attendance-personal-note{
  display:grid;
  gap:3px;
  min-width:0;
}

.attendance-personal-main span,
.attendance-personal-main small,
.attendance-personal-status small,
.attendance-personal-note small{
  color:var(--color-muted);
}

.attendance-personal-status{
  justify-items:end;
  text-align:right;
}

.attendance-personal-note{
  grid-column:1/-1;
  padding:8px 10px;
  border-radius:9px;
  background:rgba(255,255,255,.72);
}

.attendance-personal-row--present{
  background:#eefaf3;
  border-color:#81c9a2;
}

.attendance-personal-row--absent{
  background:#fff1f0;
  border-color:#ef9a94;
}

.attendance-personal-row--excused{
  background:#fff9df;
  border-color:#dfbe4d;
}

.attendance-personal-row--unmarked{
  background:#fff;
}

/* clearly distinguish external map providers */
.map-provider-btn--osm{
  border-color:#79ad71!important;
  background:#f2faf0!important;
  color:#285f24!important;
}

.map-provider-btn--osm .map-provider-code{
  background:#dff1db;
  color:#285f24;
}

.map-provider-btn--google{
  border-color:#8bb8ea!important;
  background:#eef6ff!important;
  color:#174f8a!important;
}

.map-provider-btn--google .map-provider-code{
  background:#dcecff;
  color:#174f8a;
}


/* v3.15.6 user contact details */
.user-row__contacts{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:wrap;
}


/* v3.15.7 optimized avatars + direct WhatsApp actions */
.person-whatsapp-btn,
.team-whatsapp-btn{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  flex:0 0 34px!important;
  padding:7px!important;
  border-radius:10px!important;
}
.person-whatsapp-btn .action-icon,
.team-whatsapp-btn .action-icon{
  width:18px!important;
  height:18px!important;
}
.person-link-card__contacts .person-whatsapp-btn{
  margin-left:2px;
}
.profile-contact-row{
  display:flex;
  align-items:center;
  gap:8px;
  margin-top:6px;
  flex-wrap:wrap;
}
.person-actions--contact{
  position:relative;
  z-index:3;
}
.team-membership-row{
  grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center;
}
.team-membership-row>span:first-child{
  display:grid;
  gap:2px;
  min-width:0;
}


/* v3.15.15 attendance photos, sorting and one-off extra players */
.attendance-manager{display:grid;gap:12px;min-width:0}
.attendance-list-toolbar{display:flex;align-items:end;justify-content:space-between;gap:12px;flex-wrap:wrap}
.attendance-list-toolbar__left{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.attendance-sort-field{display:grid;gap:4px;min-width:150px}
.attendance-sort-field>span{font-size:.76rem;font-weight:800;color:var(--color-muted)}
.attendance-sort-field select{min-height:40px}
.attendance-extra-panel{display:grid;gap:12px;padding:14px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface-muted)}
.attendance-extra-panel[hidden]{display:none!important}
.attendance-extra-panel__heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,340px);gap:12px;align-items:end}
.attendance-extra-panel__heading>div{display:grid;gap:3px}.attendance-extra-panel__heading small{color:var(--color-muted)}
.attendance-extra-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;max-height:360px;overflow:auto}
.attendance-extra-options .check-card{display:grid;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:9px;min-width:0}
.attendance-extra-options .check-card[hidden]{display:none!important}
.attendance-extra-panel__actions{display:flex;justify-content:flex-end}
.attendance-player{grid-template-columns:auto minmax(0,1fr)!important;align-items:center!important;column-gap:10px!important}
.attendance-player__avatar-link{display:block;flex:0 0 auto;position:relative;z-index:2;text-decoration:none!important}
.attendance-player__avatar-link .avatar{display:block}
.attendance-player__details{display:grid;gap:3px;min-width:0}
.attendance-player__meta{display:flex;align-items:center;gap:7px;flex-wrap:wrap;color:var(--color-muted);font-size:.78rem}
.attendance-extra-badge{font-size:.68rem!important;padding:3px 7px!important}
.attendance-row--extra{box-shadow:inset 3px 0 0 var(--color-primary)}
.attendance-extra-remove-form{margin:0;display:flex}
.attendance-extra-remove{width:36px;min-width:36px;height:36px;display:grid;place-items:center;padding:0;border:1px solid var(--color-border);border-radius:9px;background:var(--color-surface);color:var(--color-danger,#b42318);cursor:pointer}
.attendance-extra-remove .action-icon{width:18px;height:18px}
.attendance-viewer-person{display:grid!important;grid-template-columns:auto minmax(0,1fr) auto;align-items:center!important;justify-content:stretch!important;gap:10px!important}
.attendance-viewer-person>div{display:grid;gap:2px;min-width:0}.attendance-viewer-person small{color:var(--color-muted)}


/* v3.15.16 attendance control polish and jersey numbers */
.attendance-sort-field select,
.attendance-extra-panel__heading input[type="search"]{
  width:100%;
  max-width:100%;
  min-width:0;
  height:var(--input-height);
  min-height:var(--input-height);
  padding:0 13px;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:#fff;
  color:var(--color-text);
  outline:none;
  box-shadow:none;
}
.attendance-sort-field select:focus,
.attendance-extra-panel__heading input[type="search"]:focus{
  border-color:var(--color-accent);
  box-shadow:0 0 0 4px rgba(47,111,190,.12);
}
.attendance-extra-panel__heading input[type="search"]{
  appearance:none;
}
.attendance-list-toolbar__left .btn{
  border-radius:12px;
}
.attendance-player{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.attendance-player__avatar-link{
  width:56px;
  height:56px;
  min-width:56px;
  flex:0 0 56px;
  display:grid!important;
  place-items:center!important;
  line-height:0;
}
.attendance-player__details{
  flex:1 1 auto;
}
.attendance-manager .avatar--placeholder,
.attendance-viewer-list .avatar--placeholder{
  font-size:0!important;
  line-height:0!important;
  display:grid!important;
  place-items:center!important;
}
.attendance-manager .avatar--placeholder::before,
.attendance-viewer-list .avatar--placeholder::before{
  content:"";
  width:23px;
  height:23px;
  display:block;
  background:
    radial-gradient(circle at 50% 27%,currentColor 0 22%,transparent 23%),
    radial-gradient(ellipse at 50% 105%,currentColor 0 50%,transparent 51%);
}
.attendance-jersey{
  position:relative;
  width:42px;
  height:40px;
  min-width:42px;
  flex:0 0 42px;
  display:grid!important;
  place-items:center!important;
  color:var(--color-primary);
  font-weight:900;
  font-size:.78rem;
  line-height:1;
  text-align:center;
  isolation:isolate;
}
.attendance-jersey::before,
.attendance-jersey::after{
  content:"";
  position:absolute;
  clip-path:polygon(24% 2%,38% 2%,42% 11%,58% 11%,62% 2%,76% 2%,100% 22%,84% 43%,76% 35%,76% 98%,24% 98%,24% 35%,16% 43%,0 22%);
}
.attendance-jersey::before{
  inset:0;
  background:var(--color-primary);
  opacity:.32;
}
.attendance-jersey::after{
  inset:2px;
  background:var(--color-primary-soft);
}
.attendance-jersey__number{
  position:relative;
  z-index:2;
  display:block!important;
  max-width:30px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.attendance-viewer-person{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
}
.attendance-viewer-person__identity{
  display:grid;
  gap:2px;
  min-width:0;
  flex:1 1 auto;
}
.attendance-viewer-person>.status-badge{
  margin-left:auto;
  flex:0 0 auto;
}


/* v3.15.17 shared player jersey + normal person placeholder */
.attendance-manager .avatar--placeholder,
.attendance-viewer-list .avatar--placeholder{
  font-size:1.25rem!important;
  line-height:1!important;
  display:grid!important;
  place-items:center!important;
}
.attendance-manager .avatar--placeholder::before,
.attendance-viewer-list .avatar--placeholder::before{
  content:none!important;
  display:none!important;
}

.player-jersey,
.attendance-jersey{
  position:relative;
  width:42px;
  height:40px;
  min-width:42px;
  flex:0 0 42px;
  display:grid!important;
  place-items:center!important;
  color:var(--color-primary);
  font-weight:900;
  font-size:.78rem;
  line-height:1;
  text-align:center;
  isolation:isolate;
}
.player-jersey::before,
.player-jersey::after,
.attendance-jersey::before,
.attendance-jersey::after{
  content:"";
  position:absolute;
  clip-path:polygon(24% 2%,38% 2%,42% 11%,58% 11%,62% 2%,76% 2%,100% 22%,84% 43%,76% 35%,76% 98%,24% 98%,24% 35%,16% 43%,0 22%);
}
.player-jersey::before,
.attendance-jersey::before{
  inset:0;
  background:var(--color-primary);
  opacity:.32;
}
.player-jersey::after,
.attendance-jersey::after{
  inset:2px;
  background:var(--color-primary-soft);
}
.player-jersey__number,
.attendance-jersey__number{
  position:relative;
  z-index:2;
  display:block!important;
  max-width:30px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.player-jersey--small{
  width:36px;
  height:34px;
  min-width:36px;
  flex-basis:36px;
  font-size:.7rem;
}
.attendance-extra-options .check-card{
  display:flex!important;
  align-items:center!important;
  gap:9px!important;
}
.attendance-extra-options .check-card>input{
  flex:0 0 auto;
}
.attendance-extra-person{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
  flex:1 1 auto;
}
.attendance-extra-person>.avatar{
  flex:0 0 38px;
}
.attendance-extra-person__identity{
  display:grid;
  gap:2px;
  min-width:0;
}
.attendance-extra-person__identity strong,
.attendance-extra-person__identity small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.person-main--player .player-jersey{
  position:relative;
  z-index:2;
}


/* v3.15.18 attendance extra-player jersey visibility */
.attendance-extra-options .player-jersey{
  display:grid!important;
  visibility:visible!important;
  opacity:1!important;
  flex:0 0 36px!important;
}
.attendance-extra-person--has-jersey{
  min-width:0;
}
.attendance-extra-person__identity{
  flex:1 1 0!important;
  width:auto!important;
  min-width:0!important;
}
