#aksc-attendance-root { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; }
.aksc-attendance-auth-card {
  max-width: 420px;
  margin: 2.5rem auto;
  padding: 2rem 2.4rem;
  border-radius: 1.25rem;
  background: rgba(11, 18, 32, .92);
  border: 1px solid rgba(51, 65, 85, .65);
  box-shadow: 0 22px 45px rgba(2, 6, 23, .35);
  color: #e2e8f0;
  text-align: left;
}
.aksc-attendance-auth-card h2 {
  margin: 0 0 .85rem;
  font-size: 1.6rem;
  font-weight: 700;
}
.aksc-attendance-auth-card p {
  margin: 0 0 1.15rem;
  line-height: 1.6;
  color: rgba(226, 232, 240, .82);
}
.aksc-attendance-auth-card label {
  font-weight: 600;
  color: rgba(226, 232, 240, .9);
}
.aksc-attendance-auth-card input[type="text"],
.aksc-attendance-auth-card input[type="password"],
.aksc-attendance-auth-card input[type="checkbox"] {
  background: rgba(15, 23, 42, .95);
  color: #f8fafc;
  border: 1px solid rgba(71, 85, 105, .8);
  border-radius: .75rem;
}
.aksc-attendance-auth-card input[type="text"],
.aksc-attendance-auth-card input[type="password"] {
  width: 100%;
  padding: .65rem .85rem;
  margin-top: .35rem;
}
.aksc-attendance-auth-card input[type="checkbox"] {
  margin-right: .45rem;
}
.aksc-attendance-auth-card .forgetmenot {
  display: flex;
  align-items: center;
  margin-bottom: 1rem;
  font-size: .9rem;
}
.aksc-attendance-auth-card .submit {
  margin-top: 1.25rem;
}
.aksc-attendance-auth-card .submit input[type="submit"] {
  width: 100%;
  padding: .75rem 1rem;
  border-radius: .9rem;
  background: linear-gradient(135deg, #2563eb, #38bdf8);
  border: none;
  color: #f8fafc;
  font-weight: 600;
  cursor: pointer;
  transition: transform .2s ease, box-shadow .2s ease;
}
.aksc-attendance-auth-card .submit input[type="submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 10px 20px rgba(37, 99, 235, .35);
}
.aksc-attendance-auth-links {
  text-align: center;
  margin-top: 1.5rem;
}
.aksc-attendance-auth-links a {
  color: #60a5fa;
  font-weight: 600;
  text-decoration: none;
}
.aksc-attendance-auth-links a:hover {
  text-decoration: underline;
}
.aksc-attendance-auth-button {
  display: inline-block;
  padding: .8rem 1.25rem;
  border-radius: .9rem;
  background: linear-gradient(135deg, #2563eb, #38bdf8);
  color: #0b1220;
  font-weight: 600;
  text-decoration: none;
  box-shadow: 0 10px 20px rgba(37, 99, 235, .35);
}
.aksc-attendance-auth-button:hover {
  filter: brightness(1.05);
}
@media (prefers-color-scheme: light) {
  .aksc-attendance-auth-card {
    background: #ffffff;
    color: #0f172a;
    border-color: rgba(148, 163, 184, .4);
  }
  .aksc-attendance-auth-card p {
    color: #475569;
  }
  .aksc-attendance-auth-card label {
    color: #1f2937;
  }
  .aksc-attendance-auth-card input[type="text"],
  .aksc-attendance-auth-card input[type="password"],
  .aksc-attendance-auth-card input[type="checkbox"] {
    background: #f8fafc;
    color: #0f172a;
    border-color: rgba(148, 163, 184, .6);
  }
  .aksc-attendance-auth-card .submit input[type="submit"] {
    color: #f8fafc;
  }
}
.aksc-toolbar { display:flex; gap:.5rem; align-items:center; flex-wrap:wrap; margin-bottom:.75rem; }
.aksc-toolbar select, .aksc-toolbar input[type="date"] { padding:.4rem .5rem; border:1px solid #d1d5db; border-radius:.5rem; }
.aksc-session button { border:1px solid #d1d5db; border-radius:999px; padding:.35rem .75rem; background:#fff; }
.aksc-chip { border:1px solid #d1d5db; border-radius:999px; padding:.15rem .5rem; margin-left:.35rem; }
.aksc-chip.is-active { background:#16a34a; color:#fff; border-color:#16a34a; }
.aksc-banner { background:#fef3c7; border:1px solid #f59e0b; color:#78350f; padding:.5rem .75rem; border-radius:.5rem; margin:.5rem 0; }
#aksc-attendance-root .aksc-coach-panel {
  margin: .75rem 0 1rem;
  padding: .85rem 1.1rem;
  border-radius: 1rem;
  background: rgba(11, 18, 32, .95);
  border: 1px solid rgba(30, 41, 59, .9);
  box-shadow: inset 0 1px 0 rgba(148, 163, 184, .05);
  color: #e2e8f0;
}
#aksc-attendance-root .aksc-coach-heading {
  margin: 0 0 .4rem;
  font-size: .85rem;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: rgba(226, 232, 240, .85);
}
#aksc-attendance-root .aksc-coach-body {
  display: flex;
  flex-direction: column;
  gap: .5rem;
}
#aksc-attendance-root .aksc-coach-badges {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: .5rem;
}
#aksc-attendance-root .aksc-coach-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: .35rem .85rem;
  border-radius: 999px;
  border: 1px solid rgba(96, 165, 250, .45);
  background: rgba(59, 130, 246, .18);
  color: #bfdbfe;
  font-size: .85rem;
  font-weight: 600;
  letter-spacing: .01em;
  cursor: pointer;
  appearance: none;
  -webkit-appearance: none;
  transition: background .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
#aksc-attendance-root .aksc-coach-badge:hover {
  transform: translateY(-1px);
}
#aksc-attendance-root .aksc-coach-badge.is-active {
  background: #16a34a;
  border-color: #22c55e;
  color: #ecfdf5;
  box-shadow: 0 6px 18px rgba(34, 197, 94, .35);
}
#aksc-attendance-root .aksc-coach-badge[disabled] {
  opacity: .55;
  cursor: progress;
  transform: none;
  box-shadow: none;
}
#aksc-attendance-root .aksc-coach-status {
  font-size: .9rem;
  color: rgba(203, 213, 225, .9);
}

