/* Calendar/Event Mode context cleanup */
.hsp-em-context-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:14px 20px;align-items:center;margin:0 0 16px;padding:16px 18px;border:1px solid #34343b;border-left:4px solid #f5aa16;border-radius:14px;background:#111115}
.hsp-em-context-card.correction{border-left-color:#9d7a36}.hsp-em-context-main{min-width:0}.hsp-em-context-main h2{margin:2px 0 4px}.hsp-em-context-main p,.hsp-em-context-main small{display:block;margin:0;overflow-wrap:normal;word-break:normal}.hsp-em-context-main small{margin-top:5px;color:#aaaab2}.hsp-em-context-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.hsp-em-same-day{grid-column:1/-1;display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding-top:11px;border-top:1px solid #29292f}.hsp-em-same-day>span{font-size:.78rem;color:#aaaab2;margin-right:2px}.hsp-em-same-day .button{white-space:normal;text-align:left}
.hsp-em-chooser{width:min(860px,92vw)}.hsp-em-chooser-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.hsp-em-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0}.hsp-em-tabs .button span{margin-left:6px;opacity:.8}.hsp-em-results{display:grid;gap:14px;max-height:min(58vh,620px);overflow:auto;padding-right:4px}.hsp-em-day{display:grid;gap:8px}.hsp-em-day>header{display:flex;justify-content:space-between;gap:12px;color:#c4c4ca;font-size:.82rem;padding:3px 2px}.hsp-em-event-row{border:1px solid #303038;border-radius:12px;background:#111115;overflow:hidden}.hsp-em-event-row.selected{border-color:#f5aa16}.hsp-em-event-row>button{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;text-align:left;padding:12px 14px;border:0;background:transparent;color:inherit;cursor:pointer}.hsp-em-event-row>button:hover{background:#19191e}.hsp-em-state{align-self:start;border:1px solid #3b3b44;border-radius:999px;padding:4px 7px;font-size:.68rem;white-space:nowrap}.hsp-em-event-row.in-progress .hsp-em-state{border-color:#147a50;color:#62e6a9}.hsp-em-event-row.needs-closeout .hsp-em-state{border-color:#8d6925;color:#f5c45f}.hsp-em-event-row.closed .hsp-em-state{color:#aaaab2}.hsp-em-copy{display:grid;gap:2px;min-width:0}.hsp-em-copy b,.hsp-em-copy small{overflow-wrap:normal;word-break:normal}.hsp-em-copy small{color:#aaaab2}.hsp-em-action{font-size:.76rem;color:#f5aa16;text-align:right;white-space:nowrap}
@media(max-width:760px){.hsp-em-context-card{grid-template-columns:1fr}.hsp-em-context-actions{justify-content:flex-start}.hsp-em-event-row>button{grid-template-columns:1fr}.hsp-em-state{justify-self:start}.hsp-em-action{text-align:left}.hsp-em-chooser-head{display:grid}.hsp-em-chooser-head .button{justify-self:start}.hsp-em-same-day{display:grid}.hsp-em-same-day .button{width:100%}}

/* Event Mode attendance outcomes: distinguish saved decisions from unresolved attendance. */
.s682-participant[data-attendance-status]{transition:border-color .15s ease,background .15s ease}
.s682-participant.attendance-present{border-color:#2f5f4b}
.s682-participant.attendance-present .s682-status-dot{background:#34d399;box-shadow:0 0 0 4px rgba(52,211,153,.12)}
.s682-participant.attendance-late{border-color:#7a5d1d}
.s682-participant.attendance-late .s682-status-dot{background:#f5b942;box-shadow:0 0 0 4px rgba(245,185,66,.13)}
.s682-participant.attendance-absent{border-color:#7c3036}
.s682-participant.attendance-absent .s682-status-dot{background:#ef646d;box-shadow:0 0 0 4px rgba(239,100,109,.13)}
.s682-participant.attendance-excused{border-color:#355a78}
.s682-participant.attendance-excused .s682-status-dot{background:#67a9df;box-shadow:0 0 0 4px rgba(103,169,223,.13)}
.s682-participant.attendance-pending{border-color:#37353a}
.s682-participant.attendance-pending .s682-status-dot{background:#645f57;box-shadow:0 0 0 4px rgba(100,95,87,.14)}
.s682-participant.attendance-present .hsp-attendance-outcome{color:#9edec0}
.s682-participant.attendance-late .hsp-attendance-outcome{color:#ebcb7a}
.s682-participant.attendance-absent .hsp-attendance-outcome{color:#eba0a5}
.s682-participant.attendance-excused .hsp-attendance-outcome{color:#a8cae6}
.s682-participant.attendance-pending .hsp-attendance-outcome{color:#aaa6a0}


/* Manager manual Event Mode controls - same Attendance/Time Clock engines as Member Tickets. */
.hsp-em-manager-controls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;min-width:min(430px,46vw)}
.hsp-em-manager-live,.hsp-em-manager-correction{display:grid;gap:5px}
.hsp-em-manager-live>small,.hsp-em-manager-correction>small{font-size:.65rem;text-transform:uppercase;letter-spacing:.08em;color:#8f8f98;font-weight:800}
.hsp-em-manager-live>div{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.hsp-em-manager-correction{justify-items:end}
.hsp-em-manager-note{font-size:.72rem;color:#aaaab2;line-height:1.3;max-width:260px}
.s682-participant [data-hsp-manager-time][aria-busy=true],.s682-participant [data-hsp-manager-attendance][aria-busy=true]{opacity:.82}
@media(max-width:980px){.hsp-em-manager-controls{grid-template-columns:1fr;min-width:0;width:100%}.hsp-em-manager-correction{justify-items:start}}
@media(max-width:620px){.hsp-em-manager-live>div{display:grid;grid-template-columns:1fr 1fr}.hsp-em-manager-live>div .button{width:100%}.hsp-em-manager-live>div .button.primary:last-child:nth-child(3){grid-column:1/-1}.hsp-em-manager-correction .button{width:100%}}


/* Event Mode participant cards: responsive reflow without letter-by-letter wrapping. */
.s682-participant,
.s682-participant>*{min-width:0}
.s682-participant-identity{min-width:0}
.s682-participant-identity>b,
.s682-participant-identity>small,
.s682-participant-schedule>span,
.s682-participant-schedule>span>*{
  min-width:0;
  white-space:normal;
  word-break:normal;
  overflow-wrap:break-word;
}
.s682-participant-schedule>span{display:block}

/* When the content area narrows, move manager actions below the person details
   instead of allowing the third desktop column to crush the schedule column. */
@media(max-width:1180px){
  .s682-participant{
    grid-template-columns:18px minmax(0,1fr);
    align-items:start;
  }
  .s682-participant .hsp-em-manager-controls{
    grid-column:2/-1;
    width:100%;
    min-width:0;
    margin-top:8px;
  }
  .s682-participant-schedule{
    grid-template-columns:repeat(3,minmax(140px,1fr));
  }
}

@media(max-width:840px){
  .s682-participant-schedule{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .s682-participant-schedule>span:first-child{
    grid-column:1/-1;
  }
}

@media(max-width:700px){
  .s682-participant .hsp-em-manager-controls{
    grid-column:1/-1;
  }
}

@media(max-width:560px){
  .s682-participant-schedule{
    grid-template-columns:1fr;
  }
  .s682-participant-schedule>span:first-child{
    grid-column:auto;
  }
}

/* Event Mode participant cards - final intrinsic responsive layout.
   The schedule responds to the card's real width instead of viewport width,
   and manager controls always occupy their own row so they cannot crush text. */
.s682-participant{
  display:grid !important;
  grid-template-columns:18px minmax(0,1fr) !important;
  grid-template-areas:
    "status identity"
    ". controls" !important;
  align-items:start !important;
  gap:10px 12px !important;
}
.s682-participant>.s682-status-dot{
  grid-area:status !important;
  align-self:start !important;
  margin-top:7px !important;
}
.s682-participant>.s682-participant-identity{
  grid-area:identity !important;
  width:100% !important;
  min-width:0 !important;
}
.s682-participant>.hsp-em-manager-controls,
.s682-participant>.table-actions{
  grid-area:controls !important;
  grid-column:auto !important;
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  justify-self:stretch !important;
}
.s682-participant-schedule{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,160px),1fr)) !important;
  gap:8px !important;
  width:100% !important;
  min-width:0 !important;
}
.s682-participant-schedule>span{
  display:block !important;
  min-width:0 !important;
  width:auto !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
}
.s682-participant-schedule>span>b{
  display:inline !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
}
.hsp-em-manager-controls{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr)) !important;
  align-items:start !important;
  gap:10px 14px !important;
}
.hsp-em-manager-correction{
  justify-items:start !important;
}
.hsp-em-manager-live>div{
  min-width:0 !important;
}
@media(max-width:560px){
  .s682-participant{
    grid-template-columns:14px minmax(0,1fr) !important;
    gap:9px 10px !important;
  }
  .s682-participant-schedule{
    grid-template-columns:1fr !important;
  }
  .hsp-em-manager-controls{
    grid-template-columns:1fr !important;
  }
}
