:root{--navy:#0d3564;--orange:#f56608;--green:#079447;--light:#f5f7fa;--text:#17202a;--line:#dce2e8}*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:#fff;line-height:1.55}.container{width:min(1180px,92%);margin:auto}.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.nav-wrap{display:flex;justify-content:space-between;align-items:center;min-height:110px}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--navy);font-weight:800}.brand img{width:94px;height:94px;object-fit:contain}.site-header nav{display:flex;gap:22px}.site-header nav a{text-decoration:none;color:var(--navy);font-weight:700}.hero{background:linear-gradient(135deg,#fff 0%,#f3f7fb 70%,#edf8f1 100%);padding:50px 0}.hero-grid{display:grid;grid-template-columns:1.35fr .65fr;gap:50px;align-items:center}h1{font-size:clamp(1.2rem,2.6vw,2.6rem);line-height:1.26;color:var(--navy);margin:.15em 0}h2{color:var(--navy);margin-top:22px}.lead{font-size:1.15rem;max-width:760px}.eyebrow{text-transform:uppercase;letter-spacing:.16em;color:var(--orange);font-weight:900}.event-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:28px 0}.event-facts div,.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:20px}.event-facts b,.event-facts span{display:block}.event-facts span{margin-top:6px}.logo-panel{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:24px;padding:28px;box-shadow:0 16px 45px #0d35641c}.logo-panel img{width:42%;max-height:210px;object-fit:contain}.logo-panel .divider{height:150px;width:1px;background:var(--line);margin:0 20px}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.btn{display:inline-block;border:0;border-radius:10px;background:var(--orange);color:#fff;padding:13px 20px;text-decoration:none;font-weight:800;cursor:pointer}.btn-outline{background:#fff;color:var(--navy);border:2px solid var(--navy)}.section{padding:55px 0}.narrow{max-width:1050px}.cards{display:grid;gap:18px}.cards.three{grid-template-columns:repeat(3,1fr)}.card h3{margin-top:0;color:var(--navy)}.stat{text-align:center}.stat b{display:block;font-size:2.5rem;color:var(--orange)}.stat span{font-weight:700}.site-footer{background:var(--navy);color:#fff;padding:30px 0}.footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.page-heading,.admin-top,.team-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.slot-badge{background:var(--green);color:#fff;padding:9px 14px;border-radius:30px;font-weight:800}.form-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px;box-shadow:0 10px 30px #0d356410}.form-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px}.form-grid.four{grid-template-columns:repeat(4,1fr)}label{display:block;font-weight:700;color:var(--navy)}input{width:100%;padding:11px;margin-top:6px;border:1px solid #cdd5dd;border-radius:8px;font:inherit}.player-row{border:1px solid var(--line);border-radius:12px;margin:14px 0;padding:15px}.player-row legend{color:var(--orange);font-weight:900}.check{margin:20px 0;color:var(--text)}.check input{width:auto;margin-right:8px}.alert{padding:14px 18px;border-radius:10px;margin:15px 0}.alert.error{background:#fff0f0;color:#9d1b1b}.alert.success{background:#eaf9ef;color:#116c35}.team-grid,.people-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.team-card{display:flex;gap:15px;align-items:center;padding:18px;border:1px solid var(--line);border-radius:16px;text-decoration:none;color:inherit}.team-card h3{margin:0;color:var(--navy)}.team-card p{margin:3px 0}.team-logo{width:80px;height:80px;border-radius:14px;background:var(--light);display:grid;place-items:center;overflow:hidden;flex:0 0 auto}.team-logo.large{width:135px;height:135px}.team-logo img{width:100%;height:100%;object-fit:contain}.person-card{text-align:center;border:1px solid var(--line);border-radius:10px;padding:7px}.person-card img,.photo-placeholder{width:50%;aspect-ratio:1/1;object-fit:cover;border-radius:8px;background:var(--light);display:grid;place-items:center;font-size:1rem;color:var(--navy);margin:0 auto}.person-card h3{font-size:.82rem;color:var(--navy);margin:6px 0 2px}.person-card p{margin:0;font-size:.72rem}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:12px}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:13px;border-bottom:1px solid var(--line)}th{background:var(--navy);color:#fff}.danger-link{color:#b00020}.login-wrap{min-height:65vh;display:grid;place-items:center}.login-card{width:min(430px,100%)}.empty{padding:30px;background:var(--light);border-radius:14px}@media(max-width:850px){.hero-grid{grid-template-columns:1fr}.logo-panel{order:-1}.event-facts,.cards.three,.team-grid,.people-grid{grid-template-columns:repeat(2,1fr)}.form-grid,.form-grid.four{grid-template-columns:repeat(2,1fr)}.site-header nav{display:none}}@media(max-width:520px){.event-facts,.cards.three,.team-grid,.people-grid,.form-grid,.form-grid.four,.footer-grid{grid-template-columns:1fr}.hero{padding:40px 0}.page-heading,.admin-top,.team-head{align-items:flex-start;flex-direction:column}.logo-panel img{width:44%}}
select{width:100%;padding:11px;margin-top:6px;border:1px solid #cdd5dd;border-radius:8px;background:#fff;font:inherit}.knockout-note{background:#eef5fb;border-left:5px solid var(--orange);padding:16px 18px;border-radius:10px;margin:22px 0}.schedule-date{margin-top:34px}.schedule-table td:nth-child(4){min-width:330px}.vs{display:inline-block;margin:0 12px;color:var(--orange);font-weight:900}.status-badge{display:inline-block;background:#eef2f6;padding:5px 9px;border-radius:20px;font-size:.85rem;font-weight:800}.status-badge.done{background:#e4f7eb;color:#116c35}.results-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.result-card{border:1px solid var(--line);border-radius:16px;padding:20px;background:#fff}.result-meta{font-size:.9rem;color:#667;margin-bottom:12px}.score-line{display:flex;justify-content:space-between;gap:20px;padding:10px 0;border-bottom:1px solid var(--line);font-size:1.08rem}.score-line b{font-size:1.4rem;color:var(--navy)}.score-line.winner span{font-weight:900}.score-line.winner b{color:var(--orange)}.result-notes{margin-bottom:0;color:#667}.score-form{display:grid;grid-template-columns:1fr auto 1fr;align-items:end;gap:18px;margin:25px 0}.score-form span{font-size:2rem;font-weight:900;padding-bottom:6px}.score-form input{text-align:center;font-size:1.5rem;font-weight:900}@media(max-width:700px){.results-grid{grid-template-columns:1fr}.score-form{grid-template-columns:1fr}.score-form span{display:none}}

textarea{width:100%;padding:11px;margin-top:6px;border:1px solid #cdd5dd;border-radius:8px;font:inherit;resize:vertical}.regulations-section{padding-top:10px}.regulations-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;padding-left:1.6rem}.regulations-list li{background:#fff;border:1px solid var(--line);border-left:4px solid var(--orange);border-radius:12px;padding:15px 16px 15px 18px}.regulations-list li::marker{font-weight:900;color:var(--navy)}.regulation-editor{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-bottom:22px}@media(max-width:700px){.regulations-list,.regulation-editor{grid-template-columns:1fr}}
.gallery-date-block{margin-top:34px}.gallery-date-heading{display:flex;justify-content:space-between;align-items:center;gap:15px;border-bottom:2px solid var(--line);margin-bottom:18px}.gallery-date-heading h2{margin:0 0 10px}.gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.gallery-card{margin:0;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.gallery-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .2s ease}.gallery-card a:hover img{transform:scale(1.03)}.gallery-card figcaption{padding:11px 13px;color:#52606d;font-size:.92rem}.help-text{color:#667}.admin-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.admin-gallery-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff}.admin-gallery-card>img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}.admin-gallery-info{padding:12px;display:grid;gap:5px}.admin-gallery-info span{color:#667;font-size:.9rem}.delete-button{background:none;border:0;padding:0;cursor:pointer;font:inherit;font-weight:700}.gallery-upload-form{margin-bottom:30px}@media(max-width:900px){.gallery-grid,.admin-gallery-grid{grid-template-columns:repeat(3,1fr)}}@media(max-width:650px){.gallery-grid,.admin-gallery-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:420px){.gallery-grid,.admin-gallery-grid{grid-template-columns:1fr}}

.hero-highlight{color:#c00000;font-weight:800}


/* Multi-event Event Maker additions */
:root{--navy:#0b2f58;--orange:#ef6c18;--blue:#144f87;--soft:#f4f7fa;--muted:#667085}
body{background:#fff}.nav-wrap{min-height:82px}.brand img{width:62px;height:62px}.brand span{display:flex;flex-direction:column;line-height:1.1}.brand span small{font-size:.68rem;font-weight:600;color:#657487;margin-top:4px}.top-nav{align-items:center}.top-nav a{font-size:.88rem}.nav-toggle{display:none;border:0;background:transparent;font-size:1.5rem;color:var(--navy)}
.events-hero{background:linear-gradient(125deg,#08294d,#124f87);color:#fff;padding:58px 0}.events-hero h1{color:#fff;margin:.15em 0;font-size:clamp(2rem,4vw,3.4rem)}.events-hero p{max-width:740px;font-size:1.08rem}.event-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.event-card{border:1px solid var(--line);border-radius:18px;overflow:hidden;text-decoration:none;color:inherit;background:#fff;box-shadow:0 8px 26px rgba(11,47,88,.07);transition:.2s}.event-card:hover{transform:translateY(-3px);box-shadow:0 15px 38px rgba(11,47,88,.13)}.event-card-media{height:190px;background:#eef3f7;position:relative}.event-card-media img{width:100%;height:100%;object-fit:cover}.event-card-placeholder{height:100%;display:grid;place-items:center;font-size:4rem}.event-status{display:inline-block;border-radius:30px;padding:5px 10px;font-size:.72rem;font-weight:900;text-transform:uppercase;letter-spacing:.06em;background:#eef2f6;color:#495568}.event-card-media .event-status{position:absolute;top:13px;left:13px;background:#fff}.event-status.ongoing{background:#e6f8ed;color:#08783b}.event-status.upcoming{background:#e9f2ff;color:#155ba6}.event-status.completed{background:#f0f1f3;color:#5f6772}.event-status.draft{background:#fff3dc;color:#8a5800}.event-card-body{padding:20px}.event-card-body small{font-weight:800;color:var(--orange)}.event-card-body h3{font-size:1.25rem;color:var(--navy);margin:.35em 0}.event-card-body p{color:var(--muted)}.text-link{color:var(--blue);font-weight:800}
.event-hero{background:linear-gradient(130deg,#fff,#eef4f8);padding:42px 0}.event-hero-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:35px;align-items:center}.event-hero h1{font-size:clamp(1.8rem,2.4vw,3rem)}.event-visual{height:300px;border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 15px 35px rgba(11,47,88,.12);display:grid;place-items:center;padding:18px}.event-visual>img{width:80%;height:80%;object-fit:contain}.event-visual>img.cover{object-fit:cover}.event-default-logos{display:flex;align-items:center;justify-content:center;gap:25px}.event-default-logos img{max-width:42%;max-height:190px;object-fit:contain}.event-subnav{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line);position:sticky;top:82px;z-index:15;overflow:auto}.event-subnav .container{display:flex;gap:26px;white-space:nowrap}.event-subnav a{padding:13px 0;text-decoration:none;color:var(--navy);font-weight:800;font-size:.88rem;border-bottom:3px solid transparent}.event-subnav a.active,.event-subnav a:hover{border-color:var(--orange)}.detail-grid{display:grid;grid-template-columns:1.6fr .7fr;gap:45px}.richtext{line-height:1.85}.side-card{background:var(--soft);border-radius:18px;padding:24px}.side-card h3{color:var(--navy);margin-top:0}.side-card dl{margin:0}.side-card dt{font-size:.72rem;text-transform:uppercase;color:var(--muted);font-weight:900;margin-top:13px}.side-card dd{margin:2px 0 0;font-weight:700}.soft{background:var(--soft)}
.admin-event-tabs{display:flex;gap:4px;overflow:auto;border-bottom:1px solid var(--line);margin:18px 0 26px;padding-bottom:0;white-space:nowrap}.admin-event-tabs a{text-decoration:none;color:var(--muted);font-weight:800;padding:11px 13px;border-bottom:3px solid transparent}.admin-event-tabs a.active,.admin-event-tabs a:hover{color:var(--navy);border-color:var(--orange)}.admin-event-list{display:grid;gap:15px}.admin-event-row{display:flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff}.admin-event-thumb{width:92px;height:72px;background:var(--soft);border-radius:12px;display:grid;place-items:center;overflow:hidden;font-size:2rem;flex:0 0 auto}.admin-event-thumb img{width:100%;height:100%;object-fit:contain}.admin-event-row h2{font-size:1.22rem;margin:.25em 0}.admin-event-row p{margin:0;color:var(--muted)}.grow{flex:1}.inline-form{display:inline}.inline-form button{background:none;border:0;padding:0;font:inherit;cursor:pointer}.cards.four{grid-template-columns:repeat(4,1fr)}.cards.two{grid-template-columns:repeat(2,1fr)}.admin-callout{margin-top:25px;padding:22px;background:#eef5fb;border-left:4px solid var(--orange);border-radius:12px}.admin-callout h2{margin-top:0}.upload-progress{margin-top:12px;padding:10px 12px;background:#eef5fb;border-radius:8px;font-weight:700}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:24px}
@media(max-width:900px){.event-card-grid{grid-template-columns:repeat(2,1fr)}.event-hero-grid,.detail-grid{grid-template-columns:1fr}.event-visual{height:240px}.cards.four{grid-template-columns:repeat(2,1fr)}.nav-toggle{display:block}.top-nav{display:none!important;position:absolute;left:0;right:0;top:82px;background:#fff;padding:16px 4%;flex-direction:column;align-items:flex-start!important;border-bottom:1px solid var(--line);box-shadow:0 12px 25px rgba(0,0,0,.08)}.top-nav.open{display:flex!important}.site-header nav a{padding:5px 0}.event-subnav{top:82px}}
@media(max-width:600px){.event-card-grid,.cards.two,.cards.four{grid-template-columns:1fr}.admin-event-row{align-items:flex-start;flex-wrap:wrap}.admin-event-row .actions{width:100%}.event-facts{grid-template-columns:1fr}.event-subnav .container{gap:20px}.events-hero{padding:42px 0}}


/* Event Maker admin refinements */
.btn-danger{
  background:#b42318;
  color:#fff;
  border:2px solid #b42318;
}
.btn-danger:hover{
  background:#8f1c13;
  border-color:#8f1c13;
}
.event-footer-brand{
  line-height:1.45;
}
.event-footer-brand strong{
  font-size:1rem;
}
.event-footer-brand small{
  opacity:.82;
}


/* Force the event detail-page logo to fit completely inside its logo panel */
.event-visual{
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}

.event-visual > img:not(.cover){
  width:calc(100% - 56px) !important;
  height:calc(100% - 56px) !important;
  max-width:calc(100% - 56px) !important;
  max-height:calc(100% - 56px) !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
  margin:auto;
}

@media(max-width:900px){
  .event-visual > img:not(.cover){
    width:calc(100% - 42px) !important;
    height:calc(100% - 42px) !important;
    max-width:calc(100% - 42px) !important;
    max-height:calc(100% - 42px) !important;
  }
}


/* Strict event-card logo containment: the logo can never push into the event name area */
.event-card{
  display:flex;
  flex-direction:column;
}

.event-card-media{
  position:relative;
  height:210px !important;
  min-height:210px !important;
  max-height:210px !important;
  flex:0 0 210px;
  overflow:hidden !important;
  background:#eef3f7;
}

.event-card-logo-wrap{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  padding:30px 42px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  background:#eef3f7;
}

.event-card-logo-wrap .event-card-logo{
  width:74% !important;
  height:74% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block;
}

.event-card-media .event-status{
  z-index:3;
}

.event-card-body{
  position:relative;
  z-index:2;
  background:#fff;
  flex:1 0 auto;
}

@media(max-width:600px){
  .event-card-media{
    height:190px !important;
    min-height:190px !important;
    max-height:190px !important;
    flex-basis:190px;
  }

  .event-card-logo-wrap{
    padding:26px 34px;
  }
}


.field-help{
  display:block;
  margin-top:6px;
  color:#667085;
  font-size:.78rem;
  font-weight:400;
  line-height:1.35;
}

.registration-deadline{
  margin:.45rem 0 0;
  color:#667085;
}

@media(max-width:700px){
  .admin-event-row .actions > a,
  .admin-event-row .actions > form{
    width:calc(50% - 6px);
    flex:1 1 calc(50% - 6px);
  }
}


/* Team officials configuration */
.form-grid.three{grid-template-columns:repeat(3,1fr)}
@media(max-width:850px){.form-grid.three{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.form-grid.three{grid-template-columns:1fr}}


/* FBBA21: compact Event Maker row actions so event names have more room */
.admin-event-row{
  gap:14px;
}

.admin-event-row .grow{
  min-width:320px;
  flex:1 1 420px;
}

.admin-event-row .grow h2{
  font-size:1.12rem;
  line-height:1.28;
  margin:.25em 0;
}

.admin-event-row .event-admin-actions{
  display:flex !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:flex-end !important;
  flex:0 0 auto !important;
  margin-top:0 !important;
}

.admin-event-row .event-admin-actions > a,
.admin-event-row .event-admin-actions > form{
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
}

.admin-event-row .event-admin-actions > a.btn,
.admin-event-row .event-admin-actions > form > button.btn{
  width:92px !important;
  min-width:92px !important;
  max-width:92px !important;
  height:42px !important;
  min-height:42px !important;
  max-height:42px !important;
  margin:0 !important;
  padding:0 7px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  box-sizing:border-box !important;
  text-align:center !important;
  white-space:normal !important;
  line-height:1.05 !important;
  font-size:.76rem !important;
  border-radius:9px !important;
}

@media(max-width:1150px){
  .admin-event-row{
    flex-wrap:wrap;
  }
  .admin-event-row .grow{
    min-width:260px;
  }
  .admin-event-row .event-admin-actions{
    width:100%;
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
  }
}

@media(max-width:600px){
  .admin-event-row .grow{
    min-width:0;
    width:calc(100% - 115px);
  }
  .admin-event-row .event-admin-actions{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .admin-event-row .event-admin-actions > a,
  .admin-event-row .event-admin-actions > form,
  .admin-event-row .event-admin-actions > a.btn,
  .admin-event-row .event-admin-actions > form > button.btn{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}


/* FBBA25: keep Events footer social links in one horizontal row */
.site-footer .event-social-links{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:22px !important;
  flex-wrap:nowrap !important;
}

.site-footer .event-social-link{
  display:inline-flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:8px !important;
  color:#fff !important;
  text-decoration:none !important;
  font-size:.9rem !important;
  font-weight:800 !important;
  white-space:nowrap !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}

.site-footer .event-social-link,
.site-footer .event-social-link:visited,
.site-footer .event-social-link:hover,
.site-footer .event-social-link span{
  color:#fff !important;
}

.site-footer .event-social-link img{
  width:38px !important;
  height:38px !important;
  max-width:90px !important;
  max-height:90px !important;
  object-fit:contain !important;
  display:block !important;
  flex:0 0 38px !important;
}

.site-footer .event-social-link:hover{
  opacity:.82;
}

/* On smaller screens keep a single row; shrink text/icons slightly instead of stacking */
@media(max-width:700px){
  .site-footer .event-social-links{
    justify-content:center !important;
    gap:12px !important;
    width:100%;
  }

  .site-footer .event-social-link{
    gap:5px !important;
    font-size:.72rem !important;
  }

  .site-footer .event-social-link img{
    width:30px !important;
    height:30px !important;
    flex-basis:30px !important;
  }
}

@media(max-width:480px){
  .site-footer .event-social-link span{
    display:none;
  }

  .site-footer .event-social-links{
    gap:22px !important;
  }

  .site-footer .event-social-link img{
    width:34px !important;
    height:34px !important;
    flex-basis:34px !important;
  }
}


/* FBBA27: force event footer social items into a single row */
.site-footer .event-social-links{display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;gap:18px !important;flex-wrap:nowrap !important;white-space:nowrap !important;overflow-x:auto !important;overflow-y:hidden !important;}
.site-footer .event-social-link{display:inline-flex !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;gap:8px !important;white-space:nowrap !important;flex:0 0 auto !important;}
.site-footer .event-social-link span{display:inline !important;white-space:nowrap !important;}
@media(max-width:520px){.site-footer .event-social-links{gap:14px !important}.site-footer .event-social-link img{width:32px !important;height:32px !important;flex-basis:32px !important}.site-footer .event-social-link span{font-size:.82rem !important}}


/* FBBA29: Super Admin deleted-event recovery */
.deleted-events-section{
  margin-top:46px;
  padding-top:32px;
  border-top:3px solid #d8dee7;
}
.deleted-events-section .section-heading p{
  color:var(--muted);
  max-width:760px;
}
.deleted-event-row{
  background:#fff8f7;
  border-color:#efc0ba;
}
.event-status.deleted{
  background:#fde7e4;
  color:#a92f22;
}
.deleted-event-actions{
  grid-template-columns:repeat(2,92px) !important;
}
@media(max-width:600px){
  .deleted-event-actions{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}


/* FBBA30: gender and age competition categories */
.category-admin-grid{
  display:grid;
  grid-template-columns:minmax(300px,.8fr) minmax(420px,1.5fr);
  gap:22px;
  align-items:start;
}
.category-form{
  display:grid;
  gap:15px;
}
.category-list{
  display:grid;
  gap:12px;
}
.category-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px 16px;
}
.category-row>div:first-child{
  display:grid;
  gap:4px;
}
.category-row.inactive{
  opacity:.62;
  background:#f7f7f7;
}
.category-badge{
  display:inline-block;
  width:max-content;
  background:#e9f2ff;
  color:#155ba6;
  border-radius:999px;
  padding:5px 10px;
  font-size:.76rem;
  font-weight:900;
  letter-spacing:.03em;
}
.registration-category-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin:18px 0 24px;
}
.category-summary-card{
  border:1px solid var(--line);
  border-left:4px solid var(--orange);
  border-radius:12px;
  padding:12px 14px;
  background:#fff;
  display:grid;
  gap:4px;
}
.category-summary-card strong{color:var(--navy)}
.category-summary-card span{font-size:.86rem;color:var(--muted)}
.category-team-section,
.schedule-category-block,
.results-category-block{
  margin-top:32px;
}
.category-section-title{
  display:inline-block;
  border-bottom:3px solid var(--orange);
  padding-bottom:6px;
  margin-bottom:18px;
}
.side-card dd small{
  color:var(--muted);
  font-weight:400;
}
@media(max-width:850px){
  .category-admin-grid{grid-template-columns:1fr}
  .registration-category-summary{grid-template-columns:1fr}
}
@media(max-width:600px){
  .category-row{align-items:flex-start;flex-direction:column}
}


/* FBBA31: standalone gender/age event divisions */
.division-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:#eef5fb;
  border-left:5px solid var(--orange);
  border-radius:12px;
  padding:14px 18px;
  margin:16px 0 24px;
}

.division-banner strong{
  color:var(--navy);
  font-size:1.05rem;
}

.division-banner span{
  color:var(--muted);
  font-size:.88rem;
}

.admin-division-banner{margin-top:0}

.registration-division-note{
  color:var(--navy);
  font-weight:700;
  margin:.3rem 0;
}

@media(max-width:650px){
  .division-banner{
    align-items:flex-start;
    flex-direction:column;
    gap:5px;
  }
}


/* FBBA32: one parent event with separate competition divisions */
.division-editor{
  display:grid;
  gap:12px;
  margin:14px 0;
}

.division-editor-row{
  display:grid;
  grid-template-columns:1fr 1fr 1.35fr .65fr auto auto;
  gap:10px;
  align-items:end;
  border:1px solid var(--line);
  border-radius:14px;
  padding:14px;
  background:#fafbfd;
}

.division-editor-row label{
  margin:0;
}

.division-active-check{
  min-height:44px;
  display:flex;
  align-items:center;
  gap:7px;
  margin:0 !important;
}

.division-active-check input{
  width:auto;
  margin:0;
}

.division-remove{
  height:44px;
  white-space:nowrap;
}

.division-example{
  margin:14px 0 26px;
  padding:12px 14px;
  border-left:4px solid var(--orange);
  background:#fff8ee;
  border-radius:8px;
  color:#5d4b36;
}

.division-selection,
.division-dashboard-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:22px;
}

.division-choice-card,
.division-dashboard-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:20px;
  box-shadow:0 8px 24px rgba(11,47,88,.06);
}

.division-dashboard-card.inactive{
  opacity:.65;
}

.division-gender{
  display:inline-block;
  background:#e9f2ff;
  color:#155ba6;
  border-radius:999px;
  padding:5px 10px;
  font-size:.72rem;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.division-choice-card h3,
.division-dashboard-card h2,
.division-dashboard-card h3{
  margin:.45rem 0 .25rem;
  color:var(--navy);
}

.division-choice-card p,
.division-dashboard-card p{
  color:var(--muted);
}

.division-inactive{
  display:block;
  color:#9a3412;
  font-weight:800;
  font-size:.8rem;
  margin-bottom:10px;
}

.division-mini-stats{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  padding:12px 0;
  margin:12px 0;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.division-mini-stats span{
  font-size:.82rem;
  color:var(--muted);
}

.division-mini-stats b{
  color:var(--navy);
  font-size:1.1rem;
}

.division-card-actions,
.division-public-actions{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}

.division-card-actions a{
  display:inline-block;
  padding:7px 10px;
  border-radius:8px;
  background:#f0f5fa;
  color:var(--navy);
  text-decoration:none;
  font-weight:800;
  font-size:.82rem;
}

.division-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin:10px 0 22px;
  padding:16px 18px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#f8fafc;
}

.division-toolbar h2{
  margin:.35rem 0 .15rem;
}

.division-toolbar p{
  margin:0;
  color:var(--muted);
}

.division-banner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  background:#eef5fb;
  border-left:5px solid var(--orange);
  border-radius:12px;
  padding:14px 18px;
  margin:16px 0 24px;
}

.division-banner strong{
  color:var(--navy);
  font-size:1.05rem;
}

.division-banner span{
  color:var(--muted);
  font-size:.88rem;
}

.registration-division-note{
  color:var(--navy);
  font-weight:700;
  margin:.3rem 0;
}

@media(max-width:980px){
  .division-editor-row{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:700px){
  .division-selection,
  .division-dashboard-grid{
    grid-template-columns:1fr;
  }

  .division-toolbar,
  .division-banner{
    align-items:flex-start;
    flex-direction:column;
  }
}

@media(max-width:520px){
  .division-editor-row{
    grid-template-columns:1fr;
  }
}


/* FBBA33: competition settings are specific to each division */
.division-settings-card{
  display:block !important;
  padding:18px !important;
}

.division-card-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-bottom:13px;
  margin-bottom:14px;
  border-bottom:1px solid var(--line);
}

.division-card-heading>div{
  display:grid;
  gap:3px;
}

.division-card-kicker{
  color:var(--orange);
  text-transform:uppercase;
  letter-spacing:.08em;
  font-size:.68rem;
  font-weight:900;
}

.division-card-title{
  color:var(--navy);
  font-size:1.15rem;
}

.division-identity-grid{
  display:grid;
  grid-template-columns:1fr 1fr 1.35fr .65fr;
  gap:12px;
  align-items:start;
}

.division-competition-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.division-settings-card h3{
  margin:20px 0 8px;
  color:var(--navy);
  font-size:1rem;
}

.division-switches{
  display:flex;
  gap:20px;
  flex-wrap:wrap;
  margin-top:8px;
}

.division-switches .check{
  margin:7px 0 0;
}

.division-settings-summary{
  display:block;
  margin:7px 0 10px;
  color:#52606d;
  font-size:.8rem;
  line-height:1.45;
  font-weight:700;
}

@media(max-width:900px){
  .division-identity-grid,
  .division-competition-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:560px){
  .division-card-heading{
    align-items:flex-start;
    flex-direction:column;
  }

  .division-identity-grid,
  .division-competition-grid{
    grid-template-columns:1fr;
  }

  .division-switches{
    flex-direction:column;
    gap:2px;
  }
}


/* FBBA34: show competition divisions in the first event-page view */
.event-hero-with-divisions{
  padding:28px 0 24px !important;
}

.event-hero-with-divisions .event-hero-grid{
  grid-template-columns:1.3fr .7fr;
  gap:28px;
  align-items:center;
}

.event-hero-with-divisions .compact-event-visual{
  height:220px;
}

.event-hero-with-divisions .compact-event-facts{
  margin:18px 0 0;
}

.event-first-view-divisions{
  margin-top:24px;
  padding-top:20px;
  border-top:1px solid rgba(13,53,100,.12);
}

.first-view-division-heading{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:14px;
}

.first-view-division-heading h2{
  margin:.15rem 0 0;
  font-size:clamp(1.35rem,2vw,1.85rem);
}

.first-view-division-heading p{
  margin:0;
  max-width:560px;
  color:var(--muted);
  font-size:.9rem;
}

.first-view-division-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}

.first-view-division-card{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:16px;
  align-items:center;
  background:#fff;
  border:1px solid var(--line);
  border-radius:15px;
  padding:15px 16px;
  box-shadow:0 7px 20px rgba(11,47,88,.06);
}

.first-view-division-copy h3{
  margin:0 0 4px;
  color:var(--navy);
  font-size:1.14rem;
}

.first-view-division-copy p{
  margin:3px 0 5px;
  color:var(--muted);
  font-size:.82rem;
}

.first-view-division-card .division-settings-summary{
  margin:3px 0 6px;
  font-size:.73rem;
  line-height:1.35;
}

.first-view-division-stats{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  font-size:.76rem;
  color:var(--muted);
}

.first-view-division-stats b{
  color:var(--navy);
  font-size:.95rem;
}

.first-view-division-actions{
  display:grid;
  grid-template-columns:repeat(2,110px);
  gap:7px;
}

.first-view-division-actions .btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:8px 10px;
  font-size:.78rem;
  text-align:center;
  white-space:nowrap;
}

/* The separate Men/Women badge is intentionally hidden on public division views. */
.public-division-grid .division-gender,
.division-selection .division-gender{
  display:none !important;
}

@media(max-width:1000px){
  .first-view-division-card{
    grid-template-columns:1fr;
  }

  .first-view-division-actions{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}

@media(max-width:900px){
  .event-hero-with-divisions .event-hero-grid{
    grid-template-columns:1fr;
  }

  .event-hero-with-divisions .compact-event-visual{
    height:190px;
    order:-1;
  }

  .first-view-division-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
}

@media(max-width:700px){
  .first-view-division-grid{
    grid-template-columns:1fr;
  }

  .first-view-division-actions{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:430px){
  .first-view-division-actions{
    grid-template-columns:1fr 1fr;
  }

  .first-view-division-actions .btn{
    white-space:normal;
  }
}


/* FBBA35: parallel public competition divisions below the Overview/Divisions/Gallery bar */
.competition-divisions-top{
  background:var(--soft);
  padding:30px 0 34px;
  scroll-margin-top:145px;
}

.competition-divisions-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:28px;
  margin-bottom:18px;
}

.competition-divisions-heading h2{
  margin:.15rem 0 0;
  font-size:clamp(1.35rem,2vw,1.9rem);
}

.competition-divisions-heading p{
  margin:0;
  max-width:570px;
  color:var(--muted);
  font-size:.9rem;
}

.competition-divisions-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch;
}

.competition-division-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:17px;
  padding:20px;
  box-shadow:0 8px 24px rgba(11,47,88,.06);
  min-width:0;
}

.competition-division-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:1.35rem;
}

.division-age-rule{
  margin:0 0 10px;
  color:var(--muted);
  font-size:.85rem;
}

.registration-status,
.division-registration-status{
  display:inline-block;
  margin:0 0 12px;
  padding:5px 10px;
  border-radius:999px;
  font-size:.76rem;
  line-height:1.2;
  font-weight:900;
}

.registration-status.open,
.division-registration-status.open{
  background:#e5f7ec;
  color:#08783b;
}

.registration-status.closed,
.division-registration-status.closed{
  background:#fde9e7;
  color:#a92f22;
}

.competition-division-stats{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
  padding:11px 0 13px;
  margin-bottom:14px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font-size:.82rem;
}

.competition-division-stats b{
  color:var(--navy);
  font-size:1.05rem;
}

.competition-division-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
}

.competition-division-actions .btn{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 12px;
  text-align:center;
  font-size:.84rem;
  white-space:nowrap;
}

/* Hide the older public layout if cached CSS/classes remain in a page fragment. */
.first-view-division-grid,
.public-division-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}

/* Public selector pages should also use two columns when possible. */
.division-selection{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

@media(max-width:800px){
  .competition-divisions-heading{
    align-items:flex-start;
    flex-direction:column;
    gap:7px;
  }

  .competition-divisions-grid,
  .division-selection{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:430px){
  .competition-division-actions{
    grid-template-columns:1fr 1fr;
  }

  .competition-division-actions .btn{
    white-space:normal;
  }
}


/* FBBA36: division cards start immediately below Overview / Divisions / Gallery */
.competition-divisions-top{
  padding-top:18px !important;
}
.competition-divisions-grid{
  margin-top:0 !important;
}


/* FBBA37: one-line team count + registration status */
.competition-division-summary-line{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding:8px 0 14px;
  margin-bottom:14px;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
  color:var(--navy);
  font-size:1.02rem;
  line-height:1.3;
}

.competition-division-summary-line .summary-count{
  color:var(--navy);
}

.competition-division-summary-line .summary-count b{
  font-size:1.05em;
  font-weight:900;
}

.competition-division-summary-line .summary-status{
  font-weight:800;
  font-size:.96rem;
}

.competition-division-summary-line .summary-status.open{
  color:#08783b;
}

.competition-division-summary-line .summary-status.closed{
  color:#a92f22;
}


/* FBBA38: keep Men/Women division cards parallel with compact one-row actions */
.competition-divisions-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:28px !important;
  align-items:start !important;
}

.competition-division-card{
  min-width:0 !important;
  width:100% !important;
  padding:18px !important;
}

.competition-division-card h3{
  font-size:1.15rem !important;
  margin:0 0 14px !important;
}

.competition-division-summary-line{
  display:flex !important;
  align-items:baseline !important;
  gap:6px !important;
  flex-wrap:nowrap !important;
  white-space:nowrap !important;
  padding:7px 0 12px !important;
  margin-bottom:10px !important;
  font-size:.87rem !important;
}

.competition-division-summary-line .summary-count,
.competition-division-summary-line .summary-status{
  white-space:nowrap !important;
}

.competition-division-summary-line .summary-count b{
  font-size:1em !important;
}

.competition-division-summary-line .summary-status{
  font-size:.86rem !important;
  font-weight:500 !important;
  color:var(--text) !important;
}

.competition-division-actions{
  display:grid !important;
  grid-template-columns:1.35fr .92fr 1.12fr .96fr !important;
  gap:6px !important;
  width:100% !important;
}

.competition-division-actions .btn{
  min-width:0 !important;
  width:100% !important;
  min-height:40px !important;
  padding:8px 7px !important;
  font-size:.75rem !important;
  line-height:1.1 !important;
  white-space:nowrap !important;
  border-radius:9px !important;
}

/* Override the earlier FBBA35 breakpoint that stacked the two divisions too early. */
@media(max-width:800px){
  .competition-divisions-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Only stack the divisions on genuinely small phone screens. */
@media(max-width:520px){
  .competition-divisions-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .competition-division-actions{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  .competition-division-summary-line{
    flex-wrap:wrap !important;
    white-space:normal !important;
  }

  .competition-division-summary-line .summary-count,
  .competition-division-summary-line .summary-status{
    white-space:normal !important;
  }
}


/* FBBA39: event details shown in 2-column grid instead of one long column */
.event-details-card{
  padding:28px !important;
}
.event-details-card h3{
  margin:0 0 18px;
  color:var(--navy);
  font-size:clamp(1.65rem,2vw,2.15rem);
}
.event-details-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:26px 34px;
}
.event-detail-item{
  min-width:0;
}
.event-detail-label{
  margin:0 0 8px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.03em;
  font-weight:900;
  font-size:1rem;
}
.event-detail-value{
  color:var(--text);
  font-weight:800;
  font-size:1.1rem;
  line-height:1.3;
  word-break:break-word;
}
@media(max-width:760px){
  .event-details-grid{
    grid-template-columns:1fr;
    gap:20px;
  }
}


/* FBBA40: make Event Details compact in 2 rows on desktop */
.event-details-grid{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:24px 28px !important;
}

@media(max-width:1100px){
  .event-details-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  .event-details-grid{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }
}


/* FBBA41: compact Event Details in one long horizontal strip */
.event-subnav a{
  font-size:.78rem !important;
  padding:10px 0 !important;
}

.event-details-strip{
  background:#f4f7fa;
  border-bottom:1px solid var(--line);
}

.event-details-strip-inner{
  display:flex;
  align-items:center;
  gap:0;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
  scrollbar-width:thin;
}

.event-detail-inline{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:10px 16px;
  border-right:1px solid #dce2e8;
  flex:0 0 auto;
  min-width:0;
}

.event-detail-inline:first-child{
  padding-left:0;
}

.event-detail-inline:last-child{
  border-right:0;
  padding-right:0;
}

.event-detail-inline-label{
  color:var(--muted);
  font-size:.65rem;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.event-detail-inline strong{
  color:var(--navy);
  font-size:.78rem;
  line-height:1.2;
}

.event-information-wide{
  max-width:100%;
}

@media(max-width:700px){
  .event-details-strip-inner{
    padding-bottom:3px;
  }

  .event-detail-inline{
    padding:9px 12px;
  }

  .event-detail-inline:first-child{
    padding-left:0;
  }

  .event-detail-inline-label{
    font-size:.62rem;
  }

  .event-detail-inline strong{
    font-size:.74rem;
  }
}


/* FBBA42: responsive two-row Event Details band */
.event-details-table-wrap{
  background:#fff !important;
  border-bottom:1px solid var(--line);
  padding:12px 0 16px;
}

.event-details-table{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px 0;
  width:100%;
}

.event-detail-cell{
  min-width:0;
  text-align:center;
  background:#fff;
}

.event-detail-cell-label{
  background:#e1e1e1;
  color:#24324a;
  padding:6px 10px;
  font-size:.78rem;
  line-height:1.15;
  font-weight:700;
  text-transform:none;
}

.event-detail-cell-value{
  min-height:42px;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:7px 12px 2px;
  color:var(--navy);
  font-size:.88rem;
  line-height:1.25;
  font-weight:800;
  overflow-wrap:anywhere;
}

/* Keep the three-column / two-row layout while enough horizontal room exists. */
@media(max-width:920px){
  .event-details-table{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:600px){
  .event-details-table{
    grid-template-columns:1fr;
    gap:8px 0;
  }

  .event-detail-cell-label{
    font-size:.72rem;
  }

  .event-detail-cell-value{
    min-height:auto;
    font-size:.82rem;
    padding-bottom:7px;
  }
}


/* FBBA43: uniform spacing + FBBA theme colors for Event Details */
.event-details-table-wrap{
  background:#f4f7fa !important;
  padding:14px 0 18px !important;
}

.event-details-table{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  column-gap:14px !important;
  row-gap:14px !important;
  align-items:stretch !important;
}

.event-detail-cell{
  display:grid !important;
  grid-template-rows:36px minmax(54px,auto) !important;
  min-width:0 !important;
  height:100% !important;
  text-align:center !important;
  background:#fff !important;
  border:1px solid #d7e0ea !important;
  border-radius:10px !important;
  overflow:hidden !important;
}

.event-detail-cell-label{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:36px !important;
  padding:6px 10px !important;
  background:var(--navy) !important;
  color:#fff !important;
  border-bottom:3px solid var(--orange) !important;
  font-size:.76rem !important;
  line-height:1.1 !important;
  font-weight:900 !important;
  letter-spacing:.025em !important;
}

.event-detail-cell-value{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:54px !important;
  padding:10px 14px !important;
  background:#fff !important;
  color:var(--navy) !important;
  font-size:.88rem !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  overflow-wrap:anywhere !important;
}

/* Ensure each complete row has the same visual rhythm */
.event-detail-cell:nth-child(-n+3){
  margin-bottom:0 !important;
}
.event-detail-cell:nth-child(n+4){
  margin-top:0 !important;
}

@media(max-width:920px){
  .event-details-table{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    column-gap:12px !important;
    row-gap:12px !important;
  }
}

@media(max-width:600px){
  .event-details-table{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .event-detail-cell{
    grid-template-rows:34px auto !important;
  }

  .event-detail-cell-label{
    min-height:34px !important;
    font-size:.72rem !important;
  }

  .event-detail-cell-value{
    min-height:46px !important;
    font-size:.82rem !important;
    padding:9px 12px !important;
  }
}


/* FBBA44: center-align Dates / Venue / Divisions event fact cards */
.event-facts > div{
  text-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}

.event-facts > div b,
.event-facts > div span{
  width:100% !important;
  text-align:center !important;
}


/* FBBA45: compact Competition Division fields into horizontal rows on Event Settings */
.division-settings-card .division-identity-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
}

.division-settings-card .division-competition-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
  align-items:start !important;
}

/* When Age Eligibility Date is hidden for Open Age, the remaining
   Gender / Age Bracket / Display Order fields naturally sit on one row. */
.division-settings-card .division-identity-grid > label,
.division-settings-card .division-competition-grid > label{
  min-width:0 !important;
  width:100% !important;
}

.division-settings-card .division-identity-grid input,
.division-settings-card .division-identity-grid select,
.division-settings-card .division-competition-grid input,
.division-settings-card .division-competition-grid select{
  width:100% !important;
}

/* Keep the form compact on normal laptops/tablets, then stack only when needed. */
@media(max-width:1000px){
  .division-settings-card .division-identity-grid,
  .division-settings-card .division-competition-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:600px){
  .division-settings-card .division-identity-grid,
  .division-settings-card .division-competition-grid{
    grid-template-columns:1fr !important;
  }
}


/* FBBA47: show Team Officials / Staff Limits in two rows with three cells */
.division-staff-help{
  margin-top:-2px;
  margin-bottom:10px;
}

.division-settings-card .division-staff-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(220px,1fr)) !important;
  gap:16px !important;
  align-items:start !important;
}

.division-settings-card .division-staff-grid > .staff-limit-cell{
  display:block !important;
  min-width:0 !important;
  width:100% !important;
  margin:0 !important;
  color:var(--navy) !important;
  font-weight:700 !important;
}

.division-settings-card .division-staff-grid > .staff-limit-cell input{
  width:100% !important;
  margin-top:8px !important;
}

@media(max-width:1100px){
  .division-settings-card .division-staff-grid{
    grid-template-columns:repeat(2,minmax(220px,1fr)) !important;
  }
}

@media(max-width:640px){
  .division-settings-card .division-staff-grid{
    grid-template-columns:1fr !important;
  }
}


/* FBBA48: make division-specific Team Officials / Staff Limits more compact */
.division-settings-card .division-staff-help{
  margin:2px 0 8px !important;
  font-size:.76rem !important;
  line-height:1.3 !important;
}

.division-settings-card .division-staff-grid{
  gap:10px 12px !important;
}

.division-settings-card .division-staff-grid > .staff-limit-cell{
  font-size:.78rem !important;
  line-height:1.15 !important;
}

.division-settings-card .division-staff-grid > .staff-limit-cell input{
  height:40px !important;
  min-height:40px !important;
  padding:7px 10px !important;
  margin-top:5px !important;
  font-size:.9rem !important;
  border-radius:7px !important;
}

.division-settings-card h3{
  margin-top:16px !important;
  margin-bottom:5px !important;
}

/* Slightly tighten the space before the registration switches below staff limits */
.division-settings-card .division-staff-grid + .division-switches{
  margin-top:4px !important;
}

@media(max-width:640px){
  .division-settings-card .division-staff-grid > .staff-limit-cell input{
    height:42px !important;
    min-height:42px !important;
  }
}


/* FBBA49: compact the upper public Event page so competition divisions appear sooner */
@media(min-width:901px){

  /* HERO */
  .event-hero{
    padding:18px 0 16px !important;
  }

  .event-hero-grid{
    grid-template-columns:1.3fr .7fr !important;
    gap:24px !important;
  }

  .event-hero .eyebrow{
    font-size:.72rem !important;
    line-height:1.15 !important;
  }

  .event-hero h1{
    font-size:clamp(1.65rem,2vw,2.35rem) !important;
    line-height:1.12 !important;
    margin:.12em 0 .18em !important;
  }

  .event-hero .lead{
    font-size:.95rem !important;
    line-height:1.35 !important;
    margin:.2rem 0 .45rem !important;
  }

  .event-visual{
    height:190px !important;
    border-radius:17px !important;
    padding:12px !important;
  }

  .event-visual > img:not(.cover){
    width:calc(100% - 34px) !important;
    height:calc(100% - 34px) !important;
    max-width:calc(100% - 34px) !important;
    max-height:calc(100% - 34px) !important;
  }

  .event-default-logos img{
    max-height:135px !important;
  }

  /* DATES / VENUE / DIVISIONS */
  .event-facts{
    gap:10px !important;
    margin:12px 0 0 !important;
  }

  .event-facts > div{
    min-height:74px !important;
    padding:10px 12px !important;
    border-radius:13px !important;
  }

  .event-facts > div b{
    font-size:.8rem !important;
    line-height:1.15 !important;
  }

  .event-facts > div span{
    margin-top:3px !important;
    font-size:.82rem !important;
    line-height:1.2 !important;
  }

  /* OVERVIEW / DIVISIONS / GALLERY */
  .event-subnav .container{
    gap:24px !important;
  }

  .event-subnav a{
    padding:7px 0 !important;
    font-size:.72rem !important;
    border-bottom-width:2px !important;
  }

  /* EVENT DETAILS: two compact rows */
  .event-details-table-wrap{
    padding:7px 0 9px !important;
  }

  .event-details-table{
    column-gap:10px !important;
    row-gap:8px !important;
  }

  .event-detail-cell{
    grid-template-rows:28px minmax(38px,auto) !important;
    border-radius:8px !important;
  }

  .event-detail-cell-label{
    min-height:28px !important;
    padding:4px 8px !important;
    border-bottom-width:2px !important;
    font-size:.67rem !important;
    line-height:1 !important;
  }

  .event-detail-cell-value{
    min-height:38px !important;
    padding:6px 10px !important;
    font-size:.76rem !important;
    line-height:1.15 !important;
  }

  /* DIVISION CARDS START IMMEDIATELY AFTER THE DETAILS */
  .competition-divisions-top{
    padding:14px 0 18px !important;
  }

  .competition-divisions-grid{
    gap:16px !important;
  }

  .competition-division-card{
    padding:15px !important;
    border-radius:14px !important;
  }

  .competition-division-card h3{
    font-size:1.05rem !important;
    margin:0 0 8px !important;
  }

  .competition-division-summary-line{
    padding:6px 0 9px !important;
    margin-bottom:9px !important;
    font-size:.8rem !important;
  }

  .competition-division-actions{
    gap:6px !important;
  }

  .competition-division-actions .btn{
    min-height:36px !important;
    padding:7px 6px !important;
    font-size:.72rem !important;
  }
}


/* FBBA50: compact About the Event section */
.compact-about-event{
  padding-top:18px !important;
  padding-bottom:20px !important;
}

.compact-about-event .eyebrow{
  display:block;
  margin:0 0 8px !important;
}

.compact-about-event .event-information-wide{
  margin:0 !important;
  padding:0 !important;
}

.compact-about-event .event-description-text{
  margin:0 !important;
  padding:0 !important;
  line-height:1.55 !important;
  text-align:justify !important;
  text-justify:inter-word;
}

.compact-about-event .event-description-text br{
  display:none;
}

@media(max-width:700px){
  .compact-about-event{
    padding-top:14px !important;
    padding-bottom:16px !important;
  }

  .compact-about-event .event-description-text{
    text-align:left !important;
    line-height:1.5 !important;
  }
}


/* FBBA51: compact Regulations & Guidelines section */
.compact-regulations-section{
  padding-top:16px !important;
  padding-bottom:18px !important;
}

.compact-regulations-section .eyebrow{
  display:block;
  margin:0 0 10px !important;
}

.compact-regulations-list{
  margin:0 !important;
  gap:10px 20px !important;
}

.compact-regulations-list li{
  padding:11px 14px 11px 16px !important;
  line-height:1.45 !important;
  text-align:justify !important;
  text-justify:inter-word;
}

@media(max-width:700px){
  .compact-regulations-section{
    padding-top:14px !important;
    padding-bottom:16px !important;
  }

  .compact-regulations-list{
    gap:9px !important;
  }

  .compact-regulations-list li{
    text-align:left !important;
    line-height:1.4 !important;
  }
}


/* FBBA52: orange fact headings + larger bold fact values */
.event-facts > div b{
  color:var(--orange) !important;
  font-weight:900 !important;
}

.event-facts > div span{
  color:var(--navy) !important;
  font-weight:800 !important;
  font-size:calc(1em + 2px) !important;
  line-height:1.25 !important;
}

/* Preserve the compact desktop layout while increasing the value text slightly */
@media(min-width:901px){
  .event-facts > div b{
    font-size:.82rem !important;
  }

  .event-facts > div span{
    font-size:.95rem !important;
    font-weight:800 !important;
  }
}


/* FBBA53: make All Events page about 30% more compact */
.events-hero{
  padding:38px 0 !important;
}

.events-hero .eyebrow{
  font-size:.78rem !important;
  line-height:1.15 !important;
}

.events-hero h1{
  font-size:clamp(1.75rem,3vw,2.8rem) !important;
  line-height:1.08 !important;
  margin:.12em 0 .18em !important;
}

.events-hero p{
  max-width:720px !important;
  margin:.3rem 0 0 !important;
  font-size:.96rem !important;
  line-height:1.35 !important;
}

.events-index-section{
  padding-top:34px !important;
  padding-bottom:38px !important;
}

.events-index-section .section-heading{
  margin-bottom:14px !important;
}

.events-index-section .section-heading .eyebrow{
  font-size:.76rem !important;
}

.events-index-section .section-heading h2{
  margin:.2rem 0 0 !important;
  font-size:1.55rem !important;
  line-height:1.15 !important;
}

.events-index-section .event-card-grid{
  gap:15px !important;
}

.events-index-section .event-card{
  border-radius:15px !important;
}

.events-index-section .event-card-media{
  height:155px !important;
  min-height:155px !important;
  max-height:155px !important;
  flex-basis:155px !important;
}

.events-index-section .event-card-logo-wrap{
  padding:20px 30px !important;
}

.events-index-section .event-card-body{
  padding:14px 16px 16px !important;
}

.events-index-section .event-card-body small{
  font-size:.72rem !important;
  line-height:1.2 !important;
}

.events-index-section .event-card-body h3{
  font-size:1.08rem !important;
  line-height:1.2 !important;
  margin:.28em 0 !important;
}

.events-index-section .event-card-body p{
  margin:.25rem 0 .45rem !important;
  font-size:.84rem !important;
  line-height:1.3 !important;
}

.events-index-section .text-link{
  font-size:.82rem !important;
}

.events-index-section .event-status{
  padding:4px 8px !important;
  font-size:.64rem !important;
}

@media(max-width:900px){
  .events-hero{
    padding:32px 0 !important;
  }

  .events-index-section{
    padding-top:28px !important;
  }

  .events-index-section .event-card-media{
    height:145px !important;
    min-height:145px !important;
    max-height:145px !important;
    flex-basis:145px !important;
  }
}

@media(max-width:600px){
  .events-hero{
    padding:28px 0 !important;
  }

  .events-hero h1{
    font-size:1.75rem !important;
  }

  .events-index-section .event-card-media{
    height:160px !important;
    min-height:160px !important;
    max-height:160px !important;
    flex-basis:160px !important;
  }
}


/* FBBA54: make public event-page logo panel square instead of wide rectangle */
@media(min-width:901px){
  .event-hero-grid{
    align-items:center;
  }

  .event-visual,
  .event-hero-with-divisions .compact-event-visual{
    width:min(100%, 280px) !important;
    max-width:280px !important;
    aspect-ratio:1 / 1 !important;
    height:auto !important;
    min-height:280px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:center !important;
    padding:16px !important;
  }

  .event-visual > img:not(.cover),
  .event-hero-with-divisions .compact-event-visual > img:not(.cover){
    width:100% !important;
    height:100% !important;
    max-width:100% !important;
    max-height:100% !important;
    object-fit:contain !important;
  }
}

@media(max-width:900px){
  .event-visual,
  .event-hero-with-divisions .compact-event-visual{
    width:min(100%, 300px) !important;
    max-width:300px !important;
    aspect-ratio:1 / 1 !important;
    height:auto !important;
    min-height:240px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-self:center !important;
  }
}


/* FBBA55: compact public division statistics + pool display */
.division-public-section{
  padding-top:28px !important;
  padding-bottom:34px !important;
}

.division-page-heading{
  margin-bottom:16px;
}

.division-page-heading h1{
  margin:.15em 0 .1em !important;
}

.division-page-heading p{
  margin:.3rem 0 0;
  color:var(--muted);
}

.division-stats-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  margin:0 0 20px;
}

.division-stat-card{
  min-height:92px;
  border:1px solid var(--line);
  border-radius:14px;
  background:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:12px;
  text-align:center;
}

.division-stat-card b{
  color:var(--orange);
  font-size:1.75rem;
  line-height:1;
  font-weight:900;
}

.division-stat-card span{
  margin-top:7px;
  color:var(--navy);
  font-size:.82rem;
  font-weight:900;
}

.compact-empty{
  padding:20px 22px !important;
  margin-top:8px;
}

.public-pools-section{
  margin-bottom:26px;
}

.compact-section-heading{
  margin-bottom:12px;
}

.compact-section-heading h2{
  margin:0 !important;
  font-size:1.25rem;
  line-height:1.15;
}

.public-pools-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}

.public-pool-card{
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  min-width:0;
}

.public-pool-title{
  background:var(--navy);
  color:#fff;
  border-bottom:3px solid var(--orange);
  text-align:center;
  padding:8px 10px;
  font-size:.82rem;
  font-weight:900;
}

.public-pool-team-list{
  list-style-position:inside;
  margin:0;
  padding:7px 12px 10px;
}

.public-pool-team-list li{
  padding:5px 2px;
  border-bottom:1px solid #edf0f4;
  color:var(--navy);
  font-size:.8rem;
  font-weight:700;
  line-height:1.25;
}

.public-pool-team-list li:last-child{
  border-bottom:0;
}

.public-pool-empty{
  padding:16px 10px;
  color:var(--muted);
  text-align:center;
  font-size:.78rem;
}

.unassigned-pool-note{
  margin-top:10px;
  padding:9px 12px;
  border-radius:9px;
  background:#fff7ed;
  color:#7c4a16;
  font-size:.78rem;
}

.day-wise-schedule{
  margin-top:20px;
}

.schedule-heading{
  padding-top:14px;
  border-top:1px solid var(--line);
}

.day-wise-schedule .schedule-date{
  margin:18px 0 9px !important;
  font-size:1rem !important;
  color:var(--navy);
}



@media(max-width:700px){
  .division-stats-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:8px;
  }

  .division-stat-card{
    min-height:78px;
    padding:9px 6px;
  }

  .division-stat-card b{
    font-size:1.45rem;
  }

  .division-stat-card span{
    font-size:.68rem;
  }
}

@media(max-width:560px){
  .division-stats-grid{
    grid-template-columns:1fr;
  }
}



/* FBBA56: 4-per-row public pools graphic layout */
.public-pools-section{
  margin-bottom:24px !important;
}

.public-pools-grid{
  display:grid !important;
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  gap:14px !important;
  align-items:stretch !important;
}

.public-pool-card{
  display:flex !important;
  flex-direction:column !important;
  min-height:170px !important;
  border:1px solid var(--line) !important;
  border-radius:14px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:none !important;
}

.public-pool-title{
  background:var(--navy) !important;
  color:#fff !important;
  border-bottom:3px solid var(--orange) !important;
  text-align:center !important;
  padding:10px 12px !important;
  font-size:.95rem !important;
  font-weight:900 !important;
  letter-spacing:.02em !important;
}

.public-pool-team-list{
  list-style:none !important;
  margin:0 !important;
  padding:10px 14px 12px !important;
  flex:1 1 auto !important;
}

.public-pool-team-list li{
  padding:8px 0 !important;
  border-bottom:1px solid #edf0f4 !important;
  color:var(--navy) !important;
  font-size:.84rem !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  text-align:center !important;
}

.public-pool-team-list li:last-child{
  border-bottom:0 !important;
}

.public-pool-empty{
  flex:1 1 auto !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:18px 10px !important;
  color:var(--muted) !important;
  text-align:center !important;
  font-size:.8rem !important;
}

@media(max-width:1100px){
  .public-pools-grid{
    grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
    gap:12px !important;
  }
  .public-pool-card{
    min-height:156px !important;
  }
  .public-pool-title{
    font-size:.88rem !important;
  }
  .public-pool-team-list li{
    font-size:.8rem !important;
    padding:7px 0 !important;
  }
}

@media(max-width:860px){
  .public-pools-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}

@media(max-width:560px){
  .public-pools-grid{
    grid-template-columns:1fr !important;
  }
}


/* FBBA57: compact Event Maker event dashboard */
.admin-dashboard-section{
  padding-top:24px !important;
  padding-bottom:32px !important;
}

.admin-dashboard-section .admin-top{
  align-items:flex-start !important;
  gap:18px !important;
  margin-bottom:6px !important;
}

.admin-dashboard-section .admin-top .eyebrow{
  font-size:.72rem !important;
  line-height:1.1 !important;
}

.admin-dashboard-section .admin-top h1{
  font-size:clamp(1.55rem,2vw,2.25rem) !important;
  line-height:1.12 !important;
  margin:.12em 0 .12em !important;
}

.admin-dashboard-section .admin-top p{
  margin:4px 0 0 !important;
  font-size:.84rem !important;
  line-height:1.25 !important;
}

.admin-dashboard-section .admin-top .actions{
  margin-top:0 !important;
  gap:8px !important;
  flex-wrap:nowrap !important;
}

.admin-dashboard-section .admin-top .btn{
  min-height:38px !important;
  padding:8px 14px !important;
  font-size:.78rem !important;
  border-radius:8px !important;
  white-space:nowrap !important;
}

.admin-dashboard-section .admin-event-tabs{
  margin:10px 0 14px !important;
  gap:2px !important;
}

.admin-dashboard-section .admin-event-tabs a{
  padding:8px 10px !important;
  font-size:.76rem !important;
  border-bottom-width:2px !important;
}

.admin-dashboard-section .cards.four{
  gap:12px !important;
}

.admin-dashboard-section .cards.four .card.stat{
  min-height:92px !important;
  padding:12px 10px !important;
  border-radius:12px !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
}

.admin-dashboard-section .cards.four .stat b{
  font-size:1.9rem !important;
  line-height:1 !important;
}

.admin-dashboard-section .cards.four .stat span{
  margin-top:6px !important;
  font-size:.76rem !important;
  line-height:1.1 !important;
}

.admin-dashboard-section .admin-callout{
  margin-top:14px !important;
  padding:13px 16px !important;
  border-left-width:3px !important;
  border-radius:9px !important;
}

.admin-dashboard-section .admin-callout h2{
  margin:0 0 4px !important;
  font-size:1.05rem !important;
  line-height:1.15 !important;
}

.admin-dashboard-section .admin-callout p{
  margin:0 !important;
  font-size:.78rem !important;
  line-height:1.3 !important;
}

.admin-dashboard-section .division-dashboard-grid{
  gap:12px !important;
  margin-top:14px !important;
}

.admin-dashboard-section .division-dashboard-card{
  padding:15px !important;
  border-radius:12px !important;
}

.admin-dashboard-section .division-dashboard-card h2{
  font-size:1.08rem !important;
  margin:.3rem 0 .18rem !important;
}

.admin-dashboard-section .division-dashboard-card p{
  margin:0 0 5px !important;
  font-size:.76rem !important;
  line-height:1.25 !important;
}

.admin-dashboard-section .division-dashboard-card .division-gender{
  font-size:.66rem !important;
  padding:4px 8px !important;
}

.admin-dashboard-section .division-dashboard-card .division-settings-summary{
  margin:4px 0 7px !important;
  font-size:.7rem !important;
  line-height:1.3 !important;
}

.admin-dashboard-section .division-mini-stats{
  padding:8px 0 !important;
  margin:8px 0 !important;
  gap:14px !important;
}

.admin-dashboard-section .division-mini-stats span{
  font-size:.72rem !important;
}

.admin-dashboard-section .division-mini-stats b{
  font-size:.95rem !important;
}

.admin-dashboard-section .division-card-actions{
  gap:6px !important;
}

.admin-dashboard-section .division-card-actions a{
  padding:6px 8px !important;
  font-size:.72rem !important;
  border-radius:7px !important;
}

@media(max-width:900px){
  .admin-dashboard-section .admin-top{
    align-items:flex-start !important;
  }
  .admin-dashboard-section .admin-top .actions{
    flex-wrap:wrap !important;
  }
}

@media(max-width:600px){
  .admin-dashboard-section{
    padding-top:18px !important;
  }
  .admin-dashboard-section .cards.four{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .admin-dashboard-section .cards.four .card.stat{
    min-height:82px !important;
  }
}


/* FBBA59: quarter scoring + player game statistics */
.result-admin-page{
  max-width:1240px;
  padding-top:30px !important;
}
.result-admin-form h2{
  margin-top:22px;
  margin-bottom:6px;
}
.result-entry-table-wrap,
.admin-player-stats-block .table-wrap{
  border-radius:10px;
}
.result-entry-quarter-table th,
.result-entry-quarter-table td{
  text-align:center;
  padding:8px;
}
.result-entry-quarter-table tbody th{
  background:#f4f7fa;
  color:var(--navy);
  min-width:170px;
}
.result-entry-quarter-table input{
  width:70px;
  min-width:58px;
  margin:0;
  padding:7px 5px;
  text-align:center;
  font-weight:800;
}
.calculated-final{
  background:#fff7ed;
  color:var(--orange);
  font-size:1.1rem;
}
.admin-player-stats-block{
  margin-top:16px;
}
.admin-player-stats-block h3{
  color:var(--navy);
  margin:0 0 7px;
}
.admin-player-stats-table th,
.admin-player-stats-table td{
  padding:7px 8px;
  text-align:center;
  font-size:.78rem;
}
.admin-player-stats-table th:first-child,
.admin-player-stats-table td:first-child{
  text-align:left;
  min-width:160px;
}
.admin-player-stats-table input{
  width:58px;
  margin:0;
  padding:6px 4px;
  text-align:center;
}
.admin-player-stats-table .stat-total{
  color:var(--orange);
  font-size:.9rem;
}

.detailed-results-grid{
  grid-template-columns:1fr !important;
  gap:16px !important;
}
.detailed-result-card{
  padding:14px !important;
}
.compact-quarter-wrap{
  margin-top:8px;
  border-radius:9px;
}
.compact-quarter-table th,
.compact-quarter-table td{
  text-align:center;
  padding:7px 10px;
  font-size:.78rem;
}
.compact-quarter-table tbody th{
  text-align:left;
  background:#f7f9fb;
  color:var(--navy);
  min-width:190px;
}
.compact-quarter-table tr.winner th,
.compact-quarter-table tr.winner .final-score{
  font-weight:900;
  color:var(--orange);
}
.compact-quarter-table .final-score{
  font-size:1rem;
  font-weight:900;
  color:var(--navy);
  background:#fff7ed;
}
.compact-player-stats-details{
  margin-top:10px;
  border-top:1px solid var(--line);
  padding-top:8px;
}
.compact-player-stats-details summary{
  cursor:pointer;
  color:var(--navy);
  font-weight:900;
  font-size:.82rem;
}
.compact-player-stats-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:9px;
}
.compact-team-player-stats h4{
  margin:0 0 5px;
  color:var(--navy);
  font-size:.82rem;
}
.compact-player-stats-table th,
.compact-player-stats-table td{
  padding:5px 6px;
  text-align:center;
  font-size:.68rem;
}
.compact-player-stats-table th:first-child,
.compact-player-stats-table td:first-child{
  text-align:left;
}
.compact-player-stats-table td b{
  color:var(--orange);
}
@media(max-width:850px){
  .compact-player-stats-grid{grid-template-columns:1fr;}
}
@media(max-width:650px){
  .result-entry-quarter-table input{width:54px;}
  .admin-player-stats-table input{width:48px;}
}


/* FBBA61: chest number + clickable result summary + detail page */
.result-summary-page{padding-top:26px !important;}
.results-page-heading h1,.result-detail-top h1{margin:.12em 0 !important;}
.result-summary-help{margin:10px 0 14px;padding:9px 12px;border-left:4px solid var(--orange);background:#f7f9fb;color:#52606d;border-radius:7px;font-size:.78rem;font-weight:700;}
.results-summary-list{display:grid;gap:12px;}
.game-summary-card{display:block;background:#fff;border:1px solid var(--line);border-radius:13px;overflow:hidden;text-decoration:none;color:inherit;transition:transform .15s ease,box-shadow .15s ease;}
.game-summary-card:hover{transform:translateY(-1px);box-shadow:0 8px 22px rgba(13,53,100,.08);}
.game-summary-meta{display:flex;justify-content:space-between;gap:14px;padding:7px 12px;background:var(--navy);color:#fff;font-size:.72rem;font-weight:800;}
.game-summary-score{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;padding:13px 16px 9px;}
.game-summary-team{display:flex;align-items:center;gap:9px;min-width:0;color:var(--navy);}
.game-summary-team.right{justify-content:flex-end;text-align:right;}
.game-summary-team img{width:42px;height:42px;object-fit:contain;flex:0 0 42px;}
.game-summary-team span{font-size:.9rem;font-weight:800;overflow-wrap:anywhere;}
.game-summary-team b{color:var(--navy);font-size:1.55rem;line-height:1;}
.game-summary-team.winner b,.game-summary-team.winner span{color:var(--orange);}
.game-summary-final{color:var(--orange);font-size:.7rem;font-weight:900;letter-spacing:.06em;}
.game-summary-open{border-top:1px solid #edf0f4;padding:7px 12px;text-align:center;color:var(--navy);font-size:.7rem;font-weight:800;}
.result-detail-page{padding-top:26px !important;}
.result-detail-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;}
.result-detail-top p{margin:.2rem 0 0;color:var(--muted);}
.result-back-btn{flex:0 0 auto;}
.detailed-score-card{border:1px solid var(--line);border-radius:14px;overflow:hidden;background:#fff;margin-bottom:14px;}
.detailed-score-meta{display:flex;justify-content:space-between;gap:16px;padding:8px 12px;background:var(--navy);color:#fff;font-size:.72rem;font-weight:800;}
.detailed-final-score{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;padding:16px 20px 10px;}
.detailed-team{display:flex;align-items:center;gap:10px;color:var(--navy);}
.detailed-team.right{justify-content:flex-end;text-align:right;}
.detailed-team img{width:54px;height:54px;object-fit:contain;}
.detailed-team strong{font-size:1rem;}
.detailed-team.winner strong{color:var(--orange);}
.detailed-score-number{display:flex;align-items:center;gap:13px;color:var(--navy);}
.detailed-score-number b{font-size:2.2rem;line-height:1;}
.detailed-score-number span{color:var(--orange);font-size:.7rem;font-weight:900;}
.detail-quarter-wrap{margin:0 14px 14px !important;}
.detail-player-stats-grid{display:grid;grid-template-columns:1fr;gap:12px;}
.detail-team-stats-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;}
.detail-team-stats-title{display:flex;align-items:center;gap:8px;padding:8px 11px;background:var(--navy);color:#fff;border-bottom:3px solid var(--orange);}
.detail-team-stats-title img{width:28px;height:28px;object-fit:contain;}
.detail-team-stats-title h2{margin:0 !important;color:#fff !important;font-size:.88rem !important;}
.detail-player-stats-table th,.detail-player-stats-table td{text-align:center;padding:6px 7px;font-size:.7rem;}
.detail-player-stats-table th:nth-child(2),.detail-player-stats-table td:nth-child(2){text-align:left;min-width:150px;}
.detail-player-stats-table td b,.detail-player-stats-table tfoot th{color:var(--orange);font-weight:900;}
.player-chest-number{font-weight:900;color:var(--navy);}
.result-detail-notes{margin-top:12px;padding:9px 11px;border-radius:8px;background:#f7f9fb;color:#52606d;font-size:.76rem;}
.result-detail-bottom-actions{margin-top:14px;}
.chest-number-input{width:52px !important;min-width:46px !important;text-align:center !important;margin:0 !important;padding:6px 4px !important;font-weight:900 !important;}
.admin-player-stats-table th:first-child,.admin-player-stats-table td:first-child{text-align:center !important;min-width:66px !important;}
.admin-player-stats-table th:nth-child(2),.admin-player-stats-table td:nth-child(2){text-align:left !important;min-width:150px !important;}
@media(max-width:700px){.game-summary-meta,.detailed-score-meta{flex-direction:column;gap:2px}.game-summary-score,.detailed-final-score{grid-template-columns:1fr;text-align:center}.game-summary-team,.game-summary-team.right,.detailed-team,.detailed-team.right{justify-content:center;text-align:center}.detailed-score-number{justify-content:center;order:-1}.result-detail-top{align-items:flex-start}}


/* FBBA62: Registration Opening Date */
.event-card-registration-open{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:-2px 0 8px;font-size:.76rem;line-height:1.25}
.event-card-registration-open span,.hero-registration-open-date span,.division-opening-date span{color:var(--orange);font-weight:900}
.event-card-registration-open strong,.hero-registration-open-date strong,.division-opening-date strong{color:var(--navy);font-weight:900}
.hero-registration-open-date{display:inline-flex;align-items:center;gap:7px;margin:4px 0 2px;padding:5px 9px;border-radius:999px;background:#fff5eb;font-size:.74rem;line-height:1.1}
.division-opening-date{display:flex;align-items:center;gap:6px;margin:4px 0 7px;font-size:.75rem}
.registration-opening-date{margin:.35rem 0 0;color:var(--navy);font-size:.84rem}
.registration-opening-date strong{color:var(--orange)}
@media(min-width:1150px){.division-settings-card .division-competition-grid{grid-template-columns:repeat(5,minmax(0,1fr)) !important}}


/* FBBA63: compact complete member registration rows */
.registration-form-section{
  width:min(1420px,96%) !important;
  max-width:1420px !important;
  padding-top:24px !important;
  padding-bottom:30px !important;
}

.registration-form-card{
  padding:18px 20px !important;
}

.registration-form-card > h2{
  margin:14px 0 7px !important;
  font-size:1.12rem !important;
}

.registration-form-card .help-text{
  margin:3px 0 9px !important;
  font-size:.76rem !important;
  line-height:1.3 !important;
  color:var(--muted) !important;
}

.registration-form-card .division-banner{
  margin:8px 0 12px !important;
  padding:9px 12px !important;
}

.registration-form-card .player-row{
  margin:8px 0 !important;
  padding:9px 10px 10px !important;
  border-radius:10px !important;
}

.registration-form-card .player-row legend{
  padding:0 6px !important;
  font-size:.86rem !important;
  line-height:1.1 !important;
}

.member-registration-grid{
  display:grid !important;
  grid-template-columns:minmax(170px,1.35fr) minmax(170px,1.35fr) minmax(138px,.82fr) minmax(142px,.82fr) minmax(180px,1fr) !important;
  gap:8px 10px !important;
  align-items:end !important;
}

.member-registration-grid > label{
  min-width:0 !important;
  margin:0 !important;
  font-size:.72rem !important;
  line-height:1.1 !important;
  color:var(--navy) !important;
}

.member-registration-grid input{
  width:100% !important;
  height:38px !important;
  min-height:38px !important;
  margin-top:4px !important;
  padding:6px 8px !important;
  border-radius:7px !important;
  font-size:.8rem !important;
}

.member-registration-grid input[type="date"]{
  padding-left:7px !important;
  padding-right:5px !important;
}

.member-registration-grid input[type="file"]{
  height:38px !important;
  padding:5px 6px !important;
  font-size:.7rem !important;
  overflow:hidden !important;
}

.member-registration-grid input[type="file"]::file-selector-button{
  margin-right:6px;
  padding:5px 7px;
  border:1px solid #cdd5dd;
  border-radius:5px;
  background:#f7f9fb;
  color:var(--navy);
  font-weight:700;
  cursor:pointer;
}

.member-cnic-cell,
.member-dob-cell{
  max-width:none !important;
}

.registration-validation-errors{
  margin:8px 0 12px !important;
  line-height:1.45 !important;
}

.registration-form-card .check{
  margin:12px 0 !important;
  font-size:.8rem !important;
}

.registration-form-card > .btn:last-of-type{
  padding:10px 17px !important;
}

@media(max-width:1120px){
  .member-registration-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

@media(max-width:760px){
  .registration-form-section{
    width:94% !important;
  }
  .member-registration-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:520px){
  .member-registration-grid{
    grid-template-columns:1fr !important;
  }
}


/* FBBA64: make Regulations & Guidelines more compact with smaller text */
.compact-regulations-section{
  padding-top:10px !important;
  padding-bottom:12px !important;
}

.compact-regulations-section .eyebrow{
  margin:0 0 7px !important;
  font-size:.72rem !important;
  line-height:1.1 !important;
}

.compact-regulations-list{
  margin:0 !important;
  gap:8px 14px !important;
  padding-left:1.35rem !important;
}

.compact-regulations-list li{
  padding:8px 10px 8px 12px !important;
  border-radius:9px !important;
  font-size:.84rem !important;
  line-height:1.35 !important;
  text-align:justify !important;
  text-justify:inter-word !important;
}

.compact-regulations-list li::marker{
  font-size:.82rem !important;
}

@media(max-width:700px){
  .compact-regulations-section{
    padding-top:8px !important;
    padding-bottom:10px !important;
  }

  .compact-regulations-list{
    gap:7px !important;
    padding-left:1.2rem !important;
  }

  .compact-regulations-list li{
    padding:8px 10px !important;
    font-size:.8rem !important;
    line-height:1.32 !important;
    text-align:left !important;
  }
}


/* FBBA65: configurable game stages per competition division */
.division-stage-help{
  margin-top:-2px;
  margin-bottom:8px;
}
.division-stage-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
  margin-bottom:8px;
}
.stage-check{
  display:flex !important;
  align-items:center;
  gap:7px;
  min-height:38px;
  margin:0 !important;
  padding:7px 9px;
  border:1px solid var(--line);
  border-radius:8px;
  background:#fff;
  color:var(--navy) !important;
  font-size:.75rem;
  line-height:1.15;
  font-weight:800 !important;
  cursor:pointer;
}
.stage-check input{
  width:auto !important;
  margin:0 !important;
  flex:0 0 auto;
}
@media(max-width:1100px){
  .division-stage-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:700px){
  .division-stage-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:480px){
  .division-stage-grid{grid-template-columns:1fr;}
}


/* FBBA67: fix Regulations & Guidelines numbering overlap between columns */
.compact-regulations-list{
  counter-reset: regulation-item !important;
  list-style:none !important;
  padding-left:0 !important;
  column-gap:22px !important;
  row-gap:8px !important;
}

.compact-regulations-list li{
  counter-increment:regulation-item !important;
  position:relative !important;
  padding-left:40px !important;
  overflow:visible !important;
}

.compact-regulations-list li::marker{
  content:"" !important;
}

.compact-regulations-list li::before{
  content:counter(regulation-item) "." !important;
  position:absolute !important;
  left:12px !important;
  top:8px !important;
  width:20px !important;
  color:var(--navy) !important;
  font-weight:900 !important;
  text-align:right !important;
  line-height:1.35 !important;
  font-size:.82rem !important;
}

@media(max-width:700px){
  .compact-regulations-list{
    column-gap:0 !important;
  }

  .compact-regulations-list li{
    padding-left:38px !important;
  }

  .compact-regulations-list li::before{
    left:10px !important;
  }
}


/* FBBA69: compact and align Event Manager division fields */
.division-settings-card h3{
  font-size:.90rem !important;
  line-height:1.15 !important;
  margin:17px 0 7px !important;
}

.division-identity-grid > label,
.division-competition-grid > label{
  font-size:.86rem !important;
  line-height:1.2 !important;
}

.division-identity-grid .division-field-label,
.division-competition-grid .division-field-label{
  display:block !important;
  font-size:.86rem !important;
  line-height:1.2 !important;
  font-weight:800 !important;
}

/* Reserve the same heading space for all five Competition Settings fields.
   This keeps the input boxes perfectly aligned even when date headings wrap. */
.division-competition-grid .division-field-label{
  min-height:2.1em !important;
}

.division-identity-grid input,
.division-identity-grid select,
.division-competition-grid input,
.division-competition-grid select{
  font-size:.88rem !important;
  line-height:1.2 !important;
  padding:9px 10px !important;
  margin-top:5px !important;
  min-height:41px !important;
}

.division-competition-grid{
  align-items:start !important;
}

@media(min-width:1150px){
  .division-settings-card .division-competition-grid{
    grid-template-columns:repeat(5,minmax(0,1fr)) !important;
    gap:10px !important;
  }
}

@media(max-width:900px){
  .division-competition-grid .division-field-label{
    min-height:0 !important;
  }
}


/* FBBA70: Event Manager Competition Settings heading + shorter registration labels */
.division-settings-card h3{
  font-weight:900 !important;
}


/* FBBA72: Event Manager game report view */
.admin-result-report-page .admin-event-tabs{margin-top:14px !important;}
.admin-result-report-page .result-detail-top{align-items:flex-end;}
.admin-result-report-page .admin-report-actions{margin-top:0 !important;justify-content:flex-end;}
.admin-result-report-page .result-detail-bottom-actions{display:flex;gap:10px;flex-wrap:wrap;}
.admin-result-report-page .detail-team-stats-card{box-shadow:0 5px 16px rgba(13,53,100,.05);}
@media(max-width:760px){
  .admin-result-report-page .result-detail-top{align-items:flex-start;flex-direction:column;}
  .admin-result-report-page .admin-report-actions{justify-content:flex-start;}
}


/* FBBA75: event logo sizing/containment - always show the complete logo */
.event-visual,
.event-hero-with-divisions .compact-event-visual{
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
}

.event-visual > img:not(.cover),
.event-hero-with-divisions .compact-event-visual > img:not(.cover){
  width:auto !important;
  height:auto !important;
  max-width:88% !important;
  max-height:88% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  margin:auto !important;
}

.event-card-logo-wrap,
.events-index-section .event-card-logo-wrap{
  padding:18px 24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

.event-card-logo-wrap .event-card-logo,
.events-index-section .event-card-logo-wrap .event-card-logo{
  width:auto !important;
  height:auto !important;
  max-width:88% !important;
  max-height:88% !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
  margin:auto !important;
}


/* FBBA78: variable extra periods after Q4 + bold player Total Score */
.extra-periods-entry{
  margin:12px 0 18px;
  padding:12px;
  border:1px solid var(--line);
  border-radius:10px;
  background:#f8fafc;
}
.extra-periods-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:8px;
}
.extra-periods-heading h3{
  margin:0 0 2px !important;
  color:var(--navy);
}
.extra-periods-heading .help-text{
  margin:0;
}
.extra-period-row{
  display:grid;
  grid-template-columns:54px minmax(0,1fr) minmax(0,1fr) auto;
  gap:10px;
  align-items:end;
  padding:8px 0;
  border-top:1px solid #e5eaf0;
}
.extra-period-row:first-child{
  border-top:0;
}
.extra-period-label{
  align-self:center;
  color:var(--orange);
  font-weight:900;
  text-align:center;
}
.extra-period-row label{
  font-size:.76rem;
}
.extra-period-row input{
  margin-top:4px !important;
  padding:7px 8px !important;
  text-align:center;
  font-weight:800;
}
.extra-period-remove{
  border:0;
  background:transparent;
  color:#a61b1b;
  cursor:pointer;
  font:inherit;
  font-size:.74rem;
  font-weight:800;
  padding:8px 4px;
}
.player-total-score,
.player-total-score strong,
.player-total-score-heading,
.admin-player-stats-table .stat-total,
.admin-player-stats-table .stat-total strong{
  font-weight:900 !important;
}
.detail-player-stats-table td:nth-child(6){
  font-weight:900 !important;
}
@media(max-width:700px){
  .extra-periods-heading{
    flex-direction:column;
  }
  .extra-period-row{
    grid-template-columns:44px 1fr 1fr;
  }
  .extra-period-remove{
    grid-column:2 / -1;
    justify-self:end;
  }
}


/* FBBA79: Walkover / Disqualification result workflow */
.result-outcome-panel{
  margin:0 0 18px;
  padding:14px;
  border:1px solid var(--line);
  border-left:4px solid var(--orange);
  border-radius:10px;
  background:#f8fafc;
}
.result-outcome-panel h2{
  margin:0 0 10px !important;
}
.result-outcome-grid{
  display:grid;
  grid-template-columns:.85fr 1.15fr 1.5fr;
  gap:12px;
  align-items:end;
}
.result-outcome-grid label{
  font-size:.82rem;
}
.result-outcome-grid input,
.result-outcome-grid select{
  margin-top:5px !important;
}
.administrative-result-center{
  width:220px;
  max-width:100%;
  text-align:center;
  color:var(--navy);
}
.administrative-result-center strong{
  display:block;
  color:var(--orange);
  font-size:1.2rem;
  font-weight:900;
  line-height:1.05;
}
.administrative-result-center span{
  display:block;
  margin-top:5px;
  font-size:.72rem;
  line-height:1.3;
  font-weight:800;
}
.result-decision-banner{
  margin:0 14px 14px;
  padding:10px 12px;
  border:1px solid var(--line);
  border-left:4px solid var(--orange);
  border-radius:8px;
  background:#f8fafc;
  text-align:center;
}
.result-decision-banner strong{
  display:block;
  color:var(--orange);
  font-size:.82rem;
  text-transform:uppercase;
  letter-spacing:.04em;
}
.result-decision-banner span{
  display:block;
  margin-top:2px;
  color:var(--navy);
  font-size:.82rem;
  font-weight:800;
}
.result-decision-banner p{
  margin:5px 0 0;
  color:var(--muted);
  font-size:.76rem;
}
.game-summary-decision{
  padding:0 12px 7px;
  text-align:center;
  color:var(--navy);
  font-size:.7rem;
  font-weight:800;
}
.game-summary-team.disqualified,
.detailed-team.disqualified{
  opacity:.62;
}
.game-summary-team.disqualified b{
  color:#a61b1b !important;
}
@media(max-width:800px){
  .result-outcome-grid{
    grid-template-columns:1fr;
  }
}


/* FBBA81: non-blocking team-registration photo warnings */
.alert.warning{
  background:#fff8e6 !important;
  color:#7a4d00 !important;
  border:1px solid #f1d79b !important;
}
.registration-photo-warning{
  margin:12px 0 14px !important;
  font-size:.84rem !important;
  line-height:1.4 !important;
}
.member-photo-cell small,
.form-grid label small{
  color:var(--muted);
  font-size:.68rem;
  font-weight:700;
}


/* FBBA83: team-captain field + reliable team-official photo preview */
.player-registration-legend{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  width:auto !important;
}
.captain-check{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  color:var(--navy) !important;
  font-size:.72rem !important;
  font-weight:800 !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  cursor:pointer;
}
.captain-check input{
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
}
.captain-role-marker{
  color:var(--orange);
  font-weight:900;
}
.current-member-photo{
  display:flex;
  align-items:center;
  gap:6px;
  margin:5px 0 4px;
  color:var(--muted);
  font-size:.66rem;
  font-weight:700;
}
.current-member-photo img{
  width:30px;
  height:30px;
  border-radius:5px;
  object-fit:cover;
  border:1px solid var(--line);
}


/* FBBA84: do not render member photos inside Add/Edit Team forms */
.current-member-photo{
  display:none !important;
}
.current-member-photo img{
  display:none !important;
}
.existing-photo-note{
  display:block;
  margin:4px 0 2px;
  color:#18724b;
  font-size:.64rem;
  line-height:1.15;
  font-weight:800;
}


/* FBBA86: optional player chest numbers + grouped public team view */
.player-member-registration-grid{
  grid-template-columns:76px minmax(160px,1.25fr) minmax(160px,1.25fr) minmax(130px,.82fr) minmax(136px,.82fr) minmax(170px,1fr) !important;
}
.member-chest-cell{
  min-width:0 !important;
}
.member-chest-cell input{
  text-align:center !important;
  font-weight:900 !important;
}
.team-section-heading{
  margin:22px 0 10px !important;
}
.team-player-heading{
  margin-top:28px !important;
}
.team-officials-row{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(135px,1fr);
  gap:10px;
  overflow-x:auto;
  padding-bottom:4px;
}
.team-official-card{
  min-width:135px;
}
.team-players-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
.team-player-card{
  position:relative;
}
.team-player-card.captain-card{
  border-color:var(--orange);
  box-shadow:0 0 0 1px rgba(239,108,24,.12);
}
.player-chest-badge{
  position:absolute;
  top:8px;
  left:8px;
  min-width:30px;
  padding:3px 6px;
  border-radius:999px;
  background:var(--navy);
  color:#fff;
  font-size:.68rem;
  font-weight:900;
  line-height:1;
  text-align:center;
  box-shadow:0 2px 6px rgba(11,47,88,.15);
}
.captain-card .player-chest-badge{
  background:var(--orange);
}
@media(max-width:1000px){
  .player-member-registration-grid{
    grid-template-columns:70px repeat(2,minmax(0,1fr)) !important;
  }
  .team-players-grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}
@media(max-width:720px){
  .player-member-registration-grid{
    grid-template-columns:70px 1fr !important;
  }
  .team-players-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:460px){
  .player-member-registration-grid{
    grid-template-columns:1fr !important;
  }
  .team-players-grid{
    grid-template-columns:1fr;
  }
}


/* FBBA87: enforce compact public team roster layout */
.team-officials-row{
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:stretch !important;
  gap:10px !important;
  overflow-x:auto !important;
  padding:2px 0 6px !important;
}

.team-officials-row .team-official-card{
  flex:0 0 150px !important;
  width:150px !important;
  min-width:150px !important;
  max-width:150px !important;
  padding:8px !important;
}

.team-officials-row .team-official-card img,
.team-officials-row .team-official-card .photo-placeholder{
  width:78px !important;
  height:78px !important;
  max-width:78px !important;
  max-height:78px !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  margin:0 auto !important;
}

.team-players-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  align-items:stretch !important;
}

.team-players-grid .team-player-card{
  width:auto !important;
  min-width:0 !important;
  padding:8px !important;
  position:relative !important;
}

.team-players-grid .team-player-card img,
.team-players-grid .team-player-card .photo-placeholder{
  width:104px !important;
  height:104px !important;
  max-width:104px !important;
  max-height:104px !important;
  aspect-ratio:1 / 1 !important;
  object-fit:cover !important;
  margin:0 auto !important;
}

.team-officials-row .person-card h3,
.team-players-grid .person-card h3{
  margin:6px 0 2px !important;
  font-size:.78rem !important;
  line-height:1.15 !important;
}

.team-officials-row .person-card p,
.team-players-grid .person-card p{
  margin:0 !important;
  font-size:.68rem !important;
  line-height:1.15 !important;
}

.team-player-card .player-chest-badge{
  top:7px !important;
  left:7px !important;
  min-width:27px !important;
  padding:3px 5px !important;
  font-size:.64rem !important;
}

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

@media(max-width:680px){
  .team-players-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

@media(max-width:430px){
  .team-players-grid{
    grid-template-columns:1fr !important;
  }

  .team-players-grid .team-player-card img,
  .team-players-grid .team-player-card .photo-placeholder{
    width:92px !important;
    height:92px !important;
    max-width:92px !important;
    max-height:92px !important;
  }
}


/* FBBA100: preserve Pool selection order + show team logos */
.pool-order-help{
  margin:0 0 10px !important;
  padding:8px 10px;
  background:#f7f9fb;
  border-left:4px solid var(--orange);
  border-radius:7px;
}

.admin-pool-team{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}

.admin-pool-team-logo,
.public-pool-team-logo{
  width:30px;
  height:30px;
  min-width:30px;
  flex:0 0 30px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:6px;
  background:#fff;
  font-size:.85rem;
}

.admin-pool-team-logo img,
.public-pool-team-logo img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.pool-assignment-control{
  display:flex;
  align-items:center;
  gap:8px;
}

.pool-assignment-control select{
  margin-top:0 !important;
  min-width:130px;
}

.pool-order-indicator{
  min-width:58px;
  color:var(--orange);
  font-size:.7rem;
  font-weight:900;
  white-space:nowrap;
}

.public-pool-team-list li{
  text-align:left !important;
}

.public-pool-team-entry{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:8px;
  width:100%;
  min-width:0;
}

.public-pool-team-logo{
  width:28px;
  height:28px;
  min-width:28px;
  flex-basis:28px;
}

.public-pool-team-name{
  min-width:0;
  color:var(--navy);
  font-weight:800;
  line-height:1.2;
  overflow-wrap:anywhere;
}

@media(max-width:560px){
  .pool-assignment-control{
    align-items:flex-start;
    flex-direction:column;
    gap:3px;
  }
}


/* FBBA101: compact pool logos — hard limit for admin + public pool displays */
.admin-pool-team-logo,
.public-pool-team-logo{
  width:24px !important;
  height:24px !important;
  min-width:24px !important;
  max-width:24px !important;
  min-height:24px !important;
  max-height:24px !important;
  flex:0 0 24px !important;
  display:inline-grid !important;
  place-items:center !important;
  overflow:hidden !important;
  border:1px solid var(--line) !important;
  border-radius:5px !important;
  background:#fff !important;
  line-height:1 !important;
}
.admin-pool-team-logo img,
.public-pool-team-logo img{
  width:22px !important;
  height:22px !important;
  min-width:22px !important;
  max-width:22px !important;
  min-height:22px !important;
  max-height:22px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}
.admin-pool-team,
.public-pool-team-entry{
  gap:7px !important;
}


/* FBBA103: Schedule pool cards — centered teams, 28x28 logos, roster links */
.public-pools-section .public-pool-team-list li{
  text-align:center !important;
}

.public-pools-section .public-pool-team-entry{
  width:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-width:0 !important;
}

.public-pools-section .public-pool-team-logo{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  max-width:28px !important;
  min-height:28px !important;
  max-height:28px !important;
  flex:0 0 28px !important;
  display:inline-grid !important;
  place-items:center !important;
  overflow:hidden !important;
  border:0 !important;
  border-radius:5px !important;
  background:transparent !important;
  line-height:1 !important;
}

.public-pools-section .public-pool-team-logo img{
  width:28px !important;
  height:28px !important;
  min-width:28px !important;
  max-width:28px !important;
  min-height:28px !important;
  max-height:28px !important;
  object-fit:contain !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
}

.public-pools-section a.public-pool-team-name{
  display:inline-block !important;
  min-width:0 !important;
  color:var(--navy) !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  overflow-wrap:anywhere !important;
}

.public-pools-section a.public-pool-team-name:hover,
.public-pools-section a.public-pool-team-name:focus{
  color:var(--orange) !important;
  text-decoration:underline !important;
  text-underline-offset:2px;
}


/* FBBA104: clearer Schedule-page pool logos */
.public-pools-section .public-pool-team-entry{
  gap:10px !important;
  min-height:42px !important;
}

.public-pools-section .public-pool-team-logo{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  max-width:36px !important;
  min-height:36px !important;
  max-height:36px !important;
  flex:0 0 36px !important;
  border-radius:6px !important;
}

.public-pools-section .public-pool-team-logo img{
  width:36px !important;
  height:36px !important;
  min-width:36px !important;
  max-width:36px !important;
  min-height:36px !important;
  max-height:36px !important;
  object-fit:contain !important;
}

.public-pools-section .public-pool-team-list li{
  padding-top:6px !important;
  padding-bottom:6px !important;
}


/* FBBA105: center two-pool layouts on the Schedule page */
.public-pools-grid.public-pools-count-2{
  grid-template-columns:repeat(2, minmax(0, 365px)) !important;
  justify-content:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

@media (max-width:820px){
  .public-pools-grid.public-pools-count-2{
    grid-template-columns:minmax(0, 1fr) !important;
    max-width:420px !important;
  }
}


/* FBBA111: compact public day-wise schedule */
.day-wise-schedule{
  max-width:1120px !important;
  margin:22px auto 0 !important;
  padding-bottom:8px !important;
}

.day-wise-schedule .compact-section-heading{
  margin-bottom:10px !important;
}

.day-wise-schedule .compact-section-heading h2{
  margin:0 !important;
  font-size:1.28rem !important;
}

.day-wise-schedule .schedule-date{
  margin:16px 0 7px !important;
  font-size:.94rem !important;
  line-height:1.2 !important;
  color:var(--navy) !important;
}

.day-wise-schedule .table-wrap{
  margin:0 0 12px !important;
  border-radius:10px !important;
  overflow:hidden !important;
  border:1px solid var(--line) !important;
  box-shadow:none !important;
}

.day-wise-schedule .schedule-table{
  width:100% !important;
  table-layout:fixed !important;
  border-collapse:collapse !important;
}

.day-wise-schedule .schedule-table th{
  padding:8px 10px !important;
  font-size:.76rem !important;
  line-height:1.1 !important;
  height:34px !important;
}

.day-wise-schedule .schedule-table td{
  padding:8px 10px !important;
  font-size:.79rem !important;
  line-height:1.15 !important;
  height:40px !important;
  vertical-align:middle !important;
}

.day-wise-schedule .schedule-table th:nth-child(1),
.day-wise-schedule .schedule-table td:nth-child(1){
  width:12% !important;
  white-space:nowrap !important;
}

.day-wise-schedule .schedule-table th:nth-child(2),
.day-wise-schedule .schedule-table td:nth-child(2){
  width:10% !important;
  text-align:center !important;
  white-space:nowrap !important;
}

.day-wise-schedule .schedule-table th:nth-child(3),
.day-wise-schedule .schedule-table td:nth-child(3){
  width:15% !important;
  white-space:nowrap !important;
}

.day-wise-schedule .schedule-table th:nth-child(4),
.day-wise-schedule .schedule-table td:nth-child(4){
  width:45% !important;
  min-width:0 !important;
  text-align:center !important;
}

.day-wise-schedule .schedule-table th:nth-child(5),
.day-wise-schedule .schedule-table td:nth-child(5){
  width:18% !important;
  text-align:center !important;
  white-space:nowrap !important;
}

.day-wise-schedule .vs{
  margin:0 7px !important;
  font-size:.76rem !important;
}

.day-wise-schedule .status-badge{
  padding:4px 8px !important;
  font-size:.72rem !important;
  line-height:1 !important;
}

.day-wise-schedule .compact-empty{
  padding:14px 16px !important;
  font-size:.82rem !important;
}

@media(max-width:900px){
  .day-wise-schedule{
    max-width:100% !important;
    margin-top:18px !important;
  }

  .day-wise-schedule .schedule-table{
    table-layout:auto !important;
    min-width:720px !important;
  }

  .day-wise-schedule .table-wrap{
    overflow-x:auto !important;
  }
}

@media(max-width:600px){
  .day-wise-schedule .schedule-date{
    font-size:.88rem !important;
  }

  .day-wise-schedule .schedule-table th,
  .day-wise-schedule .schedule-table td{
    padding:7px 8px !important;
    font-size:.73rem !important;
  }
}


/* FBBA115: Court Name column in public day-wise schedule */
.day-wise-schedule .schedule-table th:nth-child(1),
.day-wise-schedule .schedule-table td:nth-child(1){
  width:11% !important;
  white-space:nowrap !important;
}
.day-wise-schedule .schedule-table th:nth-child(2),
.day-wise-schedule .schedule-table td:nth-child(2){
  width:11% !important;
  text-align:center !important;
  white-space:nowrap !important;
  font-weight:700 !important;
}
.day-wise-schedule .schedule-table th:nth-child(3),
.day-wise-schedule .schedule-table td:nth-child(3){
  width:8% !important;
  text-align:center !important;
  white-space:nowrap !important;
}
.day-wise-schedule .schedule-table th:nth-child(4),
.day-wise-schedule .schedule-table td:nth-child(4){
  width:14% !important;
  white-space:nowrap !important;
  text-align:left !important;
}
.day-wise-schedule .schedule-table th:nth-child(5),
.day-wise-schedule .schedule-table td:nth-child(5){
  width:40% !important;
  min-width:0 !important;
  text-align:center !important;
  white-space:normal !important;
}
.day-wise-schedule .schedule-table th:nth-child(6),
.day-wise-schedule .schedule-table td:nth-child(6){
  width:16% !important;
  text-align:center !important;
  white-space:nowrap !important;
}


/* FBBA122: result ordering / compact score boxes / player emphasis */
.results-summary-list .game-summary-card{
  width:66.6667% !important;
  max-width:66.6667% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.result-detail-page .detailed-score-card{
  width:66.6667% !important;
  max-width:66.6667% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Player name, total score and foul count should be clearly emphasized. */
.detail-player-stats-table tbody td:nth-child(2),
.detail-player-stats-table tbody td:nth-child(6),
.detail-player-stats-table tbody td:nth-child(7){
  font-weight:900 !important;
}

/* Keep "vs" compact and orange between scores. */
.game-summary-final,
.detailed-score-number span{
  text-transform:none !important;
  letter-spacing:0 !important;
  font-weight:900 !important;
  color:var(--orange) !important;
}

@media(max-width:900px){
  .results-summary-list .game-summary-card,
  .result-detail-page .detailed-score-card{
    width:100% !important;
    max-width:100% !important;
  }
}


/* FBBA123: centered quarter table + compact player-stat cards */
.result-detail-page .detail-quarter-wrap{
  width:82% !important;
  max-width:82% !important;
  margin:0 auto 14px !important;
}

.detail-player-stats-grid{
  width:100% !important;
}

.detail-team-stats-card{
  width:66.6667% !important;
  max-width:66.6667% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Increase and emphasize player statistics requested for the detailed report. */
.detail-player-stats-table tbody td:nth-child(2){
  font-size:.84rem !important;
  font-weight:900 !important;
}

.detail-player-stats-table tbody td:nth-child(3),
.detail-player-stats-table tbody td:nth-child(4),
.detail-player-stats-table tbody td:nth-child(5),
.detail-player-stats-table tbody td:nth-child(6),
.detail-player-stats-table tbody td:nth-child(7){
  font-size:.82rem !important;
  font-weight:900 !important;
}

.detail-player-stats-table tbody td:nth-child(3),
.detail-player-stats-table tbody td:nth-child(4),
.detail-player-stats-table tbody td:nth-child(5),
.detail-player-stats-table tbody td:nth-child(7){
  color:var(--navy) !important;
}

@media(max-width:900px){
  .result-detail-page .detail-quarter-wrap,
  .detail-team-stats-card{
    width:100% !important;
    max-width:100% !important;
  }
}


/* FBBA124: live Team Total row in Admin result entry */
.admin-player-stats-table tfoot .admin-team-total-row th{
  background:#eef4fa !important;
  color:var(--navy) !important;
  border-top:3px solid var(--navy) !important;
  padding:9px 8px !important;
  font-size:.82rem !important;
  font-weight:900 !important;
  text-align:center !important;
}

.admin-player-stats-table tfoot .team-total-label{
  text-align:right !important;
  padding-right:14px !important;
}

.admin-player-stats-table .team-score-total{
  color:var(--orange) !important;
  font-size:1rem !important;
}

.team-score-check{
  display:block;
  margin-top:3px;
  font-size:.68rem;
  line-height:1.2;
  font-weight:800;
}

.team-score-check.balanced{
  color:#087443 !important;
}

.team-score-check.mismatch{
  color:#b42318 !important;
}

.admin-player-stats-block.team-total-balanced .team-score-total{
  background:#e8f7ee !important;
  color:#087443 !important;
}

.admin-player-stats-block.team-total-mismatch .team-score-total{
  background:#fff0f0 !important;
  color:#b42318 !important;
}


/* FBBA125: bold all period scores in detailed result quarter table */
.result-detail-page .compact-quarter-table tbody td:not(.final-score){
  font-weight:900 !important;
  color:var(--navy) !important;
}

/* Keep final score emphasis as already designed. */
.result-detail-page .compact-quarter-table .final-score{
  font-weight:900 !important;
}


/* FBBA127: group public completed results by competition day */
.results-days-list{
  display:grid;
  gap:24px;
}

.results-day-group{
  margin:0;
}

.results-day-heading{
  width:66.6667%;
  max-width:66.6667%;
  margin:0 auto 10px;
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:0 2px 8px;
  border-bottom:2px solid var(--orange);
}

.results-day-heading h2{
  margin:0 !important;
  color:var(--navy);
  font-size:1.08rem !important;
  line-height:1.15;
}

.results-day-heading span{
  display:block;
  margin-top:3px;
  color:var(--muted);
  font-size:.74rem;
  font-weight:700;
}

.results-day-heading strong{
  color:var(--navy);
  font-size:.72rem;
  white-space:nowrap;
}

.results-day-group .results-summary-list{
  gap:10px;
}

@media(max-width:900px){
  .results-day-heading{
    width:100%;
    max-width:100%;
  }
}


/* FBBA128: equal 3PT / 2PT / FT spacing + simplified Team Total footer */
.detail-player-stats-table{
  width:100% !important;
  table-layout:fixed !important;
}

.detail-player-stats-table th:nth-child(1),
.detail-player-stats-table td:nth-child(1){
  width:6% !important;
}

.detail-player-stats-table th:nth-child(2),
.detail-player-stats-table td:nth-child(2){
  width:46% !important;
}

.detail-player-stats-table th:nth-child(3),
.detail-player-stats-table td:nth-child(3),
.detail-player-stats-table th:nth-child(4),
.detail-player-stats-table td:nth-child(4),
.detail-player-stats-table th:nth-child(5),
.detail-player-stats-table td:nth-child(5){
  width:9% !important;
}

.detail-player-stats-table th:nth-child(6),
.detail-player-stats-table td:nth-child(6){
  width:13% !important;
}

.detail-player-stats-table th:nth-child(7),
.detail-player-stats-table td:nth-child(7){
  width:8% !important;
}

.detail-player-stats-table tfoot th:nth-child(3),
.detail-player-stats-table tfoot th:nth-child(4),
.detail-player-stats-table tfoot th:nth-child(5){
  color:transparent !important;
}

.detail-player-stats-table tfoot th:nth-child(6),
.detail-player-stats-table tfoot th:nth-child(7){
  color:var(--orange) !important;
  font-weight:900 !important;
}


/* FBBA129: restore Team Total score/fouls in detailed player-stat footer */
.detail-player-stats-table tfoot .team-total-label{
  color:var(--orange) !important;
  font-weight:900 !important;
  text-align:center !important;
}

.detail-player-stats-table tfoot .team-total-score,
.detail-player-stats-table tfoot .team-total-fouls{
  color:var(--orange) !important;
  font-weight:900 !important;
  visibility:visible !important;
  opacity:1 !important;
}

.detail-player-stats-table tfoot .team-total-score{
  font-size:.84rem !important;
}

/* Only the aggregate 3PT / 2PT / FT footer cells stay blank/hidden. */
.detail-player-stats-table tfoot th:nth-child(2),
.detail-player-stats-table tfoot th:nth-child(3),
.detail-player-stats-table tfoot th:nth-child(4){
  color:transparent !important;
}
