/* SWLARC Club Management v2.12.7 — Member / Guest Volunteer Picker */
.hf211{font-family:"Segoe UI",Arial,sans-serif;color:#17212b}
.hf211 *{box-sizing:border-box}
.hf211-hero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;background:#103d5b;color:#fff;border-top:4px solid #f58a1f}
.hf211-hero h2{margin:3px 0 5px;font-size:24px}
.hf211-hero p{margin:0;max-width:720px;color:#d7e3ec}
.hf211-eyebrow{display:block;font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase;color:#f58a1f}
.hf211-hero-actions{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.hf211 button{font:inherit}
.hf211-hero-actions button,.hf211-panel-head button,.hf211-row-actions button,.hf211-tabs button{cursor:pointer}
.hf211-hero-actions button{min-height:34px;padding:0 11px;border:1px solid #68849a;background:#244e69;color:#fff;font-weight:700}
.hf211-hero-actions button.primary{background:#f58a1f;border-color:#f58a1f}
.hf211-facts{display:grid;grid-template-columns:repeat(5,1fr);background:#fff;border:1px solid #d8e0e8;border-top:0}
.hf211-facts>div{padding:12px 14px;border-right:1px solid #e1e6eb}
.hf211-facts>div:last-child{border-right:0}
.hf211-facts span,.hf211-metric span{display:block;font-size:9px;font-weight:800;letter-spacing:.1em;color:#6b7b8c}
.hf211-facts strong{display:block;margin-top:4px;font-size:15px}
.hf211-facts small,.hf211-metric small{display:block;margin-top:3px;color:#718092;font-size:10px}
.hf211-tabs{display:flex;gap:0;overflow-x:auto;background:#0d2242;border-bottom:3px solid #f58a1f}
.hf211-tabs button{flex:0 0 auto;min-height:43px;padding:0 14px;border:0;border-right:1px solid #29415f;background:transparent;color:#dbe4ef;font-size:11px;font-weight:700}
.hf211-tabs button.active{background:#f58a1f;color:#fff}
.hf211-body{padding:14px 0 0}
.hf211-grid{display:grid;gap:10px;margin-bottom:12px}
.hf211-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.hf211-metric{padding:13px;background:#fff;border:1px solid #d9e1e8}
.hf211-metric strong{display:block;margin-top:4px;font-size:22px;color:#0d2242}
.hf211-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
.hf211-panel{margin-bottom:12px;background:#fff;border:1px solid #d8e0e8;box-shadow:0 4px 14px rgba(13,34,66,.04)}
.hf211-panel-head{display:flex;justify-content:space-between;gap:14px;align-items:center;padding:13px 15px;border-bottom:1px solid #e3e8ed}
.hf211-panel-head h3{margin:2px 0 0;font-size:16px}
.hf211-panel-head button{min-height:31px;padding:0 10px;border:1px solid #164f7a;background:#164f7a;color:#fff;font-weight:700;font-size:11px}
.hf211-dl{margin:0;padding:4px 15px 12px}
.hf211-dl>div{display:grid;grid-template-columns:140px 1fr;gap:12px;padding:8px 0;border-bottom:1px solid #edf0f3}
.hf211-dl>div:last-child{border-bottom:0}
.hf211-dl dt{font-size:10px;font-weight:800;color:#6c7a89;text-transform:uppercase}
.hf211-dl dd{margin:0;font-size:12px}
.hf211-mini-metrics{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:#e5eaf0}
.hf211-mini-metrics>div{padding:18px;background:#fff}
.hf211-mini-metrics strong{display:block;font-size:24px;color:#0d2242}
.hf211-mini-metrics span{font-size:10px;color:#687789}
.hf211-table-wrap{overflow:auto}
.hf211-table-wrap table{width:100%;border-collapse:collapse;min-width:720px}
.hf211-table-wrap th{padding:9px 10px;text-align:left;background:#f3f6f8;color:#687789;font-size:9px;letter-spacing:.08em;text-transform:uppercase;border-bottom:1px solid #dfe5ea}
.hf211-table-wrap td{padding:9px 10px;border-bottom:1px solid #edf0f3;font-size:11px;vertical-align:top}
.hf211-table-wrap tr:last-child td{border-bottom:0}
.hf211-table-wrap td small{display:block;margin-top:3px;color:#728193}
.hf211-table-wrap a{color:#075caa}
.hf211-badge{display:inline-block;padding:3px 6px;background:#e8edf2;color:#435568;font-size:9px;font-weight:800;text-transform:uppercase}
.hf211-badge.good{background:#dff3e7;color:#176c3c}
.hf211-badge.warn{background:#fff0ce;color:#8a5900}
.hf211-badge.bad{background:#f8dddd;color:#962e2e}
.hf211-row-actions{display:flex;gap:4px;justify-content:flex-end}
.hf211-row-actions button{padding:4px 7px;border:1px solid #bac6d1;background:#f7f9fb;color:#173c5c;font-size:9px;font-weight:700}
.hf211-row-actions button.danger{color:#9b2e2e}
.hf211-inline-actions .hf211-row-actions{display:inline-flex;margin-left:5px}
.hf211-team-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:12px}
.hf211-team{border:1px solid #dce3e9;background:#fbfcfd}
.hf211-team-head{display:flex;justify-content:space-between;padding:9px 10px;background:#0d2242;color:#fff}
.hf211-team-head span{min-width:22px;text-align:center;background:#264565}
.hf211-team-person{display:flex;justify-content:space-between;gap:8px;padding:9px 10px;border-bottom:1px solid #e7ebef}
.hf211-team-person:last-child{border-bottom:0}
.hf211-team-person strong{display:block}
.hf211-team-person small{display:block;margin-top:2px;color:#708093}
.hf211-note{display:flex;gap:14px;padding:12px 14px;margin-bottom:12px;border-left:4px solid #d4a02c;background:#fff7e8;color:#53461f}
.hf211-note b{min-width:170px}
.hf211-loading,.hf211-error{padding:20px;background:#fff;border:1px solid #d8e0e8}
.hf211-error span{display:block;margin-top:5px;color:#a33131}

.hf211-dialog{width:min(820px,94vw);max-height:88vh;padding:0;border:0;border-radius:4px;box-shadow:0 18px 55px rgba(0,0,0,.35)}
.hf211-dialog::backdrop{background:rgba(6,24,43,.68)}
.hf211-dialog form{margin:0}
.hf211-dialog-head{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;background:#0d3c5b;color:#fff;border-bottom:4px solid #f58a1f}
.hf211-dialog-head span{display:block;font-size:9px;font-weight:800;letter-spacing:.14em;color:#ffad58}
.hf211-dialog-head h3{margin:3px 0 0;font-size:20px}
.hf211-dialog-head button{width:32px;height:32px;border:1px solid #7690a7;background:transparent;color:#fff;font-size:20px}
.hf211-dialog-error{min-height:0;padding:0 18px;color:#b32929}
.hf211-dialog-error:not(:empty){padding-top:12px}
.hf211-dialog-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:18px;max-height:58vh;overflow:auto}
.hf211-field{display:block}
.hf211-field.wide{grid-column:1/-1}
.hf211-field>span{display:block;margin-bottom:4px;color:#637487;font-size:10px;font-weight:800;text-transform:uppercase}
.hf211-field input,.hf211-field select,.hf211-field textarea{width:100%;min-height:40px;padding:8px;border:1px solid #b9c6d2;background:#fff;font:inherit}
.hf211-field textarea{min-height:90px;resize:vertical}
.hf211-field.checkbox{display:flex;align-items:center;gap:8px;padding-top:22px}
.hf211-field.checkbox input{width:auto;min-height:0}
.hf211-field.checkbox span{margin:0}
.hf211-dialog-foot{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;background:#f2f5f8;border-top:1px solid #dbe2e8}
.hf211-dialog-foot button{min-height:36px;padding:0 14px;border:1px solid #b8c5d0;background:#fff;font-weight:700}
.hf211-dialog-foot button.primary{background:#f58a1f;border-color:#f58a1f;color:#fff}

@media(max-width:1050px){
  .hf211-facts{grid-template-columns:repeat(2,1fr)}
  .hf211-grid-4{grid-template-columns:repeat(2,1fr)}
  .hf211-team-grid{grid-template-columns:repeat(2,1fr)}
  .hf211-hero{align-items:flex-start;flex-direction:column}
}
@media(max-width:720px){
  .hf211-two,.hf211-grid-4,.hf211-team-grid{grid-template-columns:1fr}
  .hf211-facts{grid-template-columns:1fr}
  .hf211-dialog-fields{grid-template-columns:1fr}
  .hf211-field.wide{grid-column:auto}
  .hf211-note{flex-direction:column;gap:5px}
}


/* =====================================================================
   v2.11.1 — Useful Overview / planning readiness
   ===================================================================== */
.hf211-overview-pair{
  align-items:stretch;
}

.hf211-overview-pair > .hf211-panel{
  margin-bottom:0;
}

.hf211-progress-list{
  padding:6px 15px 10px;
}

.hf211-progress-row{
  padding:10px 0;
  border-bottom:1px solid #edf0f3;
}

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

.hf211-progress-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  margin-bottom:7px;
}

.hf211-progress-head b{
  display:block;
  font-size:11px;
  color:#17212b;
}

.hf211-progress-head span{
  display:block;
  margin-top:2px;
  color:#718092;
  font-size:9px;
  line-height:1.35;
}

.hf211-progress-head strong{
  white-space:nowrap;
  color:#0d2242;
  font-size:13px;
}

.hf211-progress-track{
  height:7px;
  overflow:hidden;
  background:#e7edf2;
}

.hf211-progress-track > span{
  display:block;
  height:100%;
  min-width:0;
  background:#6d8194;
}

.hf211-progress-track > span.good{
  background:#2d8a57;
}

.hf211-progress-track > span.warn{
  background:#d99a28;
}

.hf211-legacy-note{
  margin:0 15px 14px;
  padding:9px 10px;
  background:#f4f7fa;
  border-left:3px solid #7f94a6;
  color:#59697a;
  font-size:9px;
  line-height:1.45;
}

.hf211-legacy-note.quiet{
  background:#f8fafb;
  color:#758392;
}

.hf211-legacy-note button{
  padding:0;
  border:0;
  background:transparent;
  color:#075caa;
  font:inherit;
  font-weight:700;
  text-decoration:underline;
  cursor:pointer;
}

.hf211-attention-panel{
  border-left:4px solid #d99a28;
}

.hf211-attention-list{
  list-style:none;
  margin:0;
  padding:4px 15px 12px;
}

.hf211-attention-list li{
  position:relative;
  padding:10px 10px 10px 14px;
  margin-top:6px;
  background:#fff8e8;
  border-left:3px solid #d99a28;
}

.hf211-attention-list li.critical{
  background:#fff0f0;
  border-left-color:#b54141;
}

.hf211-attention-list b{
  display:block;
  font-size:11px;
  color:#253342;
}

.hf211-attention-list span{
  display:block;
  margin-top:2px;
  color:#667586;
  font-size:9px;
  line-height:1.4;
}

.hf211-all-clear{
  padding:15px;
}

.hf211-all-clear b{
  display:block;
  color:#216a42;
}

.hf211-all-clear span{
  display:block;
  margin-top:3px;
  color:#6f7f8e;
  font-size:10px;
}

@media(max-width:720px){
  .hf211-progress-head{
    flex-direction:column;
    gap:4px;
  }
}


/* =====================================================================
   v2.11.2 — Packet data is starter content, not a locked schema
   ===================================================================== */
.hf211-field-help{
  display:block;
  margin-top:4px;
  color:#7b8997;
  font-size:9px;
  font-weight:500;
  text-transform:none;
  letter-spacing:0;
}

.hf211-dl dd small{
  display:block;
  margin-top:3px;
  color:#718092;
  font-size:9px;
  line-height:1.35;
}

.hf211-dialog-fields .hf211-field textarea{
  min-height:105px;
}


/* =====================================================================
   v2.12 — Registration / Check-In / Money
   ===================================================================== */
.hf211-money-due{
  color:#a02e2e;
}

.hf211-money-ok{
  color:#237148;
}

.hf211-tabs{
  scrollbar-width:thin;
}

.hf211-tabs button{
  white-space:nowrap;
}

@media(max-width:900px){
  .hf211-tabs{
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
  }
}


/* =====================================================================
   v2.12.1 — Volunteer check-in
   ===================================================================== */
.hf211-vol-actions{
  min-width:150px;
  text-align:right;
}

.hf211-vol-time{
  color:#6c7b8a!important;
  font-variant-numeric:tabular-nums;
}

.hf211-team-person .hf211-row-actions{
  margin-top:6px;
  flex-wrap:wrap;
}

@media(max-width:720px){
  .hf211-team-person{
    flex-direction:column;
  }
  .hf211-vol-actions{
    min-width:0;
    text-align:left;
  }
}


/* =====================================================================
   v2.12.3 — Compact Volunteer Check-In Board
   ===================================================================== */
.hf211-vol-filter2123{
  display:grid;
  grid-template-columns:minmax(260px,2fr) minmax(150px,1fr) minmax(170px,1fr) auto;
  gap:8px;
  align-items:end;
  padding:10px 12px;
  background:#f3f6f8;
  border-bottom:1px solid #dde4ea;
}

.hf211-vol-filter2123 label span{
  display:block;
  margin-bottom:4px;
  color:#697989;
  font-size:9px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.hf211-vol-filter2123 input,
.hf211-vol-filter2123 select{
  width:100%;
  min-height:34px;
  padding:6px 8px;
  border:1px solid #b9c6d1;
  background:#fff;
}

.hf211-vol-filter2123>button{
  min-height:34px;
  padding:0 10px;
  border:1px solid #b9c6d1;
  background:#fff;
  color:#173b5b;
  font-weight:700;
  cursor:pointer;
}

.hf211-vol-board2123{
  padding:10px;
}

.hf211-team2123{
  margin-bottom:10px;
  border:1px solid #d9e1e8;
  background:#fff;
}

.hf211-team-head2123{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  min-height:42px;
  padding:7px 9px 7px 11px;
  background:#0d2242;
  color:#fff;
}

.hf211-team-head2123 strong{
  display:block;
  font-size:13px;
}

.hf211-team-head2123 span{
  display:block;
  margin-top:2px;
  color:#bfcbd8;
  font-size:9px;
}

.hf211-team-head2123 button{
  min-height:29px;
  padding:0 9px;
  border:1px solid #65809c;
  background:#1e466a;
  color:#fff;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
}

.hf211-vol-list2123{
  width:100%;
}

.hf211-vol-row2123{
  display:grid;
  grid-template-columns:minmax(220px,2fr) minmax(105px,.8fr) minmax(220px,1.5fr) auto;
  gap:10px;
  align-items:center;
  min-height:52px;
  padding:7px 9px 7px 11px;
  border-bottom:1px solid #edf0f3;
}

.hf211-vol-row2123:last-child{
  border-bottom:0;
}

.hf211-vol-row2123.on-site2123{
  background:#f0faf4;
  border-left:4px solid #2e8b57;
  padding-left:7px;
}

.hf211-vol-row2123 .identity2123 strong{
  display:block;
  font-size:11px;
}

.hf211-vol-row2123 .identity2123 span,
.hf211-vol-row2123 .day2123 small{
  display:block;
  margin-top:2px;
  color:#718091;
  font-size:9px;
}

.hf211-vol-row2123 .label2123{
  display:block;
  margin-bottom:3px;
  color:#7b8996;
  font-size:8px;
  font-weight:800;
  letter-spacing:.07em;
  text-transform:uppercase;
}

.hf211-vol-row2123 .actions2123{
  display:flex;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:4px;
}

.hf211-vol-row2123 .actions2123 button{
  min-height:27px;
  padding:0 7px;
  border:1px solid #b7c4cf;
  background:#f8fafb;
  color:#173b5b;
  font-size:9px;
  font-weight:700;
  cursor:pointer;
}

.hf211-vol-row2123 .actions2123 .checkin2123{
  background:#1f7246;
  border-color:#1f7246;
  color:#fff;
}

.hf211-vol-row2123 .actions2123 .checkout2123{
  background:#164f7a;
  border-color:#164f7a;
  color:#fff;
}

.hf211-vol-row2123 .actions2123 .danger{
  color:#9b2e2e;
}

.hf211-vol-empty2123{
  margin:0;
  padding:18px;
  color:#6f7e8e;
  text-align:center;
}

@media(max-width:1000px){
  .hf211-vol-filter2123{
    grid-template-columns:1fr 1fr;
  }

  .hf211-vol-row2123{
    grid-template-columns:minmax(180px,1.5fr) minmax(100px,.8fr) minmax(180px,1fr);
  }

  .hf211-vol-row2123 .actions2123{
    grid-column:1/-1;
    justify-content:flex-start;
  }
}

@media(max-width:650px){
  .hf211-vol-filter2123{
    grid-template-columns:1fr;
  }

  .hf211-team-head2123{
    align-items:flex-start;
    flex-direction:column;
  }

  .hf211-team-head2123 button{
    width:100%;
  }

  .hf211-vol-row2123{
    grid-template-columns:1fr;
  }

  .hf211-vol-row2123 .actions2123{
    grid-column:auto;
  }
}


/* =====================================================================
   v2.12.4 — Persistent teams / Add Team
   ===================================================================== */
.hf211-panel-actions2124{
  display:flex;
  gap:6px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.hf211-panel-actions2124 .secondary2124{
  background:#fff;
  border-color:#174a78;
  color:#174a78;
}

.hf211-empty-team2124{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  min-height:50px;
  padding:10px 11px;
  color:#718091;
  font-size:10px;
  background:#fafcfd;
}

.hf211-empty-team2124 button{
  min-height:28px;
  padding:0 9px;
  border:1px solid #174a78;
  background:#fff;
  color:#174a78;
  font-size:9px;
  font-weight:800;
  cursor:pointer;
}

@media(max-width:650px){
  .hf211-panel-actions2124{
    width:100%;
    justify-content:flex-start;
  }

  .hf211-panel-actions2124 button{
    flex:1 1 45%;
  }

  .hf211-empty-team2124{
    align-items:flex-start;
    flex-direction:column;
  }

  .hf211-empty-team2124 button{
    width:100%;
  }
}


/* =====================================================================
   v2.12.5 — Cleaner volunteer/team entry forms
   ===================================================================== */
.hf211-dialog-fields{
  align-items:start;
}

.hf211-dialog-fields .hf211-field-help{
  line-height:1.25;
}

.hf211-dialog-fields input[list]{
  background-color:#fff;
}

@media(min-width:721px){
  .hf211-dialog-fields textarea[name="notes"]{
    min-height:90px;
  }
}


/* =====================================================================
   v2.12.6 — Controlled workflow status dropdowns
   ===================================================================== */
.hf211-dialog-fields select{
  cursor:pointer;
}


/* =====================================================================
   v2.12.7 — Member / Guest volunteer picker
   ===================================================================== */
.hf211-volunteer-picker2127{
  grid-column:1/-1;
}

.hf211-volunteer-picker2127 select{
  min-height:42px;
  font-weight:600;
}

.hf211-dialog-field-guest2127[hidden],
.hf211-field[hidden]{
  display:none!important;
}