.aksc-list { border-top:1px solid #e5e7eb; }
.aksc-row { display:flex; align-items:center; justify-content:space-between; padding:.5rem 0; border-bottom:1px solid #f3f4f6; }
.aksc-name { font-weight:500; }
.aksc-meta { font-size:.75rem; margin-top:.25rem; color:#64748b; }
.aksc-pills { margin-left:.5rem; }
.aksc-actions button { border:1px solid #d1d5db; border-radius:.5rem; padding:.3rem .5rem; background:#fff; margin-left:.25rem; }
.aksc-actions button.notes { border-color:#6366f1; color:#4338ca; }
.aksc-actions button.notes.has-notes { background:#6366f1; color:#fff; }
.aksc-actions button.present.is-active { background:#16a34a; color:#fff; border-color:#16a34a; }
.aksc-actions button.absent.is-active  { background:#dc2626; color:#fff; border-color:#dc2626; }
.aksc-actions button.late.is-active    { background:#f59e0b; color:#111827; border-color:#f59e0b; }

/* Coach chips */
.aksc-coach-section { margin-top:1.5rem; }
.aksc-coach-section h3 { margin:0 0 .5rem; font-size:1rem; font-weight:600; }
.aksc-coach-list { display:flex; flex-wrap:wrap; gap:.5rem; }
.aksc-coach-note { font-size:.875rem; color:#94a3b8; margin-top:.35rem; }

/* Medical modal */
.aksc-pill-medical { cursor:pointer; }
.aksc-pill-medical::before { content:"ⓘ"; margin-right:.25rem; }
.aksc-modal { position:fixed; inset:0; display:none; align-items:center; justify-content:center; background:rgba(0,0,0,.45); z-index:10000; padding:1rem; }
.aksc-modal.is-open { display:flex; }
.aksc-modal-box { max-width:560px; width:100%; background:#fff; border-radius:.75rem; padding:1rem 1.25rem; box-shadow:0 10px 30px rgba(0,0,0,.25); }
.aksc-modal-box h3 { margin:0 0 .5rem; }
.aksc-modal-body .aksc-field { display:flex; flex-direction:column; gap:.35rem; margin:.75rem 0; font-size:.9rem; }
.aksc-modal-actions { text-align:right; margin-top:.75rem; }
.aksc-btn { border: 1px solid #d1d5db; border-radius: .5rem; padding: .4rem .75rem; background: #f9fafb; }
.aksc-btn:hover { background: #f3f4f6; }
.aksc-btn.primary { background:#2563eb; color:#fff; border-color:#2563eb; }
.aksc-btn.primary:hover { background:#1d4ed8; }

/* === AKSC: Pill + Modal dark fixes (scoped to root) ====================== */
#aksc-attendance-root .aksc-actions button{  
  border:1px solid #94a3b8; border-radius:999px; padding:.35rem .65rem;
  background:transparent; color:#e5e7eb;
}
#aksc-attendance-root .aksc-actions button.present{ border-color:#16a34a; color:#86efac; }
#aksc-attendance-root .aksc-actions button.absent{  border-color:#dc2626; color:#fecaca; }
#aksc-attendance-root .aksc-actions button.late{    border-color:#f59e0b; color:#fde68a; }
#aksc-attendance-root .aksc-actions button.notes{  border-color:#818cf8; color:#c7d2fe; }
#aksc-attendance-root .aksc-actions button.notes.has-notes{ background:#6366f1; color:#0b1220; border-color:#6366f1; }
#aksc-attendance-root .aksc-meta{ color:#94a3b8; }
#aksc-attendance-root .aksc-actions button.present.is-active{ background:#16a34a; color:#0b1220; border-color:#16a34a; }
#aksc-attendance-root .aksc-actions button.absent.is-active{  background:#dc2626; color:#fff;   border-color:#dc2626; }
#aksc-attendance-root .aksc-actions button.late.is-active{    background:#f59e0b; color:#111827; border-color:#f59e0b; }
#aksc-attendance-root .aksc-actions button:focus{ outline:2px solid #93c5fd; outline-offset:2px; }
#aksc-attendance-root .aksc-actions button:hover{ filter:brightness(1.1); }

@media (max-width:640px){
  #aksc-attendance-root .aksc-actions button{
    padding:.65rem .9rem; font-size:1rem; min-height:2.75rem; min-width:3rem;
    border-radius:.75rem; margin-left:.35rem;
  }
}
@media (prefers-color-scheme: light){
  #aksc-attendance-root .aksc-actions button{ color:#111827; border-color:#cbd5e1; background:#fff; }
  #aksc-attendance-root .aksc-actions button.present{ color:#166534; border-color:#22c55e; }
  #aksc-attendance-root .aksc-actions button.absent{  color:#991b1b; border-color:#ef4444; }
  #aksc-attendance-root .aksc-actions button.late{    color:#92400e; border-color:#f59e0b; }
  #aksc-attendance-root .aksc-actions button.present.is-active{ color:#fff; }
  #aksc-attendance-root .aksc-coach-note{ color:#475569; }
}

/* Modal/Popover dark defaults even when appended at <body> level */
.aksc-modal-box{
  background:#0b1220; color:#e5e7eb; border:1px solid #334155; box-shadow:0 12px 32px rgba(0,0,0,.55);
}
.aksc-modal{ background:rgba(2,6,23,.65) !important; }
.aksc-modal input, .aksc-modal textarea,
.aksc-popover input, .aksc-popover textarea,
.aksc-modal-box input, .aksc-modal-box textarea{
  background:#0f172a; color:#e5e7eb; border:1px solid #334155; border-radius:.5rem;
}
.aksc-modal .aksc-btn, .aksc-popover .aksc-btn,
.aksc-modal-box .button, #TB_closeWindowButton{
  background:#0f172a; color:#e5e7eb; border:1px solid #334155; border-radius:.625rem;
}
.aksc-btn.primary{ background:#3b82f6; border-color:#60a5fa; color:#0b1220; }
.aksc-btn.primary:hover{ filter:brightness(1.1); }
@media (prefers-color-scheme: light){
  .aksc-modal-box{ background:#fff; color:#111827; border-color:#e5e7eb; }
  .aksc-modal-box input, .aksc-modal-box textarea{ background:#fff; color:#111827; border-color:#cbd5e1; }
}

@media (prefers-color-scheme: dark){
  #aksc-attendance-root .aksc-toolbar select,
  #aksc-attendance-root .aksc-toolbar input[type="date"]{
    background:#0f172a; color:#e5e7eb; border:1px solid #334155;
  }
}
/* === AM/PM chip (dark) ================================================ */
#aksc-attendance-root .aksc-chip{
  background: transparent !important;         /* kill the white fill */
  color: #e5e7eb !important;
  border: 1px solid #334155 !important;
  border-radius: 999px;
  padding: .35rem .7rem;
  line-height: 1.1;
  font-weight: 600;
}
#aksc-attendance-root .aksc-chip:hover{ filter: brightness(1.08); }
#aksc-attendance-root .aksc-chip:focus{ outline: 2px solid #93c5fd; outline-offset: 2px; }

/* selected/“on” state (cover common patterns) */
#aksc-attendance-root .aksc-chip.is-active,
#aksc-attendance-root .aksc-chip.active,
#aksc-attendance-root .aksc-chip[aria-pressed="true"],
#aksc-attendance-root .aksc-chip[data-state="on"],
#aksc-attendance-root .aksc-chip[data-selected="true"],
#aksc-attendance-root .aksc-chip.is-selected{
  background: #16a34a !important;
  border-color: #16a34a !important;
  color: #0b1220 !important;
}

/* mobile sizing */
@media (max-width:640px){
  #aksc-attendance-root .aksc-chip{
    padding: .6rem .9rem;
    font-size: 1rem;
    min-height: 2.5rem;
  }
}

}

