/* V47: compact registration picker, status switches, competition configuration and scoring */

/* Public selector: two neat, compact rows rather than tall empty cards */
body.public-site .competition-picker__grid{gap:11px!important}
body.public-site .competition-picker__card{
  display:grid!important;
  grid-template-columns:38px minmax(0,1fr) auto!important;
  grid-template-rows:auto!important;
  column-gap:12px!important;
  row-gap:4px!important;
  align-items:center!important;
  align-content:center!important;
  padding:13px 16px!important;
  min-height:106px!important;
  border-radius:15px!important;
}
body.public-site .competition-picker__card-icon{
  grid-column:1!important;grid-row:1!important;
  width:38px!important;height:38px!important;border-radius:10px!important;
}
body.public-site .competition-picker__card-body{
  grid-column:2!important;grid-row:1!important;
  min-width:0!important;
}
body.public-site .competition-picker__card-kind{
  font-size:11px!important;
}
body.public-site .competition-picker__card h3{
  font-size:14px!important;line-height:1.4!important;
  margin:2px 0 7px!important;
}
body.public-site .competition-picker__tags{
  gap:4px!important;
}
body.public-site .competition-picker__tags span{
  font-size:10.5px!important;padding:3px 6px!important;
}
body.public-site .competition-picker__choose,
body.public-site .competition-picker__unavailable{
  grid-column:3!important;grid-row:1!important;
  align-self:center!important;
  justify-self:end!important;
  margin:0!important;
  white-space:nowrap;
  padding:8px 12px!important;
  min-height:37px!important;
  font-size:12px!important;
  border-radius:10px!important;
}
@media(max-width:1100px){
  body.public-site .competition-picker__grid{grid-template-columns:1fr!important}
}
@media(max-width:560px){
  body.public-site .competition-picker__card{
    grid-template-columns:36px minmax(0,1fr)!important;
    grid-template-rows:auto auto!important;
    padding:12px!important;min-height:0!important;
  }
  body.public-site .competition-picker__card-icon{width:36px!important;height:36px!important}
  body.public-site .competition-picker__choose,
  body.public-site .competition-picker__unavailable{
    grid-column:2!important;grid-row:2!important;
    justify-self:start!important;margin-top:5px!important;
  }
  body.public-site .competition-picker__card h3{font-size:14px!important}
}

