:root{--a-blue:#15499f;--a-blue-dark:#081f45;--a-yellow:#ffcc00;--a-ink:#172236;--a-muted:#637083;--a-line:#dce3ec;--a-soft:#f5f7fb;--a-white:#fff;--a-shadow:0 12px 35px rgba(8,31,69,.10)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--a-ink);background:var(--a-soft);line-height:1.5}.admin-shell{width:min(1320px,calc(100% - 36px));margin:auto}.admin-topbar{background:#fff;border-bottom:1px solid var(--a-line)}.admin-topbar-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:24px}.admin-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--a-blue-dark)}.admin-brand img{width:58px;height:62px;object-fit:contain}.admin-brand-copy{display:flex;flex-direction:column}.admin-brand-copy strong{font-size:1.05rem;text-transform:uppercase}.admin-brand-copy small{font-weight:750;color:var(--a-blue)}.admin-top-actions{display:flex;gap:18px}.admin-top-actions a{color:var(--a-blue);font-weight:750}.admin-layout{display:grid;grid-template-columns:230px 1fr;gap:28px;padding:28px 0 50px}.admin-sidebar{background:#fff;border:1px solid var(--a-line);border-radius:18px;padding:14px;height:max-content;position:sticky;top:18px}.admin-sidebar nav{display:flex;flex-direction:column}.admin-sidebar a,.admin-nav-disabled{display:block;padding:10px 12px;border-radius:9px;text-decoration:none;font-weight:750;color:#24344e}.admin-sidebar a:hover{background:var(--a-soft);color:var(--a-blue)}.admin-nav-label{padding:18px 12px 5px;text-transform:uppercase;letter-spacing:.09em;font-size:.68rem;font-weight:900;color:#8a96a7}.admin-nav-disabled{color:#9aa4b2;font-weight:650}.admin-main{min-width:0}.admin-page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;margin:2px 0 24px}.admin-page-heading h1{font-size:clamp(2rem,4vw,3.2rem);line-height:1;margin:.15em 0}.admin-page-heading p{margin:0;color:var(--a-muted);max-width:800px}.admin-page-heading-actions{align-items:center}.admin-eyebrow{text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:900;color:var(--a-blue)}.admin-eyebrow:before{content:"";display:inline-block;width:24px;height:4px;border-radius:99px;background:var(--a-yellow);margin-right:8px;vertical-align:middle}.admin-metric-grid,.admin-card-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.admin-metric,.admin-card{background:#fff;border:1px solid var(--a-line);border-radius:16px;padding:20px;box-shadow:var(--a-shadow)}.admin-metric span,.admin-metric small{display:block;color:var(--a-muted)}.admin-metric strong{display:block;font-size:1.9rem;color:var(--a-blue-dark);margin:3px 0}.admin-card-grid{grid-template-columns:repeat(2,1fr)}.admin-card-link{text-decoration:none;color:inherit;transition:.15s}.admin-card-link:hover{transform:translateY(-2px);border-color:#9eb5da}.admin-card>span{font-size:.7rem;font-weight:900;color:var(--a-blue)}.admin-card h3{margin:.35em 0}.admin-card p{margin:0;color:var(--a-muted)}.admin-section{margin-top:34px}.admin-section-heading{margin-bottom:14px}.admin-section-heading h2{margin:0}.admin-section-heading p,.admin-section-intro{color:var(--a-muted);margin:.25em 0}.admin-roadmap-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.admin-roadmap-grid>div{background:#fff;border:1px solid var(--a-line);border-radius:14px;padding:16px}.admin-roadmap-grid strong,.admin-roadmap-grid span{display:block}.admin-roadmap-grid span{color:var(--a-muted);font-size:.9rem;margin-top:3px}.admin-alert{padding:15px 17px;border-radius:12px;margin-bottom:20px}.admin-alert-warning{background:#fff5cc;border:1px solid #ecd474}.admin-alert-error{background:#ffe4e4;border:1px solid #e7aaaa}.admin-table-wrap{overflow:auto;background:#fff;border:1px solid var(--a-line);border-radius:15px}.admin-table{width:100%;border-collapse:collapse;min-width:720px}.admin-table th{text-align:left;background:var(--a-blue-dark);color:#fff;padding:11px 12px;font-size:.82rem}.admin-table td{padding:11px 12px;border-bottom:1px solid var(--a-line);vertical-align:top}.admin-table small{color:var(--a-muted)}.admin-row-muted{opacity:.55;background:#f5f6f8}.admin-button{display:inline-flex;align-items:center;justify-content:center;background:var(--a-blue);color:#fff;border:2px solid var(--a-blue);border-radius:10px;padding:10px 15px;font-weight:850;text-decoration:none;cursor:pointer}.admin-button:hover{background:#0b3f8f}.admin-button-small{padding:6px 10px;font-size:.82rem}.admin-button-secondary{background:#fff;color:var(--a-blue)}.admin-help-panel{margin-top:18px;background:#eef5ff;border-left:5px solid var(--a-blue);padding:15px 17px;border-radius:10px}.admin-help-panel p{margin:.3em 0 0;color:var(--a-muted)}.admin-form{display:grid;gap:20px}.admin-form-section{background:#fff;border:1px solid var(--a-line);border-radius:16px;padding:22px}.admin-form-section h2{margin-top:0}.admin-form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.admin-form label>span{display:block;font-weight:850;margin-bottom:5px}.admin-form label>span b{font-size:.65rem;text-transform:uppercase;color:var(--a-blue);margin-left:5px}.admin-form input,.admin-form select,.admin-form textarea{width:100%;border:1px solid #b9c5d4;border-radius:9px;padding:10px 11px;font:inherit;background:#fff}.admin-form input:focus,.admin-form select:focus{outline:3px solid rgba(21,73,159,.15);border-color:var(--a-blue)}.admin-form label small{display:block;color:var(--a-muted);margin-top:5px}.admin-field-wide{grid-column:1/-1}.admin-switch-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-switch-grid label{display:flex;gap:10px;background:var(--a-soft);border-radius:12px;padding:13px}.admin-switch-grid input{width:auto;margin-top:4px}.admin-switch-grid span strong,.admin-switch-grid span small{display:block}.admin-switch-grid span small{color:var(--a-muted);margin-top:3px}.admin-form-actions{display:flex;justify-content:flex-end;gap:10px}.admin-note{font-size:.9rem;color:var(--a-muted)}.admin-login-label{font-weight:800}.admin-login-input{border:1px solid #b9c5d4;padding:9px;width:260px}.admin-login-button{background:#15499f;color:#fff;border:0;border-radius:8px;padding:9px 16px;font-weight:800}.admin-login-note{color:#637083}.admin-login-error{color:#a90000;font-weight:800}
@media(max-width:980px){.admin-layout{grid-template-columns:1fr}.admin-sidebar{position:static}.admin-sidebar nav{display:grid;grid-template-columns:repeat(3,1fr)}.admin-nav-label{grid-column:1/-1}.admin-metric-grid{grid-template-columns:repeat(2,1fr)}.admin-roadmap-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.admin-shell{width:min(100% - 22px,1320px)}.admin-topbar-inner{min-height:72px}.admin-brand-copy{display:none}.admin-top-actions a:first-child{display:none}.admin-sidebar nav{grid-template-columns:1fr 1fr}.admin-card-grid,.admin-metric-grid,.admin-roadmap-grid,.admin-form-grid,.admin-switch-grid{grid-template-columns:1fr}.admin-page-heading{align-items:flex-start;flex-direction:column}.admin-form-actions{flex-direction:column-reverse}.admin-button{width:100%}}

/* v0.2.1 authorization */
.admin-user-summary{display:flex;align-items:center;gap:20px}.admin-user-summary>span{font-weight:800;color:var(--a-blue-dark)}
.admin-access-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:20px}.admin-role-pill{display:inline-flex;padding:5px 9px;border-radius:999px;background:#eaf1ff;color:var(--a-blue);font-size:.78rem;font-weight:850}
.admin-access-denied{background:#fff;border:1px solid var(--a-line);border-radius:16px;padding:28px;box-shadow:var(--a-shadow)}
.admin-access-denied h1{margin:.2em 0}.admin-status-muted{color:#8894a5;font-style:italic}
.admin-role-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-role-option{display:flex;gap:12px;border:1px solid var(--a-line);background:var(--a-soft);border-radius:13px;padding:15px;cursor:pointer}.admin-role-option:hover{border-color:#9eb5da}.admin-role-option input{width:auto;margin-top:4px}.admin-role-option span strong,.admin-role-option span small{display:block}.admin-role-option span small{margin-top:4px;color:var(--a-muted)}.admin-role-option.super-admin-option{border-color:#e0b600;background:#fff9d9}
.admin-account-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.admin-account-summary>div{background:var(--a-soft);border-radius:10px;padding:12px}.admin-account-summary strong,.admin-account-summary span{display:block}.admin-account-summary span{margin-top:3px;color:var(--a-muted)}
.admin-confirm-check{display:flex;gap:10px;align-items:flex-start;margin:18px 0}.admin-confirm-check input{width:auto;margin-top:4px}
@media(max-width:650px){.admin-user-summary>span{display:none}.admin-role-grid,.admin-account-summary{grid-template-columns:1fr}}

/* v0.2.2 people core */
.people-metrics{margin-bottom:20px}
.admin-filter-bar{display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;background:#fff;border:1px solid var(--a-line);border-radius:14px;padding:14px;margin-bottom:16px}
.admin-filter-bar label{min-width:190px;flex:1}.admin-filter-bar label>span{display:block;font-size:.78rem;font-weight:850;margin-bottom:4px}.admin-filter-bar input,.admin-filter-bar select{width:100%;border:1px solid #b9c5d4;border-radius:8px;padding:9px;font:inherit}
.status-chip-row{display:flex;gap:5px;flex-wrap:wrap}.status-chip{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f0dada;color:#8a3030;font-size:.68rem;font-weight:850}.status-chip.done{background:#dff3e6;color:#17663b}
.admin-alert-success{background:#e3f4e9;border:1px solid #a4d2b3}
.admin-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-detail-list{display:grid;grid-template-columns:120px 1fr;gap:9px 14px;margin:0}.admin-detail-list dt{font-weight:850;color:var(--a-blue-dark)}.admin-detail-list dd{margin:0;color:var(--a-muted)}.contact-person{padding:12px 0;border-bottom:1px solid var(--a-line)}.contact-person:last-child{border-bottom:0}.contact-person strong,.contact-person span{display:block}.contact-person span{color:var(--a-muted);margin-top:2px}
@media(max-width:760px){.admin-detail-grid{grid-template-columns:1fr}.admin-detail-list{grid-template-columns:1fr}.admin-detail-list dt{margin-top:8px}}

/* v0.2.3 registration foundation */
.registration-program-grid{grid-template-columns:repeat(2,1fr)}
.registration-rule-list{display:grid;grid-template-columns:1fr auto;gap:7px 18px;margin:16px 0 0}
.registration-rule-list dt{color:var(--a-muted)}
.registration-rule-list dd{margin:0;font-weight:850;text-align:right;color:var(--a-blue-dark)}
.registration-rule-list code,.registration-compatibility code{background:#edf1f6;border-radius:5px;padding:2px 5px;color:#3b4658}
.registration-compatibility{border-left-color:var(--a-yellow)}
@media(max-width:760px){.registration-program-grid{grid-template-columns:1fr}.registration-rule-list{grid-template-columns:1fr}.registration-rule-list dd{text-align:left;margin-bottom:4px}}

/* v0.2.5 registration diagnostics */
.diag-pass{display:inline-flex;padding:3px 7px;border-radius:999px;background:#dff3e6;color:#17663b;font-size:.72rem;font-weight:850}
.diag-fail{display:inline-flex;padding:3px 7px;border-radius:999px;background:#f5dddd;color:#8b2b2b;font-size:.72rem;font-weight:850}
.diag-pass.strong,.diag-fail.strong{font-size:.78rem}
.registration-diagnostic-table small{line-height:1.45}

/* v0.3.0 season operations */
.admin-login-input{width:100%!important;box-sizing:border-box!important;border:1px solid #b9c5d4!important;border-radius:9px!important;padding:10px 11px!important;font:inherit!important}
.admin-login-button{background:#15499f!important;color:#fff!important;border:0!important;border-radius:9px!important;padding:10px 18px!important;font-weight:850!important;cursor:pointer!important}
.admin-login-label{font-weight:800!important}
.admin-login-note{color:#5f6f84!important;font-size:.86rem!important}
.admin-login-error{color:#a11212!important;font-weight:800!important}
.membership-export-grid,.ops-demographic-grid,.cancellation-assessment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.ops-demographic-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-mini-table{width:100%;border-collapse:collapse}
.admin-mini-table th,.admin-mini-table td{padding:8px 6px;border-bottom:1px solid #dde4ee;text-align:left}
.admin-mini-table td:last-child,.admin-mini-table th:last-child{text-align:right}
.ops-big-stat{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #dde4ee}
.ops-big-stat strong{font-size:1.5rem}
.status-chip-na{background:#eceff4!important;color:#778190!important}
.admin-button-danger{background:#9d1c1c!important;border-color:#9d1c1c!important;color:#fff!important}
.admin-danger-zone{border:1px solid #efc4c4!important;background:#fffafa}
.admin-danger-choice{display:flex!important;gap:10px!important;align-items:flex-start!important;padding:14px!important;border:1px solid #e8c5c5!important;border-radius:10px!important;background:#fff7f7!important}
.admin-danger-choice input{width:auto!important;margin-top:4px}
.admin-danger-choice span,.admin-danger-choice small{display:block}
.admin-danger-panel{max-width:760px;border:2px solid #c94b4b;border-radius:14px;padding:20px;background:#fffafa}
.cancellation-action-list{line-height:1.6}
.admin-heading-actions{display:flex;gap:10px;flex-wrap:wrap}
@media(max-width:980px){.ops-demographic-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:720px){.membership-export-grid,.ops-demographic-grid,.cancellation-assessment-grid{grid-template-columns:1fr}}

/* v0.5.1.8 true mobile hamburger control panel navigation */
.admin-mobile-hamburger{display:none}

@media(max-width:650px){
  .admin-shell{
    width:min(100% - 22px,1320px)
  }

  .admin-topbar-inner{
    min-height:88px;
    gap:10px
  }

  .admin-brand{
    gap:11px;
    min-width:0;
    flex:1
  }

  .admin-brand img{
    width:58px;
    height:64px
  }

  /*
  Use the open white space beside the logo for the literal product context.
  The desktop Jr Wildcats label is hidden on phones; Control Panel is the
  prominent mobile label.
  */
  .admin-brand-copy{
    display:flex;
    min-width:0
  }

  .admin-brand-copy strong{
    display:none
  }

  .admin-brand-copy small{
    display:block;
    color:var(--a-blue-dark);
    font-size:1.12rem;
    line-height:1.1;
    font-weight:900;
    white-space:nowrap
  }

  .admin-user-summary{
    margin-left:auto;
    gap:8px
  }

  .admin-user-summary>span{
    display:none
  }

  .admin-top-actions{
    display:flex;
    align-items:center;
    gap:10px
  }

  .admin-top-actions a:first-child{
    display:none
  }

  .admin-top-actions a{
    font-size:.9rem;
    white-space:nowrap
  }

  .admin-mobile-hamburger{
    display:inline-flex;
    width:42px;
    height:42px;
    padding:8px;
    border:2px solid var(--a-blue);
    border-radius:10px;
    background:#fff;
    flex-direction:column;
    align-items:stretch;
    justify-content:center;
    gap:5px;
    cursor:pointer
  }

  .admin-mobile-hamburger i{
    display:block;
    height:3px;
    font-style:normal;
    border-radius:99px;
    background:var(--a-blue);
    transition:transform .16s ease,opacity .16s ease
  }

  .admin-mobile-hamburger.is-open i:nth-child(1){
    transform:translateY(8px) rotate(45deg)
  }

  .admin-mobile-hamburger.is-open i:nth-child(2){
    opacity:0
  }

  .admin-mobile-hamburger.is-open i:nth-child(3){
    transform:translateY(-8px) rotate(-45deg)
  }

  /*
  There is no navigation panel in the page flow until the hamburger is opened.
  */
  .admin-layout{
    display:block;
    padding:14px 0 42px
  }

  .admin-sidebar{
    display:none;
    position:static;
    width:100%;
    height:auto;
    margin:0 0 14px;
    padding:8px 10px 12px;
    border:1px solid var(--a-line);
    border-radius:14px;
    background:#fff;
    box-shadow:var(--a-shadow)
  }

  .admin-sidebar.admin-mobile-menu-open{
    display:block
  }

  .admin-sidebar nav{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:2px 8px
  }

  .admin-sidebar a,
  .admin-nav-disabled{
    padding:8px;
    border-radius:7px;
    font-size:.9rem;
    line-height:1.25
  }

  .admin-nav-label{
    grid-column:1/-1;
    padding:11px 8px 2px;
    font-size:.62rem
  }

  .admin-sidebar nav>a:first-child{
    grid-column:1/-1
  }

  .admin-main{
    width:100%
  }

  .admin-card-grid,
  .admin-metric-grid,
  .admin-roadmap-grid,
  .admin-form-grid,
  .admin-switch-grid{
    grid-template-columns:1fr
  }

  .admin-page-heading{
    align-items:flex-start;
    flex-direction:column
  }

  .admin-form-actions{
    flex-direction:column-reverse
  }

  .admin-button{
    width:100%
  }
}

@media(max-width:430px){
  .admin-topbar-inner{
    min-height:82px
  }

  .admin-brand img{
    width:52px;
    height:58px
  }

  .admin-brand-copy small{
    font-size:1rem
  }

  .admin-top-actions{
    gap:7px
  }

  .admin-top-actions a{
    font-size:.84rem
  }

  .admin-mobile-hamburger{
    width:40px;
    height:40px
  }
}

@media(max-width:390px){
  .admin-sidebar nav{
    grid-template-columns:1fr
  }

  .admin-nav-label,
  .admin-sidebar nav>a:first-child{
    grid-column:1
  }
}


/* v0.5.1.9 cache/resilience corrections */
@media(max-width:650px){
  .admin-brand-copy{
    display:flex!important;
    flex-direction:column;
    min-width:0
  }
  .admin-brand-copy strong{
    display:none!important
  }
  .admin-brand-copy small{
    display:block!important
  }
  .admin-mobile-hamburger i{
    width:100%;
    flex:0 0 3px
  }
  .admin-sidebar:not(.admin-mobile-menu-open){
    display:none!important
  }
  .admin-sidebar.admin-mobile-menu-open{
    display:block!important
  }
}


/* v0.6.4.1 Club administration completion */
.admin-resource-table{
  width:100%;
  table-layout:fixed;
  min-width:0
}
.admin-resource-table th:nth-child(1){width:20%}
.admin-resource-table th:nth-child(2){width:90px}
.admin-resource-table th:nth-child(3){width:auto}
.admin-resource-table th:nth-child(4){width:110px}
.admin-resource-table th:nth-child(5){width:90px}
.admin-resource-url{
  overflow-wrap:anywhere;
  word-break:break-word;
  white-space:normal
}
.admin-resource-action{
  white-space:nowrap
}
.admin-resource-status{
  line-height:1.35
}
.admin-document-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:16px
}
.admin-inline-actions,
.admin-filter-links{
  display:flex;
  gap:8px;
  flex-wrap:wrap
}
.admin-document-grid .admin-button,
.admin-inline-actions .admin-button,
.admin-filter-links .admin-button{
  width:auto
}
@media(max-width:700px){
  .admin-resource-table th:nth-child(4),
  .admin-resource-table td:nth-child(4){
    display:none
  }
  .admin-resource-table th:nth-child(1){width:27%}
  .admin-resource-table th:nth-child(2){width:78px}
  .admin-resource-table th:nth-child(5){width:78px}
}
@media(max-width:500px){
  .admin-resource-table th:nth-child(5),
  .admin-resource-table td:nth-child(5){
    display:none
  }
  .admin-resource-table th:nth-child(1){width:34%}
  .admin-resource-table th:nth-child(2){width:76px}
}

/* v0.6.4.2 */
.admin-status-good{display:inline-block;padding:4px 9px;border-radius:999px;background:#e5f6ea;color:#176334;font-size:.82rem;font-weight:800}
.admin-status-warning{display:inline-block;padding:4px 9px;border-radius:999px;background:#fff1cc;color:#6d5000;font-size:.82rem;font-weight:800}
.admin-legacy-assets{table-layout:fixed;min-width:0}
.admin-legacy-assets th:nth-child(1){width:95px}.admin-legacy-assets th:nth-child(2){width:28%}.admin-legacy-assets th:nth-child(3){width:105px}.admin-legacy-assets th:nth-child(5){width:125px}
input[type=file]{width:100%;max-width:100%}
@media(max-width:700px){.admin-legacy-assets th:nth-child(3),.admin-legacy-assets td:nth-child(3){display:none}}


/* v0.6.4.3 document previews */
.admin-document-card{
  overflow:hidden
}
.admin-document-preview{
  height:120px;
  margin:-4px -4px 14px;
  border:1px solid #d8e0ec;
  border-radius:12px;
  background:#f6f8fb;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden
}
.admin-document-preview img{
  width:100%;
  height:100%;
  object-fit:contain;
  background:#fff
}
.admin-document-filetype{
  min-width:78px;
  min-height:58px;
  padding:12px 14px;
  border:2px solid #174fa6;
  border-radius:10px;
  background:#fff;
  color:#174fa6;
  font-weight:900;
  font-size:.86rem;
  letter-spacing:.04em;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center
}
@media(max-width:650px){
  .admin-document-preview{height:105px}
}


/* v0.6.4.3.1 PDF first-page object preview */
.admin-document-pdf-object{
  display:block;
  width:100%;
  height:100%;
  border:0;
  background:#fff;
  pointer-events:none
}
.admin-document-pdf-object .admin-document-filetype{
  margin:auto
}


/* v0.7.0.0 fundraising + sponsors */
.admin-fund-progress{
  height:18px;background:#dfe6ef;border-radius:999px;overflow:hidden;margin:18px 0 6px;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.08)
}
.admin-fund-progress>div{height:100%;background:linear-gradient(90deg,#15499f,#ffcc00);border-radius:999px}
.admin-season-selector{display:flex;align-items:center;gap:10px;margin:0 0 18px}
.admin-season-selector select{border:1px solid #b9c5d4;border-radius:9px;padding:9px 11px;font:inherit;background:#fff}
.admin-heading-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
@media(max-width:650px){.admin-heading-actions{width:100%;justify-content:stretch}.admin-heading-actions .admin-button{width:100%}}
