.public-attendance{display:flex;flex-direction:column;gap:1.5rem;font-size:1rem}.public-attendance-card{display:flex;flex-direction:column;gap:1rem;min-height:6rem}.public-attendance-card>header{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding-top:.5rem}.public-attendance-card>header h2{font-family:var(--font-title);font-size:1.25rem;font-weight:500}.public-attendance-dates{display:grid;grid-template-columns:1fr;gap:0}.public-attendance-date{display:flex;gap:.75rem;align-items:flex-start;min-width:0;padding:.35rem 0;color:var(--muted-foreground)}.public-attendance-date>svg{width:1.25rem;height:1.25rem;flex-shrink:0;margin-top:.1rem}.public-attendance-date.is-next>svg{color:var(--foreground)}.public-attendance-date>div{display:flex;flex-direction:column;min-width:0}.public-attendance-date strong{font-weight:500;color:var(--foreground)}.public-attendance-date span{color:var(--muted-foreground)}.public-attendance-date-short{display:none}.public-attendance-date-note,.public-attendance-reason{font-size:.75rem;color:var(--muted-foreground)}.public-attendance-pool{display:flex;flex-direction:column;overflow:hidden;border-radius:.75rem;background:#f3f4f6;font-size:1rem}.public-attendance-pool-heading{display:flex;justify-content:center;align-items:center;gap:.5rem;background:#e5e7eb;padding:.5rem .75rem;font-weight:700}.public-attendance-pool-heading svg{width:1rem;height:1rem}.public-attendance-pool-heading span{font-size:.75rem;font-weight:400}.public-attendance-pool-body{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;text-align:center;min-height:10rem;padding:1.5rem .5rem}.public-attendance-pool-body p{display:flex;align-items:center;justify-content:center;gap:.5rem}.public-attendance-pool-body svg{width:1.25rem;height:1.25rem}.public-attendance-pool-body .public-attendance-count{font-size:1.875rem;line-height:2.25rem}.public-attendance-countdown{font-size:2.25rem;font-weight:500}.public-attendance-queue{font-size:1.125rem;font-weight:500}.public-attendance-placeholder{align-items:center;justify-content:center;gap:.5rem;text-align:center;min-height:10rem;padding:.75rem}.public-attendance-placeholder span{display:flex;gap:.25rem;align-items:center}.public-attendance-placeholder svg{width:1rem;height:1rem}.public-attendance-pool.state-registered{background:#dcfce7}.state-registered .public-attendance-pool-heading{background:#bbf7d0}.public-attendance-pool.state-queued{background:#e0e7ff}.state-queued .public-attendance-pool-heading{background:#c7d2fe}.public-attendance-pool.state-payment{background:repeating-linear-gradient(135deg,#fef9c3 0 24px,#fef3c7 24px 48px)}.state-payment .public-attendance-pool-heading{background:#fde68a}.public-attendance-payment,.public-attendance-delay{display:flex;align-items:center;justify-content:center;gap:.5rem;min-height:4rem;padding:.75rem;background:#e5e7eb;border-radius:.25rem .25rem .75rem .75rem}.public-attendance-delay{text-align:center;font-size:.875rem}.public-attendance-payment svg,.public-attendance-delay svg{width:1.25rem;height:1.25rem;flex-shrink:0}.public-attendance-no-pools{font-size:.875rem}.public-attendance-other-pools summary{cursor:pointer;color:var(--muted-foreground);font-size:.875rem;padding:.25rem 0}.public-attendance-other-pools>div{display:flex;flex-direction:column;gap:.5rem}.public-attendance-other-pools>div>div{display:flex;justify-content:space-between;gap:.5rem;padding:.5rem;font-size:.875rem}.public-attendance-selections h3{font-size:1rem;font-weight:500;margin-bottom:.5rem}.public-attendance-selection-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.public-attendance-selection-grid label{display:flex;flex-direction:column;gap:.25rem}.public-attendance-selection-grid select,.public-attendance-dialog select,.public-attendance-dialog textarea{width:100%;border:1px solid var(--source-popup-border);border-radius:.375rem;background:var(--background);padding:.5rem}.public-attendance-validation{font-size:.75rem;color:#dc2626}.public-attendance-validation[hidden]{display:none}.public-attendance-save{margin-top:.5rem;font-size:.875rem;text-decoration:underline}.public-attendance-actions{display:flex;flex-direction:column;gap:1rem}.public-attendance-secondary{display:grid;grid-template-columns:1fr;gap:1rem}.public-attendance-action{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;min-height:4rem;border-radius:.5rem;background:#e5e7eb;font-size:1rem;font-weight:500}.public-attendance-action svg{width:1.125rem;height:1.125rem}.public-attendance-action:disabled{color:#374151;cursor:not-allowed}.public-attendance-action.is-register{background:#86efac}.public-attendance-action.is-queue{background:#c7d2fe}.public-attendance-action.is-deregister{background:#fca5a5}.public-attendance-action:not(:disabled):hover{filter:brightness(1.05)}[data-public-grace-confirm]:not([hidden]){display:flex;gap:.5rem}[data-public-grace-cancel]{min-width:4rem;border-radius:.5rem;background:#e5e7eb}.public-attendance-links{display:flex;flex-wrap:wrap;gap:.75rem;color:var(--muted-foreground)}.public-attendance-links a,.public-attendance-links button{display:inline-flex;align-items:center;gap:.35rem;font-size:.875rem}.public-attendance-links svg{width:1rem;height:1rem}.public-attendance-punishment{display:flex;gap:.5rem;padding:1rem;border-radius:.5rem;background:#fee2e2}.public-attendance-punishment.suspended{background:#000;color:#fff}.public-attendance-punishment svg{width:1.25rem;height:1.25rem;flex-shrink:0}.public-attendance-punishment p,.public-attendance-punishment a{font-size:.875rem}.public-attendance-punishment a{text-decoration:underline}.public-attendance-dialog{width:min(42rem,calc(100vw - 2rem));max-height:calc(100dvh - 2rem);overflow:auto;padding:1.5rem;border:1px solid var(--source-popup-border);border-radius:.75rem;background:var(--background);color:var(--foreground)}.public-attendance-dialog::backdrop{background:#0008}.public-attendance-dialog header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.public-attendance-dialog h2{font-family:var(--font-title);font-size:1.5rem;font-weight:600}.public-attendance-dialog label{display:flex;flex-direction:column;gap:.375rem}.public-attendance-dialog form,.public-attendance-dialog{display:flex;flex-direction:column;gap:1rem}.public-attendance-dialog:not([open]){display:none}.public-attendance-dialog-actions{display:flex;justify-content:flex-end;gap:1rem}.public-attendance-confirm{padding:.5rem 1rem;border-radius:.5rem;background:#fca5a5}[data-public-form-error]{font-size:.875rem;color:#dc2626}[data-public-form-error][hidden]{display:none}
[data-theme=dark] .public-attendance-card{background:#292524;border-color:#292524}[data-theme=dark] .public-attendance-pool,[data-theme=dark] .public-attendance-placeholder{background:#44403c80}[data-theme=dark] .public-attendance-pool-heading,[data-theme=dark] .public-attendance-payment,[data-theme=dark] .public-attendance-delay,[data-theme=dark] .public-attendance-action,[data-theme=dark] [data-public-grace-cancel]{background:#44403c}[data-theme=dark] .public-attendance-pool.state-registered{background:#14532d}[data-theme=dark] .state-registered .public-attendance-pool-heading{background:#166534}[data-theme=dark] .public-attendance-pool.state-queued{background:#312e81bf}[data-theme=dark] .state-queued .public-attendance-pool-heading{background:#312e81}[data-theme=dark] .public-attendance-action.is-register{background:#14532d}[data-theme=dark] .public-attendance-action.is-queue{background:#3730a3}[data-theme=dark] .public-attendance-action.is-deregister{background:#7f1d1d}[data-theme=dark] .public-attendance-action:disabled{color:#d6d3d1}[data-theme=dark] .public-attendance-punishment{background:#7f1d1d40}[data-theme=dark] .public-attendance-punishment.suspended{background:#fff;color:#000}
@media(min-width:640px){.public-attendance{gap:.5rem}.public-attendance-card{padding:.5rem;border:2px solid #f3f4f6;border-radius:1rem}.public-attendance-card>header{padding-left:.75rem;padding-right:.5rem}.public-attendance-dates{grid-template-columns:repeat(3,minmax(0,1fr));padding:0 .75rem}.public-attendance-date{font-size:.875rem}.public-attendance-date>svg{width:1rem;height:1rem}.public-attendance-selection-grid,.public-attendance-secondary.has-ticket{grid-template-columns:repeat(2,minmax(0,1fr))}.public-attendance-other-pools>div>div{background:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;padding:.5rem .75rem}[data-theme=dark] .public-attendance-other-pools>div>div{background:#ffffff08;border-color:#44403c}}@media(min-width:768px) and (max-width:1023px){.public-attendance-date-long{display:none}.public-attendance-date-short{display:inline}}@media(prefers-reduced-motion:reduce){.public-attendance-action,.public-attendance-pool,.public-attendance-dialog{transition:none}}

.public-attendance-completion{display:flex;flex-direction:column;gap:.75rem;width:100%;padding:1rem;border-radius:.375rem;background:#ddd6fe;text-align:left}.public-attendance-completion strong{font-size:1.875rem;font-weight:500}.public-attendance-completion p{display:flex;align-items:center;gap:.5rem}.public-attendance-completion svg{width:1rem;height:1rem;color:#b91c1c}[data-theme=dark] .public-attendance-completion{background:#413545}
/* Keep the registration dates aligned with their segmented timeline. */
.public-attendance-date{position:relative}
.public-attendance-date:not(:last-child)::after{content:"";position:absolute;left:.53rem;top:1.85rem;bottom:-.2rem;width:.25rem;border-radius:999px;background:#e5e7eb}
[data-theme=dark] .public-attendance-date:not(:last-child)::after{background:#44403c}
@media(min-width:640px){
  .public-attendance-date{flex-direction:column;gap:.25rem;padding:.35rem 0}
  .public-attendance-date>svg{margin-top:0}
  .public-attendance-date:not(:last-child)::after{left:1.25rem;right:.25rem;top:.72rem;bottom:auto;width:auto;height:.25rem}
}
.public-attendance-time{margin-left:.5rem}
@media(min-width:640px){.public-attendance-time{display:block;margin-left:0}}

.public-attendance-action:disabled{opacity:.5}
.public-attendance-other-pools summary{display:flex;align-items:center;gap:.5rem;list-style:none}
.public-attendance-other-pools summary::-webkit-details-marker{display:none}
.public-attendance-other-pools summary::after{content:"";width:.5rem;height:.5rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-.15rem) rotate(45deg)}
.public-attendance-other-pools[open] summary::after{transform:translateY(.15rem) rotate(225deg)}
@media(min-width:640px){.public-attendance-other-pools summary{padding-left:.75rem;padding-right:.75rem}}