/* Compact and accessible switch-style sport registration controls */
body.admin-body .v47-registration-control{padding:20px!important}
body.admin-body .v47-registration-control .admin-panel-heading-line{
  display:flex;align-items:center;justify-content:space-between;gap:16px;
}
body.admin-body .v47-registration-control .admin-panel-heading-line p{max-width:720px;font-size:12px;line-height:1.6}
body.admin-body .v47-registration-control .settings-all-actions{flex-shrink:0}
body.admin-body .v47-registration-control .settings-all-actions .small-action{
  font-size:12px!important;padding:8px 11px!important;min-height:34px!important;
}
body.admin-body .v47-sport-groups{gap:8px!important}
body.admin-body .v47-sport-group{
  position:relative;min-width:0;
  border-radius:13px;border:1px solid #dbe6e9;
  overflow:hidden;background:#fbfdff;
}
body.admin-body .v47-sport-group .settings-sport-group{
  border:0!important;border-radius:0!important;overflow:visible!important;background:transparent!important;
}
body.admin-body .v47-sport-group .settings-sport-group>summary{
  min-height:61px!important;
  padding:10px 140px 10px 15px!important;
  display:flex!important;align-items:center!important;justify-content:space-between!important;
  background:linear-gradient(100deg,#f7fafc,#f3f8f5)!important;
}
body.admin-body .v47-sport-group .settings-sport-group[open]>summary{border-bottom:1px solid #e4ebed}
body.admin-body .v47-group-title{display:flex;flex-direction:column;gap:2px;min-width:0}
body.admin-body .v47-group-title strong{display:block!important;color:#1f344c!important;font-size:14px!important;font-weight:800!important;line-height:1.35}
body.admin-body .v47-group-title small{display:block;color:#667a8c;font-size:11px;font-weight:650}
body.admin-body .v47-group-chevron{position:absolute;right:111px;top:18px;color:#608273;font-size:19px;transition:transform .18s;pointer-events:none}
body.admin-body .settings-sport-group[open] .v47-group-chevron{transform:rotate(180deg)}
body.admin-body .v47-group-toggle{
  position:absolute;top:0;right:0;z-index:2;min-height:61px;
  display:flex;align-items:center;justify-content:center;padding:0 13px;
  background:transparent!important;
}
body.admin-body .v47-switch-form{margin:0!important;flex:0 0 auto}
body.admin-body .v47-switch{
  position:relative;display:inline-flex;align-items:center;gap:8px;cursor:pointer;
  width:auto;min-height:38px;line-height:1;
}
body.admin-body .v47-switch input{
  position:absolute;inset:0;width:100%;height:100%;opacity:0;
  cursor:pointer;margin:0;z-index:3;
}
body.admin-body .v47-switch-track{
  width:46px;height:26px;background:#bbc6d0;border-radius:999px;
  position:relative;box-shadow:inset 0 1px 4px rgba(20,38,53,.14);
  transition:background-color .18s;flex-shrink:0;
}
body.admin-body .v47-switch-track::after{
  content:"";position:absolute;left:3px;top:3px;width:20px;height:20px;
  background:#fff;border-radius:50%;box-shadow:0 2px 5px rgba(18,33,45,.24);
  transition:transform .18s;
}
body.admin-body .v47-switch input:checked + .v47-switch-track{background:#148c5b}
body.admin-body .v47-switch input:checked + .v47-switch-track::after{transform:translateX(20px)}
body.admin-body .v47-switch input:focus-visible + .v47-switch-track{
  outline:3px solid #3972bb;outline-offset:3px;
}
body.admin-body .v47-switch-state{
  font-size:11px!important;font-weight:800!important;color:#5d6c7c!important;
  width:22px;display:inline-block!important;margin:0!important;
}
body.admin-body .v47-switch input:checked ~ .v47-switch-state{color:#116a49!important}
body.admin-body .v47-sport-row{
  padding:9px 14px!important;min-height:55px!important;gap:9px!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  border-top:1px solid #e8edef;background:#fff;
}
body.admin-body .v47-sport-description{min-width:0;display:flex;flex-direction:column;gap:3px}
body.admin-body .v47-sport-description strong{font-size:12.5px!important;line-height:1.4!important;color:#283d4c!important;margin:0!important}
body.admin-body .v47-sport-description small{font-size:10.5px;color:#82909d}
body.admin-body .v47-setting-location-note{
  margin:0 0 14px;color:#53697b;font-size:12px;line-height:1.6;
}
body.admin-body .v47-setting-location-note a{color:#126b52;font-weight:800}
@media(max-width:720px){
  body.admin-body .v47-registration-control{padding:14px!important}
  body.admin-body .v47-registration-control .admin-panel-heading-line{display:flex;flex-direction:column;align-items:stretch}
  body.admin-body .v47-registration-control .settings-all-actions{justify-content:flex-start}
  body.admin-body .v47-sport-group .settings-sport-group>summary{padding:10px 118px 10px 11px!important}
  body.admin-body .v47-group-chevron{right:99px;top:18px}
  body.admin-body .v47-group-toggle{padding:0 8px}
  body.admin-body .v47-switch-track{width:42px;height:24px}
  body.admin-body .v47-switch-track::after{height:18px;width:18px}
  body.admin-body .v47-switch input:checked + .v47-switch-track::after{transform:translateX(18px)}
  body.admin-body .v47-sport-row{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important}
}

/* Admin sports directory: smaller accordion headers without changing sport data. */
body.admin-body .admin-sport-groups{gap:9px!important}
body.admin-body .admin-sport-group{border-radius:13px!important}
body.admin-body .admin-sport-group>summary{
  min-height:66px!important;padding:9px 13px!important;
}
body.admin-body .admin-sport-group .sport-group-title{gap:11px!important}
body.admin-body .admin-sport-group .sport-group-icon{
  width:43px!important;height:43px!important;flex-basis:43px!important;
}
body.admin-body .admin-sport-group .sport-group-icon-image{
  width:43px!important;height:43px!important;
}
body.admin-body .admin-sport-group .sport-group-title strong{
  font-size:14px!important;line-height:1.4!important;
}
body.admin-body .admin-sport-group .sport-group-title span{font-size:11px!important}
body.admin-body .admin-sport-group .sport-manage-row{padding:10px 13px!important}
body.admin-body .admin-sport-group .sport-group-toolbar{padding:8px 12px!important}
body.admin-body .admin-sport-group .sport-group-chevron{font-size:18px!important}

/* Date belongs to timeline; refresh belongs to Live Scores */
body.admin-body .v47-date-form,
body.admin-body .v47-refresh-form{
  display:flex;align-items:end;gap:10px;flex-wrap:wrap;
}
body.admin-body .v47-date-form label,
body.admin-body .v47-refresh-form label{
  font-size:12px;font-weight:800;color:#304758;min-width:0;
}
body.admin-body .v47-date-form input{max-width:300px}
body.admin-body .v47-refresh-form input{max-width:110px}
body.admin-body .v47-date-form .btn,
body.admin-body .v47-refresh-form .btn{min-height:42px;padding:9px 14px!important}
body.admin-body .v47-refresh-details{
  margin:12px 0 14px;background:#f6f9fa;border:1px solid #dce5e9;
  border-radius:12px;padding:11px 13px;
}
body.admin-body .v47-refresh-details summary{
  cursor:pointer;color:#25465a;font-size:12px;font-weight:800;
}
body.admin-body .v47-refresh-details summary strong{
  padding:2px 9px;background:#e5f5ec;border-radius:999px;color:#08653f;
  margin-left:6px;white-space:nowrap;
}
body.admin-body .v47-refresh-form{margin-top:14px!important}

/* Live score: one compact control row + expandable optional remarks, admin AND committee. */
body.admin-body .admin-live-score-grid{gap:11px!important}
body.admin-body .admin-live-card{border-radius:14px!important}
body.admin-body .admin-live-card-head{padding:12px 13px 7px!important;gap:8px}
body.admin-body .admin-live-card-head strong{font-size:13px!important;margin-top:2px!important}
body.admin-body .admin-live-match-info{padding:0 13px 8px!important;gap:4px 10px;font-size:10px!important}
body.admin-body .admin-live-versus{
  padding:9px 13px!important;gap:8px!important;
  grid-template-columns:minmax(0,1fr) 22px minmax(0,1fr)!important;
}
body.admin-body .admin-live-versus strong{font-size:12px!important;line-height:1.5!important;overflow-wrap:anywhere}
body.admin-body .admin-live-score-form{
  padding:12px 13px!important;
  display:grid!important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr)!important;
  gap:10px!important;
  align-items:end!important;
}
body.admin-body .admin-live-score-pair{
  grid-column:1!important;grid-row:auto!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:8px!important;min-width:0;
}
body.admin-body .v47-score-status{grid-column:2!important;min-width:0}
body.admin-body .admin-live-score-form label{display:block;font-size:11px!important;line-height:1.35;margin:0 0 5px!important;font-weight:800}
body.admin-body .admin-live-score-form input,
body.admin-body .admin-live-score-form select{
  min-width:0!important;width:100%!important;height:42px!important;
  padding:6px 8px!important;border-radius:9px!important;
}
body.admin-body .admin-live-score-form input{font-size:19px!important}
body.admin-body .admin-live-score-form select{font-size:12px!important}
body.admin-body .v47-score-notes{
  grid-column:1/-1!important;min-width:0;margin:0!important;
  border:1px solid #e1e8ef;border-radius:10px;padding:8px 10px;
  background:#f9fbfd;
}
body.admin-body .v47-score-notes summary{
  cursor:pointer;color:#50667a;font-size:11px;font-weight:800;
}
body.admin-body .v47-score-notes textarea{
  width:100%!important;max-width:100%;min-height:55px!important;
  box-sizing:border-box;margin:8px 0 0!important;font-size:12px;
}
body.admin-body .admin-live-score-form > .btn{
  grid-column:1/-1!important;margin:0!important;
  min-height:40px!important;padding:8px 12px!important;font-size:12px!important;border-radius:10px!important;
}
@media(max-width:580px){
 body.admin-body .admin-live-score-form{grid-template-columns:1fr!important;gap:8px!important}
 body.admin-body .admin-live-score-pair{grid-column:1!important}
 body.admin-body .v47-score-status{grid-column:1!important}
 body.admin-body .v47-score-notes, body.admin-body .admin-live-score-form > .btn{grid-column:1!important}
 body.admin-body .v47-date-form{align-items:stretch}
 body.admin-body .v47-date-form input{max-width:100%}
}
