:root {
  --pico-font-size: 96%;
  --oentry-accent: #5b3f8c;
  --notice-info-bg: color-mix(in srgb, var(--pico-primary), var(--pico-background-color) 90%);
  --notice-info: var(--pico-primary); --notice-info-text: var(--pico-color);
  --notice-success-bg: #f0fdf4; --notice-success: #15803d; --notice-success-text: #14532d;
  --notice-warning-bg: #fffbeb; --notice-warning: #b45309; --notice-warning-text: #78350f;
  --notice-error-bg: #fef2f2; --notice-error: #dc2626; --notice-error-text: #7f1d1d;
  --oentry-destructive: #b42318;
  --oentry-destructive-hover: #8f1d14;
  --oentry-success: #15803d;
  --oentry-warning: #b45309;
  --oentry-error: #dc2626;
  --destructive: var(--oentry-destructive);
  --compact-gap: .75rem;
  --icon-size-nav: 1.2rem;
  --icon-size-action: 1.1rem;
  --icon-size-status: .95rem;
  --icon-size-button: 1.1rem;
  --icon-size-notice: 1.15rem;
}

@media (prefers-color-scheme: dark) {
  :root {
    --oentry-accent: #f5c84c;
    --notice-success-bg: #dcfce7; --notice-success: #15803d; --notice-success-text: #14532d;
    --notice-warning-bg: #fef3c7; --notice-warning: #b45309; --notice-warning-text: #78350f;
  --notice-error-bg: #fee2e2; --notice-error: #b91c1c; --notice-error-text: #7f1d1d;
    --oentry-destructive: #f87171;
    --oentry-destructive-hover: #fca5a5;
    --destructive: var(--oentry-destructive);
  }
}


body { min-height: 100vh; display: flex; flex-direction: column; }
main.container { padding-top: 1.25rem; padding-bottom: 2rem; }
.site-header { padding-top: .35rem; padding-bottom: .35rem; }
.site-header nav { min-height: 3.35rem; }
.site-nav-shell { position: relative; display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: .75rem; }
.brand { display: inline-flex; align-items: center; min-width: 0; min-height: 2.75rem; margin: 0; padding: 0; text-decoration: none; }
.brand-logo { display: block; width: auto; height: 2.625rem; max-width: 100%; object-fit: contain; }
.site-navigation { display: flex; align-items: center; justify-content: center; gap: .2rem; }
.site-nav-link { display: inline-flex; align-items: center; gap: .35rem; padding: .45rem .65rem; border-radius: var(--pico-border-radius); text-decoration: none; white-space: nowrap; }
.site-nav-link[aria-current="page"] { color: var(--oentry-accent); background: transparent; }
.mobile-navigation { display: none; position: relative; margin: 0; }
.mobile-navigation > summary { display: inline-flex; align-items: center; gap: .35rem; min-height: 2.5rem; margin: 0; padding: .45rem .65rem; border-radius: var(--pico-border-radius); cursor: pointer; list-style: none; }
.mobile-navigation > summary::-webkit-details-marker { display: none; }
.mobile-navigation-panel { position: absolute; z-index: 30; top: calc(100% + .3rem); right: 0; display: grid; min-width: 13rem; padding: .35rem; border: 1px solid var(--pico-muted-border-color); border-radius: var(--pico-border-radius); background: var(--pico-background-color); box-shadow: var(--pico-box-shadow); }
.mobile-navigation-panel .site-nav-link { display: flex; }
.header-actions { display: flex; align-items: center; justify-content: flex-end; gap: .4rem; }
.header-signin { display: inline-flex; align-items: center; gap: .35rem; width: auto; margin: 0; padding: .48rem .8rem; white-space: nowrap; }
.user-menu { position: relative; margin: 0; }
.user-menu > summary { display: flex; align-items: center; gap: .5rem; min-width: 0; padding: .2rem .35rem; border-radius: var(--pico-border-radius); list-style: none; cursor: pointer; }
.user-menu > summary::-webkit-details-marker { display: none; }
.user-avatar { display: inline-grid; place-items: center; width: 2.2rem; height: 2.2rem; flex: 0 0 2.2rem; border-radius: 50%; color: var(--pico-primary-inverse); background: var(--pico-primary-background); font-size: .74rem; font-weight: 700; letter-spacing: .03em; }
.user-identity-copy { display: grid; line-height: 1.15; }
.user-name { max-width: 11rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: .86rem; font-weight: 650; }
.user-role { color: var(--pico-muted-color); font-size: .7rem; }
.user-menu-panel { position: absolute; z-index: 20; top: calc(100% + .35rem); right: 0; display: grid; min-width: 12rem; padding: .35rem; border: 1px solid var(--pico-muted-border-color); border-radius: var(--pico-border-radius); background: var(--pico-background-color); box-shadow: var(--pico-box-shadow); }
.user-menu-panel a { display: flex; align-items: center; gap: .5rem; padding: .55rem .65rem; text-decoration: none; }
.eyebrow { margin: 0; color: var(--oentry-accent); font-size: .72rem; font-weight: 700; line-height: 1.1; letter-spacing: .1em; }
.site-footer { display: flex; align-items: center; justify-content: space-between; gap: 1rem; width: 100%; margin-top: auto; padding-top: 1rem; padding-bottom: 1rem; border-top: 1px solid var(--pico-muted-border-color); font-size: .78rem; color: var(--pico-muted-color); }
.footer-status, .footer-utilities { display: flex; align-items: center; gap: .65rem; }
.footer-utilities { justify-content: flex-end; }
.footer-theme-control { display: inline-grid; place-items: center; width: 2rem; height: 2rem; padding: .25rem; border: 1px solid transparent; border-radius: var(--pico-border-radius); color: var(--pico-muted-color); text-decoration: none; background: transparent; }
.footer-theme-control:hover, .footer-theme-control:focus-visible, .footer-theme-control.active { color: var(--pico-primary); border-color: var(--pico-muted-border-color); background: transparent; }
.environment-badge { display: inline-flex; align-items: center; min-height: 1.45rem; padding: .12rem .45rem; border: 1px solid; border-radius: 999px; font-size: .66rem; font-weight: 750; letter-spacing: .06em; }
.environment-nonlive { color: var(--notice-warning-text); border-color: var(--notice-warning); background: var(--notice-warning-bg); }
.environment-live { color: var(--notice-success-text); border-color: var(--notice-success); background: var(--notice-success-bg); }

.material-symbols-outlined { display: inline-flex; align-items: center; justify-content: center; font-family: "Material Symbols Outlined"; font-style: normal; font-weight: 400; line-height: 1; letter-spacing: normal; text-transform: none; white-space: nowrap; word-wrap: normal; direction: ltr; font-feature-settings: "liga"; -webkit-font-feature-settings: "liga"; -webkit-font-smoothing: antialiased; }
:is(p, small, a, button, summary, span):has(> .material-symbols-outlined) { align-items: center; gap: .4rem; }
:is(a, button, summary, small):has(> .material-symbols-outlined), .icon-text { display: inline-flex; align-items: center; gap: .4rem; }
:is(a, button):has(> .action-icon):not(.icon-action) { display: inline-flex; align-items: center; gap: .4rem; }
.action-icon { width: var(--icon-size-action); height: var(--icon-size-action); aspect-ratio: 1; flex: 0 0 auto; overflow: hidden; object-fit: contain; font-size: var(--icon-size-action); }
.site-nav-link .action-icon { width: var(--icon-size-nav); height: var(--icon-size-nav); font-size: var(--icon-size-nav); }
.icon-action .action-icon { width: 1.375rem; height: 1.375rem; font-size: 1.375rem; }
.status-badge .action-icon { width: var(--icon-size-status); height: var(--icon-size-status); font-size: var(--icon-size-status); }
.major-add-action .action-icon, button > .action-icon { width: var(--icon-size-button); height: var(--icon-size-button); font-size: var(--icon-size-button); }
.visually-hidden { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0, 0, 0, 0) !important; white-space: nowrap !important; border: 0 !important; }
.icon-action { display: inline-grid; place-items: center; width: 2.75rem; min-width: 2.75rem; height: 2.75rem; padding: .625rem; border: 1px solid transparent; border-radius: var(--pico-border-radius); color: var(--pico-primary); text-decoration: none; }
button.icon-action { margin: 0; background: transparent; box-shadow: none; }
.icon-action:hover, .icon-action:focus-visible { border-color: currentColor; background: color-mix(in srgb, currentColor 8%, transparent); }
.icon-action[aria-busy="true"] { position: relative; }
.icon-action[aria-busy="true"] > .action-icon { visibility: hidden; }
.icon-action[aria-busy="true"]::before { position: absolute; inset: 0; margin: auto; }
.icon-action-destructive { color: var(--destructive); }
.icon-action-success { color: var(--notice-success); }
.icon-action-warning { color: var(--notice-warning); }
.action-cluster { display: inline-flex; align-items: center; justify-content: flex-end; gap: .35rem; white-space: nowrap; }
.action-cluster > .destructive-confirm-control > summary[aria-label] { display: inline-grid; place-items: center; width: 2.75rem; min-width: 2.75rem; height: 2.75rem; padding: .625rem; }
.major-add-action { display: inline-flex; align-items: center; gap: .4rem; width: fit-content; margin-top: .85rem; }
.button-bar { display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; }
.button-bar > :is(a, button, form, details) { width: auto; margin: 0; }
.small-note { color: var(--pico-muted-color); font-size: .875rem; }
.key-message { font-weight: 650; }
.oentry-standard-table { width: 100%; }
.oentry-standard-table th { white-space: nowrap; }
@media (max-width: 600px) {
  main table.relay-public-team-list { display: block; overflow: visible; }
  .relay-public-team-list thead { display: none; }
  .relay-public-team-list tbody { display: grid; gap: .5rem; }
  .relay-public-team-list tbody tr { display: grid; gap: .15rem; padding: .45rem; border: 1px solid var(--pico-muted-border-color); border-radius: var(--pico-border-radius); }
  .relay-public-team-list tbody td { display: grid; grid-template-columns: minmax(7rem, .7fr) minmax(0, 1fr); gap: .5rem; padding: .2rem .1rem; border: 0; overflow-wrap: anywhere; }
  .relay-public-team-list tbody td::before { content: attr(data-label); color: var(--pico-muted-color); font-weight: 650; }
}
.oentry-compact-table { font-size: .88rem; }
.oentry-compact-table :is(th, td) { padding: .38rem .5rem; }
.oentry-operational-table { font-size: .9rem; }
.oentry-operational-table :is(th, td) { padding: .45rem .55rem; }
.finance-money { text-align: right; white-space: nowrap; }
.finance-surplus { font-weight: 700; }
.finance-loss { color: var(--oentry-error); }
.finance-row-form[role="group"] { display: grid; grid-template-columns: minmax(0, 1fr) 10rem auto; gap: .5rem; align-items: end; }
.finance-inline-edit { display: grid; grid-template-columns: minmax(0, 1fr) 8rem auto; gap: .35rem; align-items: end; margin: 0; }
.oentry-switch-field-row { display: flex; flex-wrap: nowrap; align-items: center; gap: .65rem; margin-bottom: .75rem; }
.oentry-switch-field-row > :first-child { flex: 1 1 14rem; min-width: 11rem; }
.oentry-switch-field-row > :not(:first-child) { flex: 0 1 12rem; min-width: 9rem; }
.oentry-switch-field-row :is(label, input, select) { margin-bottom: 0; }
.oentry-switch-field-row .switch-field-placeholder { min-height: 2.75rem; }
.status-badge { display: inline-flex; align-items: center; gap: .3rem; padding: .12rem .42rem; border: 1px solid; border-radius: 999px; font-size: .75rem; font-weight: 650; white-space: nowrap; }
.status-badge-neutral { color: var(--pico-muted-color); border-color: var(--pico-muted-border-color); background: var(--pico-card-sectioning-background-color); }
.status-badge-info { color: var(--notice-info-text); border-color: var(--notice-info); background: var(--notice-info-bg); }
.status-badge-success { color: var(--notice-success-text); border-color: var(--notice-success); background: var(--notice-success-bg); }
.status-badge-warning { color: var(--notice-warning-text); border-color: var(--notice-warning); background: var(--notice-warning-bg); }
.status-badge-error { color: var(--notice-error-text); border-color: var(--notice-error); background: var(--notice-error-bg); }
.status-badge-filter { text-decoration: none; }
.status-badge-filter:hover, .status-badge-filter:focus-visible { filter: brightness(.96); }
.status-active { color: var(--notice-success-text); border-color: var(--notice-success); background: var(--notice-success-bg); }
.status-inactive { color: var(--notice-warning-text); border-color: var(--notice-warning); background: var(--notice-warning-bg); }
.status-toggle { width: auto; min-height: 2.25rem; margin: .25rem 0 0; cursor: pointer; }
button.status-toggle { box-shadow: none; }
.status-toggle:hover, .status-toggle:focus-visible { filter: brightness(.96); }

h1 { font-size: clamp(1.45rem, 3vw, 1.85rem); margin-bottom: .35rem; }
h2 { font-size: 1.16rem; margin-top: 1.5rem; margin-bottom: .5rem; }
.heading-group { margin-bottom: 1.15rem; }
.build-stamp { display: block; color: var(--pico-muted-color); font-size: .72rem; }
.heading-group > .eyebrow { margin-bottom: .7rem; }
.heading-group > .eyebrow + h1 { margin-top: 0; }
.heading-group > :last-child { margin-bottom: 0; color: var(--pico-muted-color); }
.muted, .helper { color: var(--pico-muted-color); font-size: .85rem; }
.helper { display: block; margin: .15rem 0 .65rem; }
.field-helper { margin-top: -.15rem; }
hr { margin: 1.35rem 0; }

.notice { display: grid; grid-template-columns: 1.4rem 1fr; gap: .55rem; margin: .75rem 0; padding: .65rem .8rem; border: 1px solid; border-left-width: 4px; border-radius: var(--pico-border-radius); }
.notice-info { color: var(--notice-info-text); background: var(--notice-info-bg); border-color: var(--notice-info); }
.notice-success { color: var(--notice-success-text); background: var(--notice-success-bg); border-color: var(--notice-success); }
.notice-warning { color: var(--notice-warning-text); background: var(--notice-warning-bg); border-color: var(--notice-warning); }
.notice-error { color: var(--notice-error-text); background: var(--notice-error-bg); border-color: var(--notice-error); }
.notice-icon { width: var(--icon-size-notice); height: var(--icon-size-notice); aspect-ratio: 1; flex: 0 0 auto; overflow: hidden; object-fit: contain; margin-top: .05rem; font-size: var(--icon-size-notice); }
.notice-info .notice-icon { color: var(--notice-info); }
.notice-success .notice-icon { color: var(--notice-success); }
.notice-warning .notice-icon { color: var(--notice-warning); }
.notice-error .notice-icon { color: var(--notice-error); }
.medical-status-icon { color: var(--pico-color); font-size: 1.15rem; vertical-align: middle; }
.medical-status-unavailable { color: var(--pico-color); font-weight: 800; }
.notice-body, .notice-body strong, .notice-body p { color: inherit; }
.notice-body { min-width: 0; overflow-wrap: anywhere; }
.notice-body p { margin: .15rem 0 0; font-weight: 400; }
.notice-info .booking-contact-fields :is(h1, h2, h3, h4, h5, h6, label, legend) { color: inherit; }
.notice-info:has(.booking-contact-fields) { color: var(--pico-color); background: var(--pico-card-background-color); }
.notice-info .booking-contact-fields :is(input, select, textarea) { color: var(--pico-color); background-color: var(--pico-form-element-background-color); border-color: var(--pico-form-element-border-color); }
.notice-info .booking-contact-fields :is(input, select, textarea):focus { border-color: var(--pico-form-element-active-border-color); }
.field-request-pending { position: relative; }
.field-request-pending[aria-busy="true"]::before { display: none; }
.field-request-pending::after { content: ""; position: absolute; inset-inline-end: .15rem; top: .2rem; width: .8rem; height: .8rem; border: 2px solid currentColor; border-inline-end-color: transparent; border-radius: 50%; animation: oentry-spin .7s linear infinite; pointer-events: none; }
.field-request-pending:has(.field-validation-indicator)::after { display: none; }
.entry-field-with-help > label.field-request-pending::after { inset-inline-end: 1.45rem; }
@keyframes oentry-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
  .field-request-pending::after { animation: none; }
}

form { max-width: 56rem; }
.athlete-form { max-width: none; display: block; }
.athlete-section { width: 100%; margin: 0 0 1.2rem; }
.athlete-section > h2 { margin: 0 0 .55rem; font-size: 1.05rem; }
.athlete-section > .grid { width: 100%; gap: .75rem 1rem; align-items: end; }
.athlete-name-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.athlete-identity-grid { grid-template-columns: minmax(8rem, .7fr) minmax(8rem, .7fr) minmax(14rem, 1.6fr); }
.athlete-membership-grid { display: block; width: 100%; }
.athlete-membership-controls { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(12rem, .85fr); gap: .75rem 1rem; align-items: start; width: 100%; }
.athlete-membership-controls > div { min-width: 0; width: 100%; }
.athlete-membership-controls label { display: block; width: 100%; }
.athlete-membership-grid > .membership-number-help { display: block; margin: .35rem 0 0; }
.athlete-contact-grid, .athlete-emergency-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.athlete-membership-grid > label,
.athlete-contact-grid > div,
.athlete-emergency-grid > label { min-width: 0; width: 100%; }
.athlete-student-row { display: grid !important; grid-template-columns: minmax(8rem, .55fr) minmax(14rem, 1.5fr) minmax(10rem, .75fr); gap: .75rem 1rem; align-items: end; width: 100%; }
.athlete-student-row > label { min-width: 0; width: 100%; }
.athlete-si-section > label { display: block; width: 100%; }
.athlete-medical-section textarea { width: 100%; min-height: 8rem; }
.medical-form, #medical-section { width: 100%; max-width: none; }
.medical-form textarea { width: 100%; min-height: 8rem; }
.protected-field { width: 100%; max-width: none; }
.protected-field-trigger { width: 100%; min-height: 8rem; margin: .35rem 0 .75rem; border: 1px solid var(--pico-muted-border-color); color: var(--pico-muted-color); background: repeating-linear-gradient(135deg, transparent 0, transparent .35rem, color-mix(in srgb, currentColor 8%, transparent) .35rem, color-mix(in srgb, currentColor 8%, transparent) .7rem); }
.athlete-actions { margin-top: 1.4rem; }
.athlete-actions .button-bar { align-items: center; }
label { margin-bottom: .3rem; }
.form-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: .65rem 1rem; align-items: end; }
.club-create-form, .club-create-group { width: 100%; max-width: none; }
.field { grid-column: span 6; }
.field-wide { grid-column: span 12; }
.field-medium { grid-column: span 6; }
.field-short { grid-column: span 3; }
.field-message { margin: -.15rem 0 .35rem; font-size: .8rem; }
.field-with-helper { margin-bottom: 0; }
.field-with-helper input { margin-bottom: .2rem; }
.field-with-helper + .field-helper { margin: 0 0 .7rem; }
.field-error { color: var(--notice-error); }
.athlete-validation-ok { margin: .75rem 0; color: var(--notice-success-text); font-size: .85rem; }
.athlete-validation-summary { display: block; width: 100%; max-width: none; margin: .75rem 0; padding: .7rem .85rem; border: 1px solid var(--notice-error); border-left-width: 4px; border-radius: var(--pico-border-radius); color: var(--notice-error-text); background: var(--notice-error-bg); }
.athlete-validation-summary > strong { display: block; width: 100%; margin: 0 0 .35rem; }
.athlete-validation-summary > ul { display: block; width: 100%; margin: 0; padding-left: 1.25rem; }
.athlete-validation-summary > ul > li { color: var(--notice-error-text); }
.form-actions { display: flex; align-items: center; gap: .65rem; margin-top: .85rem; }
.form-actions button { width: auto; margin-bottom: 0; }
.club-settings-form { max-width: none; }
.club-settings-form > button { width: fit-content; margin-top: .75rem; }
.settings-section-heading { grid-column: 1 / -1; margin: 1rem 0 .1rem; }
.settings-section-heading:first-child { margin-top: 0; }
.club-name-setting { grid-column: span 9; }
.club-short-name-setting { grid-column: span 3; }
.markdown-field textarea { margin-bottom: .2rem; }
.markdown-field .helper { margin: 0 0 .35rem; }
.junior-threshold-control { display: flex; align-items: center; gap: .45rem; }
.junior-threshold-control input { width: 6.25rem; min-width: 6.25rem; margin: 0; font-variant-numeric: tabular-nums; }
.junior-threshold-control span { white-space: nowrap; }
.switch-field { align-self: center; }
.money-control { display: flex; align-items: center; gap: .4rem; }
.money-control input { width: 7rem; min-width: 7rem; margin: 0; font-variant-numeric: tabular-nums; }
.relative-deadline-control { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; }
.relative-deadline-control input { width: 8rem; margin: 0; }
.integration-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; }
.si-settings-grid { grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; align-items: start; }
.si-settings-column { display: grid; gap: .65rem; }
.si-information-column { min-width: 0; }
.si-information-column h3 { margin-top: 0; }
.integration-status { padding: .75rem 0; border-top: 1px solid var(--pico-muted-border-color); }
.integration-status h2, .integration-status p { margin: 0 0 .2rem; }
.club-role-form { max-width: none; }
.club-role-group { width: 100%; }
.club-role-form > .field-message { margin: -.45rem 0 .35rem; }
.club-selector { display: flex; flex-wrap: wrap; gap: .5rem 1rem; margin: .35rem 0 1rem; }
.event-role-form { max-width: none; }
.event-role-group { width: min(100%, 52rem); }
.event-role-form .helper { margin-top: .2rem; }
.event-config-form { max-width: none; padding-block: .35rem 1rem; }
.event-config-form > button { width: auto; }
.relay-leg-course-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem 1rem; }
.relay-setup-form { max-width: 54rem; }
.report-actions { display: flex; flex-wrap: wrap; gap: .55rem; }
.report-actions [role="button"] { width: auto; margin: 0; }
.form-grid-two, .form-grid-four { display: grid; gap: .45rem 1rem; align-items: end; }
.form-grid-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.form-grid-four { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.compact-form { margin: 0; }
.compact-form [role="group"] { margin-bottom: 0; }
.compact-form input, .compact-form button { margin-bottom: 0; }
.relay-captain-invite { display: flex; align-items: center; gap: .35rem; min-width: 22rem; }
.relay-captain-invite input { flex: 1 1 auto; min-width: 12rem; }
.relay-captain-invite button { flex: 0 0 auto; width: auto; }
.relay-club-tools { display: flex; flex-wrap: wrap; align-items: start; gap: .5rem; margin: .5rem 0 1rem; }
.relay-club-tools details { margin: 0; }
.relay-club-tools details form { min-width: 18rem; padding-top: .5rem; }
.action-result:empty { display: none; }
button.saved, button:disabled.saved { color: var(--pico-secondary); border-color: var(--pico-secondary); background: transparent; opacity: .72; }
.button-icon { width: var(--icon-size-button); height: var(--icon-size-button); aspect-ratio: 1; object-fit: contain; flex: 0 0 auto; margin-right: .3rem; vertical-align: -.15rem; }
.markdown-help { margin: .1rem 0 .75rem; font-size: .85rem; }
.markdown-help summary { width: fit-content; color: var(--pico-primary); }
.markdown-help p { margin: .35rem 0; }
.event-form { max-width: none; }
.event-options-table-scroll { max-width: 100%; overflow-x: auto; }
.event-options-table-scroll table { display: table; }
.event-form .competition-only[hidden], .event-form .social-event-settings[hidden] { display: none; }
.event-type-choices { display: flex; flex-wrap: wrap; gap: .3rem 1rem; padding: .45rem 0; }
.event-type-choices legend { margin-bottom: .2rem; }
.event-type-choices label { width: auto; margin: 0; }
.event-identity-grid, .event-time-grid, .event-deadline-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .25rem 1rem; }
.oentry-tab-view { display: flex; flex-wrap: nowrap; gap: 0; margin: .75rem 0 1rem; border-bottom: 1px solid var(--pico-muted-border-color); overflow-x: auto; }
.oentry-tab-view a { display: inline-flex; align-items: center; min-height: 2.35rem; margin: 0 0 0 -1px; padding: .45rem .7rem; border: 1px solid var(--pico-muted-border-color); border-bottom: 0; border-radius: 0; background: var(--pico-secondary-background); color: var(--pico-secondary-inverse); text-decoration: none; font-size: .88rem; white-space: nowrap; }
.oentry-tab-view a:first-child { margin-left: 0; border-top-left-radius: var(--pico-border-radius); }
.oentry-tab-view a:last-child { border-top-right-radius: var(--pico-border-radius); }
.oentry-tab-view a[aria-current="page"] { position: relative; z-index: 1; background: var(--pico-background-color); color: var(--oentry-accent); font-weight: 700; border-bottom: 1px solid var(--pico-background-color); margin-bottom: -1px; }
.course-form { max-width: none; padding-block: .75rem; }
.course-fields-row { display: grid; grid-template-columns: minmax(13rem, 2fr) 7rem 6rem 6rem 5rem 5rem; gap: .45rem; align-items: end; }
.course-control label, .course-control input, .course-control select { margin-bottom: 0; }
.course-add-action { width: auto; white-space: nowrap; margin-bottom: 0; }
.course-rules-row { display: grid; grid-template-columns: auto minmax(9rem, 12rem) auto 1fr; gap: .6rem 1rem; align-items: end; }
.course-rules-row > :first-child { grid-column: 1 / -1; max-width: 18rem; }
.course-rules-row > label { width: auto; }
.course-rules-row .course-control input { margin-bottom: 0; }
.course-colour-dot { display: inline-block; width: .85rem; height: .85rem; border-radius: 50%; margin-right: .45rem; border: 1px solid rgba(0,0,0,.25); vertical-align: -.05rem; }
.course-row-action { font-size: .85rem; white-space: nowrap; }
.course-remove-action { display: inline-block; position: relative; margin-left: .35rem; }
.course-remove-trigger { color: var(--destructive); font-size: 1.2rem; line-height: 1; cursor: pointer; list-style: none; }
.course-remove-trigger::-webkit-details-marker { display: none; }
.course-remove-confirmation { position: absolute; z-index: 2; right: 0; width: 15rem; padding: .65rem; background: var(--pico-background-color); border: 1px solid var(--pico-muted-border-color); box-shadow: var(--pico-box-shadow); }
.course-remove-confirmation p { margin: 0 0 .5rem; font-size: .8rem; }
.compact-action { width: auto; padding: .4rem .65rem; margin: 0; }
.pricing-switches { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, max-content)); flex-wrap: wrap; gap: .75rem; align-items: end; }
.pricing-actions { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; align-items: center; margin-top: 1rem; }
.pricing-actions > * { width: 100%; }
.finance-row-form { display: grid; grid-template-columns: minmax(12rem, 2fr) minmax(7rem, 1fr) auto; gap: .75rem; align-items: end; margin: .75rem 0 1.25rem; }
.pricing-switches label { width: auto; }
.price-table-editor { padding-block: .45rem; }
.course-assignment-list { display: flex; flex-wrap: wrap; gap: .35rem 1rem; }
.course-assignment-list label { width: auto; }
.pricing-table input, #maps table input { min-width: 5.5rem; margin: 0; }
.filter-bar { display: flex; width: min(50%, 32rem); margin: 1rem 0 1.25rem auto; }
.filter-bar .status-badge-filter { flex: 1 1 0; justify-content: center; min-height: 2.35rem; border-radius: 0; text-align: center; }
.filter-bar .status-badge-filter + .status-badge-filter { margin-left: -1px; }
.filter-bar .status-badge-filter:first-child { border-radius: var(--pico-border-radius) 0 0 var(--pico-border-radius); }
.filter-bar .status-badge-filter:last-child { border-radius: 0 var(--pico-border-radius) var(--pico-border-radius) 0; }
.publishability-checklist { list-style: none; padding-left: 0; }
.check-ok { color: var(--notice-success); }
.check-blocked { color: var(--notice-error); }
.map-lock-action { width: auto; }
.inline-form { display: inline-block; margin: 0 0 0 .35rem; }
.inline-form button { width: auto; margin: 0; padding: .35rem .55rem; }

.public-event-list { display: grid; gap: 1rem; }
.public-event-card { margin: 0; padding: 1rem 1.1rem; }
.public-event-name { margin: 0 0 .2rem; font-size: clamp(1.2rem, 2.5vw, 1.45rem); }
.public-event-date-location { margin: 0; color: var(--pico-muted-color); }
.public-event-club { display: flex; align-items: center; gap: .35rem; margin: .3rem 0 0; color: var(--pico-muted-color); font-size: .88rem; }
.event-captain-badge { display: inline-flex; align-items: center; gap: .35rem; width: fit-content; margin: .55rem 0 0; padding: .3rem .55rem; border: 1px solid var(--pico-primary); border-radius: var(--pico-border-radius); color: var(--pico-primary); font-size: .88rem; font-weight: 650; }
.event-entry-method { margin-block: .55rem 0; color: var(--pico-muted-color); font-size: .88rem; }
.event-search-form { max-width: 42rem; margin-bottom: 1rem; }
.event-search-form > label { margin-bottom: .25rem; font-weight: 650; }
.event-search-action, .event-search-action > * { margin-bottom: 0; }
.event-search-action button { width: auto; white-space: nowrap; }
.event-type-tags { display: flex; flex-wrap: wrap; gap: .3rem .65rem; margin-top: .6rem; }
.event-type-tag { display: inline-flex; align-items: center; gap: .25rem; color: var(--pico-color); font-size: .82rem; font-weight: 650; }
.event-type-tag .action-icon { width: var(--icon-size-status); height: var(--icon-size-status); font-size: var(--icon-size-status); }
.event-card-metadata { display: flex; flex-wrap: wrap; gap: .45rem 1.25rem; margin-top: .8rem; }
.event-card-metadata-item { display: inline-flex; align-items: center; min-width: 10rem; gap: .35rem; font-size: .9rem; }
.event-entry-count-link { color: inherit; text-decoration: none; border-radius: .25rem; padding: .15rem .25rem; }
.event-entry-count-link:hover, .event-entry-count-link:focus-visible { color: var(--pico-primary); text-decoration: underline; background: color-mix(in srgb, var(--pico-primary) 8%, transparent); }
.event-metadata-icon, .event-status-icon { width: var(--icon-size-button); height: var(--icon-size-button); flex: 0 0 auto; overflow: hidden; font-size: var(--icon-size-button); }
.event-course-summary { min-width: min(100%, 12rem); }
.public-course-symbols { display: inline-flex; align-items: center; gap: .28rem; }
.public-course-symbol { display: inline-flex; align-items: center; }
.public-course-symbol-icon { width: var(--icon-size-status); height: var(--icon-size-status); flex: 0 0 auto; overflow: hidden; font-size: var(--icon-size-status); }
.public-course-circle { display: inline-block; width: .72rem; height: .72rem; flex: 0 0 auto; border: 1px solid color-mix(in srgb, currentColor 38%, transparent); border-radius: 50%; }
.public-course-white { border-color: #64748b; }
.event-card-status { display: flex; align-items: center; gap: .4rem; margin-top: .8rem; padding: .45rem .6rem; border-left: 3px solid; border-radius: var(--pico-border-radius); font-size: .88rem; font-weight: 600; }
.event-card-status-normal { color: var(--pico-color); border-color: var(--pico-muted-border-color); background: var(--pico-card-sectioning-background-color); }
.event-card-status-warning { color: var(--notice-warning-text); border-color: var(--notice-warning); background: var(--notice-warning-bg); }
.event-card-status-error { color: var(--notice-error-text); border-color: var(--notice-error); background: var(--notice-error-bg); }
.markdown-disclosure { margin-top: .65rem; }
.markdown-disclosure > summary { color: var(--pico-muted-color); font-size: 1rem; font-weight: 400; line-height: 1.5; }
.markdown-preview,
.markdown-full { font-size: 1rem; line-height: 1.5; }
.markdown-preview { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.event-description-preview-text { display: inline; }
.event-description-see-more { color: var(--pico-muted-color); font-size: .9em; }
.markdown-disclosure-label { display: none; }
.markdown-disclosure[open] .markdown-preview,
.markdown-disclosure[open] .see-more { display: none; }
.markdown-disclosure[open] .markdown-disclosure-label { display: inline; }
.markdown-full { margin: .5rem 0 0; }
.markdown-full > :first-child { margin-top: 0; }
.markdown-full > :last-child { margin-bottom: 0; }
.event-card-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-top: .85rem; }
.event-card-actions [role="button"] { width: auto; margin: 0; }

.structured-list { margin: 1rem 0; border-top: 1px solid var(--pico-muted-border-color); }
.structured-row { display: grid; grid-template-columns: minmax(10rem, 1fr) auto; gap: 1rem; align-items: center; padding: .8rem 0; border-bottom: 1px solid var(--pico-muted-border-color); }
.structured-row h2, .structured-row h3, .structured-row p { margin: 0; }
.compact-record-list { display: grid; gap: .65rem; }
.record-card { position: relative; margin: 0; padding: .75rem .85rem; border: 1px solid var(--pico-muted-border-color); border-radius: var(--pico-border-radius); background: var(--pico-card-background-color); box-shadow: none; transition: background-color .15s ease, border-color .15s ease; }
.record-card-top { display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: space-between; gap: .35rem .65rem; }
.record-card-identity { display: flex; flex: 1 1 14rem; align-items: center; min-width: 0; gap: .15rem; }
.record-card-name { margin: 0; font-size: 1.05rem; line-height: 1.25; }
.record-card-actions { flex: 0 0 auto; margin-top: -.3rem; }
.record-card-metadata { display: flex; flex-wrap: wrap; gap: .25rem 1.15rem; margin-top: .45rem; color: var(--pico-muted-color); font-size: .86rem; }
.record-card-metadata > div { display: inline-flex; align-items: center; min-width: 7rem; gap: .32rem; }
.record-metadata-icon { width: var(--icon-size-status); height: var(--icon-size-status); flex: 0 0 auto; overflow: hidden; font-size: var(--icon-size-status); }
.record-card-remove-confirmation { margin: 0; }
.record-card-remove-confirmation > summary { display: inline-flex; align-items: center; justify-content: center; min-width: 2.75rem; min-height: 2.75rem; padding: .625rem; border: 1px solid transparent; border-radius: var(--pico-border-radius); color: var(--destructive); cursor: pointer; list-style: none; }
.record-card-remove-confirmation > summary::-webkit-details-marker { display: none; }
.record-card-remove-confirmation[open] { position: absolute; z-index: 2; right: .75rem; top: .75rem; min-width: min(18rem, calc(100% - 1.5rem)); padding: .65rem; border: 1px solid var(--notice-error); border-radius: var(--pico-border-radius); background: var(--pico-background-color); box-shadow: var(--pico-box-shadow); }
.athlete-status-icons { display: inline-flex; align-items: center; gap: .18rem; margin-left: .4rem; color: var(--pico-muted-color); vertical-align: -.15rem; }
.profile-status-icon { display: inline-flex; align-items: center; }
.profile-status-symbol { width: var(--icon-size-status); height: var(--icon-size-status); flex: 0 0 auto; overflow: hidden; font-size: var(--icon-size-status); line-height: 1; }
.athlete-remove-action { margin-left: 0; }
.club-row, #entry-list { scroll-margin-top: 5rem; }
#choose-event, #athlete, #year-of-birth, #sex-category, #membership,
#athlete-contact, #course-choice, #si-card, #start, #shadower,
#medical-information, #entry-review, #payment, #confirmation, #save-athlete {
  scroll-margin-top: 5rem;
}
.club-feedback:empty { display: none; }
.club-row-main { display: grid; grid-template-columns: minmax(12rem, 1fr) auto; gap: 1rem; align-items: start; }
.club-actions { display: grid; grid-template-columns: auto minmax(18rem, 30rem); gap: .75rem; align-items: end; }
.club-admin-form { display: grid; grid-template-columns: minmax(14rem, 1fr) auto; gap: .35rem .65rem; align-items: end; }
.club-admin-form label, .club-admin-form [role="group"] { grid-row: 1; margin: 0; }
.club-admin-form > .field-message { grid-column: 1; grid-row: 2; margin: 0; }
.section-panel { padding: .85rem 0; border-top: 1px solid var(--pico-muted-border-color); }
.section-panel:first-of-type { border-top: 0; }
.danger-zone { border-color: color-mix(in srgb, var(--destructive) 35%, transparent); }
.destructive { color: var(--destructive); border-color: var(--destructive); background: transparent; }
.destructive:hover, .destructive:focus-visible { color: #fff; background: var(--destructive); border-color: var(--destructive); }
.destructive-solid { color: #fff; background: var(--destructive); border-color: var(--destructive); }
.destructive-confirm-control { display: inline-block; margin: 0; }
.destructive-confirm-control > summary { list-style: none; cursor: pointer; }
.destructive-confirm-control > summary::-webkit-details-marker { display: none; }
.destructive-confirm-control > summary.destructive { display: inline-flex; align-items: center; gap: .35rem; width: auto; border: 1px solid var(--destructive); border-radius: var(--pico-border-radius); padding: var(--pico-form-element-spacing-vertical) var(--pico-form-element-spacing-horizontal); min-height: 2.75rem; font-size: var(--pico-font-size); line-height: var(--pico-line-height); }
.destructive-confirm-control > summary.destructive[aria-label] { border: 0; padding: .25rem; color: var(--destructive); background: transparent; }
.destructive-confirm-control > summary.destructive[aria-label]:hover { color: #fff; background: var(--destructive); }
.destructive-confirm-control[open] > summary.destructive { color: #fff; background: var(--destructive); }
.destructive-confirm-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .45rem; margin: .45rem 0 0; }
.destructive-confirm-actions a[role="button"], .destructive-confirm-actions button { width: auto; margin: 0; }
.event-team-assignment { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .65rem .75rem; border-bottom: 1px solid var(--pico-muted-border-color); }
.event-team-person { display: grid; gap: .12rem; }
.event-team-email { color: var(--pico-muted-color); font-size: .84rem; }
.event-team-vacant { color: var(--pico-muted-color); background: color-mix(in srgb, var(--pico-muted-border-color) 12%, transparent); }
.compact-summary { width: min(100%, 34rem); }
.confirm-actions { display: flex; flex-wrap: wrap; gap: .45rem; }
.confirm-actions button { margin: 0; white-space: nowrap; }
.confirm-actions p { flex-basis: 100%; margin: 0; font-size: .82rem; }

.major-section { padding: .15rem 0; border-top: 1px solid var(--pico-muted-border-color); }
.major-section > summary { padding: .85rem 0; font-size: 1.05rem; font-weight: 650; }
.major-section[open] > summary { margin-bottom: .35rem; }
.share-form { display: grid; grid-template-columns: minmax(14rem, 26rem) auto; gap: .45rem .65rem; align-items: end; }
.share-form label { grid-column: 1; grid-row: 1; }
.share-form > button { grid-column: 2; grid-row: 1; }
.share-form > .field-message { grid-column: 1; grid-row: 2; margin: 0; }
.share-form label, .share-form button { margin-bottom: 0; }
.share-form .helper { grid-column: 1 / -1; grid-row: 3; margin-top: -.15rem; }

.signin-panel { width: min(100%, 30rem); max-width: 30rem; margin: 2rem auto; padding: 2rem; text-align: center; border: 1px solid var(--pico-muted-border-color); border-radius: var(--pico-border-radius); background: var(--pico-card-background-color); }
.review-confirm-form, .review-cancel-form { display: inline-flex; align-items: center; width: auto; max-width: none; margin: 0; }
.review-save-profile { margin: 1rem 0 .65rem; }
.review-action-row { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; margin-top: .35rem; }
.review-action-row > a, .review-action-row > button, .review-cancel-control summary { width: auto; margin: 0; }
.review-cancel-control { margin: 0; }
.review-cancel-control > summary { display: inline-flex; align-items: center; gap: .35rem; color: var(--destructive); border: 1px solid var(--destructive); border-radius: var(--pico-border-radius); padding: .48rem .75rem; cursor: pointer; list-style: none; }
.review-cancel-control > summary::-webkit-details-marker { display: none; }
.review-cancel-control[open] { flex-basis: 100%; padding: .65rem; border: 1px solid color-mix(in srgb, var(--destructive) 35%, transparent); }
.review-cancel-control[open] > summary { background: var(--destructive); color: #fff; }
.review-cancel-control p { margin: .45rem 0; }
.payment-retry-progress { margin: 1rem 0; padding: .85rem; border: 1px solid var(--notice-info); border-radius: var(--pico-border-radius); background: var(--notice-info-bg); }
.payment-retry-progress strong { display: block; }
.payment-retry-progress progress { margin: .6rem 0; }
.payment-retry-actions { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .65rem; }
.review-next-steps { margin: 1rem 0 .5rem; color: var(--pico-muted-color); }
.athlete-card { min-width: 0; }
.athlete-card-ready, .athlete-card-success { border-color: var(--notice-success); background: var(--notice-success-bg); }
.athlete-card-incomplete, .athlete-card-error { border-color: var(--notice-error); }
.oentry-text-highlight { padding: .08rem .25rem; border-radius: .15rem; }
.oentry-accordion-more { margin-block: .65rem; }
.oentry-accordion-more > summary { color: var(--pico-muted-color); }
.signin-logo { margin-bottom: .25rem; }
.signin-title { margin-top: 0; }
.signin-options { display: grid; gap: .8rem; width: min(100%, 18rem); margin: 1.25rem auto 0; justify-items: stretch; }
.provider-button { display: block; width: 100%; height: 2.75rem; max-width: 100%; line-height: 0; text-decoration: none; overflow: hidden; border-radius: var(--pico-border-radius); }
.provider-button img { display: block; width: 100%; max-width: 100%; height: 100%; object-fit: fill; }
.provider-button[aria-busy="true"] { position: relative; }
.provider-button[aria-busy="true"]::before { position: absolute; inset: 0; margin: auto; }
.auth-helper { width: min(100%, 28rem); margin-top: .85rem; }
.provider-button .provider-light { display: block; }
.provider-button .provider-dark { display: none; }
@media (prefers-color-scheme: dark) {
  .provider-button .provider-light { display: none; }
  .provider-button .provider-dark { display: block; }
}

.htmx-indicator { display: none; }
.htmx-request .htmx-indicator { display: inline-block; }
.htmx-request { cursor: progress; }
.htmx-request button, button.htmx-request,
.htmx-request input, .htmx-request select, .htmx-request textarea { opacity: .65; }
.field-validation-indicator { margin-left: .35rem; color: var(--pico-muted-color); font-size: .8rem; white-space: nowrap; }
.save-progress { margin-left: .35rem; font-size: .8rem; }
.contextual-help-dialog { width: min(42rem, calc(100vw - 2rem)); max-height: calc(100vh - 2rem); overflow: hidden; padding: 0; }
.contextual-help-dialog #contextual-help-content { display: flex; flex-direction: column; max-height: calc(100vh - 2rem); margin: 0; }
.contextual-help-dialog .help-dialog-content { overflow: auto; padding: 0 1.25rem; overscroll-behavior: contain; }
.contextual-help-dialog header, .contextual-help-dialog footer { flex: 0 0 auto; padding: .85rem 1.25rem; }
.contextual-help-dialog footer { display: flex; justify-content: flex-end; border-top: 1px solid var(--pico-muted-border-color); }
.contextual-help-dialog .help-dialog-content > section { margin-block: 1rem; }
html.help-dialog-open { overflow: hidden; }
.contextual-help-dialog::backdrop { background: rgb(0 0 0 / .45); }
form.htmx-request::after {
  content: "Working…";
  display: block;
  margin-top: .35rem;
  color: var(--pico-muted-color);
  font-size: .82rem;
}

@media (max-width: 760px) {
  .oentry-switch-field-row { flex-direction: column; align-items: stretch; gap: .45rem; }
  .oentry-switch-field-row > :first-child,
  .oentry-switch-field-row > :not(:first-child) { min-width: 0; width: 100%; }
  .filter-bar { width: 100%; margin-top: 1.25rem; }
  :root { --pico-font-size: 94%; }
  main.container { padding-top: .85rem; }
  .site-nav-shell { grid-template-columns: auto 1fr auto; gap: .45rem; }
  .brand-logo { width: auto; height: 2.125rem; }
  .site-navigation { display: none; }
  .mobile-navigation { display: block; }
  .site-nav-link { min-height: 2.75rem; }
  .user-identity-copy { display: none; }
  .site-footer { align-items: flex-start; flex-wrap: wrap; }
  .footer-status { flex-wrap: wrap; }
  main table { display: block; width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
  .field, .field-medium, .field-short, .field-wide { grid-column: span 12; }
  .club-name-setting, .club-short-name-setting { grid-column: span 12; }
  .club-row-main, .club-actions, .structured-row, .share-form, .club-admin-form { grid-template-columns: minmax(0, 1fr); }
  .club-admin-form label, .club-admin-form [role="group"], .club-admin-form > .field-message { grid-column: 1; grid-row: auto; }
  .share-form label, .share-form > button, .share-form > .field-message, .share-form .helper { grid-column: 1; grid-row: auto; }
  .club-actions { gap: .55rem; }
  .integration-grid { grid-template-columns: minmax(0, 1fr); }
  .form-actions { flex-wrap: wrap; }
  .event-identity-grid, .event-time-grid, .event-deadline-grid, .course-fields-row, .course-rules-row, .form-grid-two, .form-grid-four, .relay-leg-course-fields { grid-template-columns: minmax(0, 1fr); }
  .course-add-action { width: 100%; }
  .record-card-top { align-items: center; }
  .record-card-metadata { gap: .25rem .75rem; }
  .public-event-card { padding: .85rem; }
  .event-card-metadata { display: grid; grid-template-columns: minmax(0, 1fr); gap: .4rem; }
  .event-card-actions [role="button"] { flex: 1 1 auto; text-align: center; }
}

@media (min-width: 700px) {
  .review-entry-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 1050px) {
  .review-entry-list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 520px) {
  .club-create-group { flex-direction: column; }
  .club-create-group input[name="name"], .club-create-group input[name="short_name"] { width: 100%; max-width: none; }
  .club-create-group button { width: 100%; }
  .club-role-group { flex-direction: column; }
  .si-settings-grid { grid-template-columns: 1fr; }
  .club-role-group input, .club-role-group select, .club-role-group button { width: 100%; max-width: none; }
  .event-role-group { flex-direction: column; }
  .event-role-group input, .event-role-group select, .event-role-group button { width: 100%; max-width: none; }
}

@media (min-width: 521px) {
  .club-create-group input[name="name"] { flex: 2 1 0; min-width: 0; }
  .club-create-group input[name="short_name"] { flex: 1 1 0; min-width: 8rem; max-width: 12rem; }
  .club-create-group button { flex: 0 0 auto; white-space: nowrap; }
  .club-role-group input { flex: 2 1 0; min-width: 0; }
  .club-role-group select { flex: 1 1 0; min-width: 10rem; max-width: 14rem; }
  .club-role-group button { flex: 0 0 auto; white-space: nowrap; }
  .event-role-group input { flex: 2 1 0; min-width: 0; }
  .event-role-group select { flex: 0 1 13rem; min-width: 10rem; max-width: 14rem; }
  .event-role-group button { flex: 0 0 auto; white-space: nowrap; }
}

@media (min-width: 1100px) {
  main.container { max-width: 1120px; }
  .field-name { grid-column: span 5; }
  .field-year { grid-column: span 2; }
  .field-sex { grid-column: span 3; }
}
.entry-athlete-list,
.review-entry-list {
  display: grid;
  gap: 0.85rem;
}

.entry-athlete-card {
  display: grid;
  grid-template-columns: auto minmax(13rem, 0.8fr) minmax(20rem, 1.4fr);
  gap: 1rem;
  align-items: start;
  border: 2px solid var(--pico-muted-border-color);
  box-shadow: none;
  transition: border-color 120ms ease, background-color 120ms ease;
}
.entry-field-with-help { min-width: 0; }
.entry-field-heading { display: flex; align-items: center; gap: .25rem; min-width: 0; }
.entry-field-heading > label { width: auto; margin: 0; }
.entry-field-heading > .field-help-link,
.entry-toggle-with-help > .field-help-link { display: inline-grid; place-items: center; flex: 0 0 1.2rem; width: 1.2rem; height: 1.2rem; margin: 0; border-radius: var(--pico-border-radius); }
.entry-field-with-help > :is(input, select, textarea) { width: 100%; max-width: none; }
.entry-toggle-with-help > label { display: inline; width: auto; margin: 0; }
.entry-toggle-with-help > .field-help-link { display: inline-flex; margin-inline-start: .2rem; vertical-align: middle; }
.entry-heading-with-help { display: flex; align-items: center; gap: .35rem; }
.entry-heading-with-help h3 { margin: 0; }

.entry-athlete-state { display: none; }

.entry-athlete-card:has(.entry-athlete-state-progress) {
  border-color: var(--pico-primary-border);
  background: color-mix(in srgb, var(--pico-primary-background) 7%, var(--pico-card-background-color));
}

.entry-athlete-card:has(.entry-athlete-state-ready) {
  border-color: var(--oentry-success-border, #2e7d32);
  background: color-mix(in srgb, #2e7d32 8%, var(--pico-card-background-color));
}

.entry-athlete-card:has(.entry-athlete-state-error) {
  border-color: var(--oentry-error-border, #b42318);
  background: color-mix(in srgb, #b42318 7%, var(--pico-card-background-color));
}

.entry-athlete-select input {
  margin-top: 0.35rem;
}

.entry-athlete-name {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
}

.entry-athlete-identity h3 {
  margin-bottom: 0.3rem;
}

.entry-athlete-controls {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.65rem;
  margin: 0;
}
.entry-athlete-controls > label,
.entry-athlete-controls > .entry-field-with-help,
.entry-athlete-controls > .entry-si-dependent { max-width: 28rem; }

.entry-athlete-controls > button,
.entry-athlete-controls > details,
.entry-athlete-controls > .helper,
.entry-athlete-controls > .entry-si-dependent,
.entry-athlete-controls > .entry-emergency-fields {
  grid-column: 1 / -1;
}

.entry-card-status {
  margin: 0.55rem 0 0;
  font-weight: 600;
}
.entry-card-status-row { display: flex; align-items: center; gap: .35rem; }
.entry-card-status-row .entry-card-status { flex: 1 1 auto; }
.entry-card-status-row .icon-action { flex: 0 0 auto; width: 2.25rem; min-width: 2.25rem; height: 2.25rem; padding: .45rem; }

.entry-primary-action {
  position: sticky;
  bottom: 0;
  z-index: 3;
  margin-top: 1.2rem;
  padding: 0.85rem;
  border: 1px solid var(--pico-muted-border-color);
  border-radius: var(--pico-border-radius);
  background: var(--pico-background-color);
  box-shadow: 0 -0.35rem 1rem rgb(0 0 0 / 8%);
}

.entry-primary-action [aria-disabled="true"] {
  pointer-events: none;
  opacity: 0.55;
}

.entry-group-total {
  font-size: 1.15rem;
}

.entry-total-line {
  display: flex;
  align-items: center;
  gap: .45rem;
}

.entry-total-line p {
  margin: 0;
}

.entry-total-refresh {
  width: 2rem;
  min-width: 2rem;
  height: 2rem;
  margin: 0;
  padding: .25rem;
}

.athlete-profile-summary {
  position: relative;
}

.athlete-membership-status {
  display: block;
  margin: 0.15rem 0 0.45rem;
  font-weight: 600;
}

.athlete-profile-contact,
.athlete-emergency-contacts {
  margin-block: 0.35rem;
  font-size: 0.86rem;
}

.athlete-profile-contact p,
.athlete-emergency-contacts p,
.record-card-metadata p {
  display: flex;
  gap: 0.35rem;
  align-items: center;
  margin: 0.2rem 0;
}

.inline-icon-label > :is(.material-symbols-outlined, span) {
  display: inline-flex;
  vertical-align: middle;
}

.student-profile-fields {
  margin-block: .5rem;
}

.athlete-profile-contact .material-symbols-outlined,
.athlete-emergency-contacts .material-symbols-outlined,
.record-card-metadata .material-symbols-outlined {
  font-size: 1.1rem;
}

.athlete-profile-edit {
  display: inline-flex;
  gap: 0.3rem;
  align-items: center;
  margin-top: 0.35rem;
  font-size: 0.86rem;
}

.entrant-event-card > h2 {
  margin-top: 1.35rem;
}

.entrant-event-description {
  margin-top: 1rem;
}

.entrant-course-list {
  margin: .25rem 0 0;
  padding-left: 1.2rem;
}

.entrant-course-table {
  width: 100%;
  margin: .2rem 0 0;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: auto;
  font-size: .82rem;
}

.entrant-course-table td {
  padding: .18rem .2rem;
  vertical-align: top;
  border-bottom: 1px solid var(--pico-muted-border-color);
}

.entrant-course-table tbody tr:not(:last-child) td {
  border-bottom: 1px solid var(--pico-muted-border-color);
}

.entrant-course-table td:first-child {
  width: 1%;
  white-space: nowrap;
}

.entrant-course-table tr:last-child td {
  border-bottom: 0;
}

.entrant-course-table .event-course-name {
  margin: 0;
  line-height: 1.2;
  font-weight: 700;
}

.event-course-content {
  min-width: 0;
  line-height: 1.25;
}

.event-course-facts,
.event-course-description,
.event-course-restriction {
  display: block;
  margin: 0;
  font-size: .82rem;
  line-height: 1.25;
}

.event-course-description {
  margin-top: .08rem;
}

.event-course-description p {
  margin: 0;
}

.event-course-restriction {
  margin-top: .08rem;
  color: var(--pico-del-color);
}

.entrant-course {
  padding-block: 0.45rem;
  border-bottom: 1px solid var(--pico-muted-border-color);
}

.entrant-course h5,
.entrant-course p {
  margin: 0 0 0.15rem;
}

.entrant-course h5 { font-size: .98rem; }

.event-course-facts,
.event-course-restriction,
.entrant-deadlines p,
.entrant-map-remaining p {
  font-size: 0.82rem;
}

.event-course-restriction {
  display: block;
  margin-top: .08rem;
  line-height: 1.2;
  color: var(--pico-del-color);
}

.entrant-courses-details { margin-top: .8rem; }
.course-disclosure-trigger { display: inline-flex; align-items: center; gap: .4rem; width: auto; margin: 0 0 .35rem; padding: .5rem .75rem; }
.course-disclosure-trigger .material-symbols-outlined:last-child { transition: transform .15s ease; }
.entrant-courses-details[open] .course-disclosure-trigger .material-symbols-outlined:last-child { transform: rotate(180deg); }
.entrant-event-info-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(16rem, .8fr); gap: 1rem; align-items: start; }
.event-info-entry h2 { margin-top: 0; }

.entrant-event-card > h2 { margin: 1rem 0 .35rem; }
.event-details-accordion > summary, .event-courses-accordion > summary { font-size: 1.05rem; font-weight: 650; }
.course-graphic { display: inline-block; width: 1.15rem; height: 1.15rem; border: 1px solid color-mix(in srgb, currentColor 38%, transparent); border-radius: 50%; }
.term-tooltip { text-decoration: underline dotted; text-underline-offset: .14em; cursor: help; }
.table-sort-link { display: inline-flex; align-items: center; gap: .15rem; color: var(--pico-color); font-weight: 650; text-decoration: none; }
.entrant-course-table td:first-child { width: 2rem; padding-inline: .35rem; }
.entrant-event-card > p { margin-block: .2rem; }
.entrant-deadlines { display: grid; gap: .15rem; }
.entrant-deadlines p { margin: 0; }
.event-info-entry > h2 { margin: 1rem 0 .3rem; font-size: 1rem; }
.event-info-entry > h2:first-of-type { margin-top: .8rem; }
.event-info-entry > p { margin: .15rem 0; }
.deadline-imminent { color: var(--notice-warning-text); font-weight: 650; }
.entrant-entry-count { margin-block: .65rem !important; font-weight: 650; }
.event-card-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .25rem .7rem; }
.event-enter-action { display: inline-block; margin: 1rem 0 .5rem; }
.text-action { display: inline-flex; align-items: center; gap: .3rem; width: auto; margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; color: var(--pico-primary); font: inherit; text-decoration: underline; cursor: pointer; }
.text-action:hover, .text-action:focus-visible { background: transparent; box-shadow: none; }
.entry-emergency-fields { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .45rem .75rem; }
.entry-emergency-reuse { grid-column: 1 / -1; }
.entry-emergency-fields > .entry-heading-with-help,
.entry-emergency-fields > h3,
.entry-emergency-fields > select,
.entry-emergency-fields > p { grid-column: 1 / -1; }
.entry-emergency-field > label { display: block; }
.entry-athlete-list { display: grid; grid-template-columns: 1fr; gap: .75rem; }
.review-entry-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; }
@media (max-width: 900px) { .review-entry-list { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 620px) { .review-entry-list { grid-template-columns: 1fr; } }
@media (max-width: 620px) {
  .athlete-name-grid,
  .athlete-identity-grid,
  .athlete-membership-controls,
  .athlete-contact-grid,
  .athlete-emergency-grid,
  .athlete-student-row { grid-template-columns: 1fr; }
}
.review-entry-card { margin: 0; padding: .7rem .85rem; }
.review-entry-card h3,
.review-entry-card p { margin: 0; }
.review-entry-card p + p { margin-top: .15rem; }
.review-entry-success { border: 2px solid var(--notice-success); background: var(--notice-success-bg); }
.review-entry-informational { border-color: var(--pico-muted-border-color); }
.review-entry-success.review-entry-informational { border-color: var(--notice-success); background: var(--notice-success-bg); }
.review-entry-status { display: inline-flex; align-items: center; gap: .35rem; color: var(--notice-success-text); font-weight: 700; }
.review-entry-status .material-symbols-outlined { font-size: 1.1rem; }
.review-entry-metadata { display: flex; flex-wrap: wrap; gap: .25rem .7rem; color: var(--pico-muted-color); font-size: .86rem; }
.review-entry-indicators { display: inline-flex; gap: .25rem; margin-left: .35rem; color: var(--pico-muted-color); vertical-align: middle; }
.review-entry-indicator { display: inline-flex; align-items: center; }
.review-event-details { margin-bottom: .8rem; }
.review-event-details > summary { font-size: 1.1rem; font-weight: 650; }
.new-athlete-profile-fields { display: grid; gap: .55rem .7rem; margin-bottom: .7rem; }
.new-athlete-profile-fields .profile-row { display: grid; gap: .55rem .7rem; }
.new-athlete-profile-fields .profile-row-wide { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.new-athlete-profile-fields .profile-row-three { grid-template-columns: minmax(7rem, .7fr) minmax(7rem, .7fr) minmax(15rem, 1.6fr); }
.new-athlete-profile-fields .profile-row-student-switch { grid-template-columns: 1fr; }
.new-athlete-profile-fields .profile-row-membership { grid-template-columns: minmax(11rem, 1fr) minmax(11rem, 1fr); }
.new-athlete-profile-fields .profile-row-si { grid-template-columns: 1fr; }
.new-athlete-student-fields { display: grid; grid-template-columns: minmax(0, 1fr) 12rem; gap: .5rem .7rem; grid-column: 1 / -1; }
.entry-section-heading { grid-column: 1 / -1; margin: .35rem 0 0; font-size: 1rem; }
.entry-blocking-reasons {
  margin: -.35rem 0 .65rem 1.25rem;
  padding-left: 1rem;
  font-size: .86rem;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .15rem 1.25rem;
}
@media (max-width: 700px) {
  .entry-blocking-reasons { grid-template-columns: 1fr; }
}
.booking-contact-fields { margin-block: .8rem; }

.pricing-table-summary {
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--pico-muted-border-color);
}
.pricing-table-scroll { overflow-x: auto; }
.pricing-table-scroll table { min-width: 34rem; margin-bottom: 0; }

@media (max-width: 760px) {
  .entrant-event-info-grid, .entry-emergency-fields, .new-athlete-profile-fields, .new-athlete-student-fields { grid-template-columns: 1fr; }
  .new-athlete-profile-fields .profile-row { grid-template-columns: 1fr; }
  .entry-athlete-card {
    grid-template-columns: auto 1fr;
  }

  .entry-athlete-controls {
    grid-column: 1 / -1;
    grid-template-columns: 1fr;
  }

  .entry-athlete-controls > * {
    grid-column: 1;
  }
}
.privacy-placeholder { display: inline-block; padding: .15rem .35rem; border: 1px solid #b45309; background: #fef3c7; color: #78350f; font-weight: 700; }
.privacy-summary { margin-block: 1.5rem; padding: 1rem 1.25rem; border-left: .3rem solid var(--pico-primary); background: var(--pico-card-background-color); border-radius: var(--pico-border-radius); }
.privacy-summary h2 { margin-top: 0; }
.privacy-summary p:last-child, .privacy-notice p:last-child { margin-bottom: 0; }
.privacy-notice { max-width: 75ch; }
.privacy-notice h2 { margin-top: 1.8rem; }
.footer-utilities a { text-transform: uppercase; }
.oentry-compact-inline-fields { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 9rem), 1fr)); gap: .55rem .75rem; align-items: end; }
.oentry-compact-inline-fields > label { margin-bottom: 0; }
.oentry-compact-token-group { display: flex; flex-wrap: wrap; align-items: center; gap: .3rem .55rem; }
.oentry-warning-badge { display: inline-block; color: var(--notice-warning); vertical-align: middle; }
.oentry-warning-badge summary { display: inline-block; cursor: pointer; font-weight: 700; }
.oentry-warning-badge p { margin: .25rem 0; padding: .5rem; border: 1px solid var(--notice-warning); border-radius: var(--pico-border-radius); background: var(--notice-warning-bg); color: var(--notice-warning-text); }
.relay-event-settings { max-width: 44rem; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem 1rem; }
.relay-event-settings .helper, .relay-event-settings button { grid-column: 1 / -1; }
.relay-runner-pool { display: grid; gap: .4rem; }
.relay-runner-line { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: .6rem; align-items: baseline; padding-block: .25rem; border-bottom: 1px solid var(--pico-muted-border-color); }
.relay-runner-line > strong { white-space: nowrap; }
.relay-runner-token { display: inline-flex; align-items: center; gap: .25rem; width: auto; margin: 0; }
.relay-runner-token input { margin: 0; }
.relay-sharing-badge { display: inline-block; margin-inline-start: .25rem; padding: .08rem .4rem; border: 1px solid var(--pico-muted-border-color); border-radius: 1rem; color: var(--pico-muted-color); font-size: .78rem; white-space: nowrap; }
.relay-pool-actions { align-items: start; gap: .6rem; margin-block: .6rem 1rem; }
.relay-pool-actions > details { min-width: 0; max-width: 100%; margin: 0; }
.relay-pool-actions > details[open] { flex: 1 1 100%; }
.relay-pool-actions > details > summary { display: flex; align-items: center; min-height: 2.5rem; padding: .4rem .65rem; border: 1px solid var(--pico-muted-border-color); border-radius: var(--pico-border-radius); background: var(--pico-card-background-color); color: var(--pico-primary); font-weight: 600; cursor: pointer; }
.relay-pool-actions > details > summary::-webkit-details-marker { display: none; }
.relay-pool-actions > details > summary:focus-visible { outline: 2px solid var(--pico-primary); outline-offset: 2px; }
.relay-pool-actions > details[open] > summary { margin-bottom: .5rem; }
.relay-pool-actions .relay-manual-runner-row { margin-block: .5rem; }
.relay-pool-actions :is(button, a[role=button]) { width: auto; }
.relay-pool-tools-copy { display: flex; flex-wrap: wrap; gap: .5rem; align-items: end; }
.relay-pool-tools-copy > label { flex: 1 1 20rem; margin: 0; }
.relay-pool-tools-copy textarea { margin-bottom: 0; }
.relay-pool-counts { color: var(--pico-muted-color); font-size: .9rem; }
.relay-class-summary-list { display: grid; gap: .75rem; }
.team-competition-course-map { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .5rem; }
.team-competition-course-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.team-competition-course-editor-card { margin: 0; min-width: 0; }
.team-competition-course-editor-card h4 { margin-top: 0; }
.team-competition-course-editor-card label { display: block; margin: .2rem 0; }
.team-competition-team-actions { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; margin-top: .75rem; }
.team-competition-team-actions form { width: auto; margin: 0; }
.team-competition-team-actions :is(a[role=button], button) { width: auto; margin: 0; }
.management-guide-icon { font-size: 2rem; vertical-align: middle; }
.guide-audience { margin-top: -.5rem; color: var(--pico-muted-color); font-size: .9rem; font-weight: 600; }
.documentation-frame { margin: .8rem 0 1rem; padding: .65rem; border: 1px solid var(--pico-muted-border-color); border-radius: var(--pico-border-radius); background: var(--pico-card-background-color); }
.documentation-frame img { display: block; width: 100%; height: auto; border: 1px solid var(--pico-muted-border-color); border-radius: .2rem; }
.documentation-caption { margin: .5rem 0 0; color: var(--pico-muted-color); font-size: .85rem; }
.team-competition-course-map > article { margin: 0; padding: .55rem .7rem; min-width: 0; }
.team-competition-course-map h4 { margin: 0 0 .25rem; }
.team-competition-course-map p { margin: .15rem 0; font-size: .9rem; overflow-wrap: anywhere; }
.team-competition-lane-editor { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .4rem .75rem; padding: .75rem; margin: .5rem 0; }
.team-competition-lane-editor h4, .team-competition-lane-editor p, .team-competition-lane-editor > label:nth-last-child(1) { grid-column: 1 / -1; }
.team-competition-lane-editor label { min-width: 0; }
.team-competition-lane-editor select[multiple] { min-height: 7rem; }
.relay-team-list ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: .4rem .75rem;
  padding-inline-start: 1.25rem;
}
.relay-team-list li { min-width: 0; margin: 0; }
.relay-team-list li a { display: block; overflow-wrap: anywhere; line-height: 1.35; }
.relay-team-leg-row { padding-block: .55rem; border-bottom: 1px solid var(--pico-muted-border-color); }
.relay-team-leg-controls { display: grid; grid-template-columns: minmax(0, 1fr) minmax(12rem, .75fr); gap: .5rem; align-items: start; }
.relay-runner-control { min-width: 0; }
.relay-runner-control > label { margin-bottom: 0; }
.relay-runner-picker { display: flex; align-items: center; gap: .5rem; }
.relay-runner-picker > select { flex: 1; min-width: 0; margin-bottom: 0; }
.relay-runner-picker > .oentry-clear-selection { flex: none; margin: 0; }
.relay-team-leg-controls > label { margin-bottom: 0; }
.oentry-clear-selection { width: auto; margin-bottom: .15rem; padding-inline: .65rem; }
.team-comp-schedule-preview-wrap { max-width: 100%; overflow-x: auto; overscroll-behavior-inline: contain; }
.team-comp-schedule-preview { min-width: 46rem; }
.team-comp-schedule-mobile-hint { display: none; font-size: .85rem; color: var(--pico-muted-color); }
@media (max-width: 760px) {
  .team-comp-schedule-mobile-hint { display: block; }
  main table.relay-payment-table { display: table; overflow: visible; table-layout: fixed; }
  .relay-payment-table thead { display: none; }
  .relay-payment-table tbody { display: grid; gap: .45rem; }
  .relay-payment-table tbody tr {
    display: grid;
    grid-template-columns: 2.5rem minmax(0, 1fr) auto;
    grid-template-rows: auto auto;
    grid-template-areas: "pay runner amount" "pay status amount";
    align-items: center;
    border: 1px solid var(--pico-muted-border-color);
    border-radius: var(--pico-border-radius);
    background: var(--pico-card-background-color);
  }
  .relay-payment-table tbody td { min-width: 0; padding: .45rem .5rem; border: 0; }
  .relay-payment-table tbody td:nth-child(1) { grid-area: pay; }
  .relay-payment-table tbody td:nth-child(2) { grid-area: runner; overflow-wrap: anywhere; }
  .relay-payment-table tbody td:nth-child(3) { grid-area: status; color: var(--pico-muted-color); font-size: .85rem; }
  .relay-payment-table tbody td:nth-child(4) { grid-area: amount; white-space: nowrap; font-weight: 650; }
  .relay-payment-table tbody td:nth-child(2) small { display: block; }
}
@media (max-width: 760px) { .relay-event-settings { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .relay-team-leg-controls { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) { .relay-team-list ul { grid-template-columns: minmax(0, 1fr); gap: .35rem; } }
@media (max-width: 760px) { .team-competition-course-map, .team-competition-course-editor { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) { .team-competition-lane-editor { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 760px) { .relay-captain-invite { min-width: 0; flex-wrap: wrap; } .relay-captain-invite input { min-width: 0; } }

/* Event Operations refines the standard table, record cards and native disclosures. */
.operations-heading { margin-bottom: .5rem; gap: .3rem .65rem; }
.operations-heading h1 { font-size: 1.45rem; margin: 0; }
.operations-counts { display: flex; flex-wrap: wrap; gap: .25rem .5rem; margin-block: .5rem; font-size: .78rem; }
.operations-filters { display: flex; gap: .65rem; align-items: end; flex-wrap: wrap; margin-bottom: .5rem; }
.operations-filters > label { flex: 1; min-width: 12rem; margin: 0; }
.operations-filters input, .operations-filters button { margin-bottom: 0; }
.operations-filter-options { position: relative; margin: 0; }
.operations-filter-options[open] { flex-basis: 100%; }
.operations-meta, .operations-si { font-size: .76rem; color: var(--pico-muted-color); line-height: 1.35; }
.operations-name { font-weight: 600; overflow-wrap: anywhere; }
.operations-person { display: flex; align-items: center; justify-content: space-between; gap: .25rem; }
.operations-person h3 { margin: 0; font-size: 1rem; }
.operations-confidential-controls { display: inline-flex; align-items: center; flex: 0 0 auto; }
.operations-table { table-layout: fixed; font-size: .8rem; margin-bottom: .5rem; }
.operations-table :is(th, td) { padding: .4rem .35rem; vertical-align: middle; min-width: 0; overflow-wrap: anywhere; }
.operations-table th { white-space: normal; }
.operations-table th:first-child { width: 24%; }
.operations-table th:nth-child(2) { width: 9%; }
.operations-table th:nth-child(3) { width: 9%; }
.operations-table th:nth-child(4), .operations-table th:nth-child(5) { width: 10%; }
.operations-table th:nth-child(6) { width: 15%; }
.operations-table th:last-child { width: 23%; }
.operations-table .status-badge { white-space: normal; font-size: .72rem; padding: .15rem .35rem; }
.operations-status { display: flex; align-items: center; justify-content: space-between; gap: .3rem; }
.operations-action-form { margin: 0; }
.operations-action-form button { margin: 0; padding: .35rem .6rem; font-size: .8rem; width: auto; }
.operations-action-form.htmx-request button { opacity: .65; }
.operations-disclosure { position: relative; margin: 0; border: 0; padding: 0; }
.operations-disclosure > summary { display: inline-flex; align-items: center; gap: .2rem; padding: .35rem .55rem; margin: 0; border: 1px solid var(--pico-muted-border-color); border-radius: var(--pico-border-radius); font-size: .8rem; line-height: 1.3; color: var(--pico-primary); cursor: pointer; }
.operations-disclosure > summary::after { display: none; }
.operations-disclosure > summary:focus-visible { outline: 2px solid var(--pico-primary); outline-offset: 2px; }
.operations-secondary > summary { padding: .25rem; }
.operations-more-label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.operations-panel { position: absolute; right: 0; top: calc(100% + .25rem); width: min(21rem, 85vw); z-index: 10; padding: .75rem; background: var(--pico-card-background-color); border: 1px solid var(--pico-muted-border-color); border-radius: var(--pico-border-radius); box-shadow: var(--pico-box-shadow); max-height: 60vh; overflow: auto; }
.operations-panel :is(p, label, input, details, button) { font-size: .85rem; }
.operations-panel input { padding: .4rem .5rem; height: auto; margin-bottom: .5rem; }
.operations-panel input[type=checkbox] { padding: 0; }
.operations-panel .operations-panel { position: static; width: 100%; box-shadow: none; border: 0; padding: .5rem 0 0; max-height: none; overflow: visible; }
.operations-panel > form, .operations-panel > details { margin-bottom: .5rem; }
.operations-panel > :last-child { margin-bottom: 0; }
.operations-mass-start { margin-block: .6rem; }
.operations-mass-start p { font-size: .85rem; margin-bottom: .5rem; }
.operations-course-choices { display: flex; flex-wrap: wrap; gap: .4rem 1rem; margin-bottom: .5rem; }
.operations-course-choices label { margin: 0; font-size: .9rem; }
.operations-mobile { display: none; }
.operations-state-in_forest { border-left: .2rem solid var(--notice-warning); }
.operations-state-finished, .operations-state-downloaded { border-left: .2rem solid var(--notice-success); }
.operations-card-status, .operations-times, .operations-primary { display: flex; align-items: center; flex-wrap: wrap; gap: .3rem .65rem; }
.operations-card-status { font-size: .8rem; margin-top: .3rem; }
.operations-times { font-size: .8rem; margin-block: .3rem; }
.operations-primary { margin-top: .4rem; }
.operations-primary .operations-secondary { margin-left: auto; }
@media (max-width: 900px) {
  .operations-desktop { display: none; }
  .operations-mobile { display: grid; gap: .6rem; }
  .operations-card { padding: .6rem .7rem; }
  .operations-card .status-badge { font-size: .75rem; }
  .operations-primary :is(button, summary) { min-height: 2.75rem; padding: .5rem .7rem; }
  .operations-primary .operations-secondary > summary { min-width: 2.75rem; justify-content: center; }
  .operations-card .operations-panel { position: static; width: 100%; max-height: none; }
  .operations-card .operations-disclosure[open] { flex-basis: 100%; }
  .operations-filters { gap: .5rem; }
  .operations-filters > label { flex-basis: 100%; }
}

.operations-row-feedback { font-size: .76rem; line-height: 1.3; margin-top: .25rem; }
.operations-row-feedback.status-error { color: var(--notice-error); }
.operations-row-feedback.status-success { color: var(--notice-success); }

/* Primary check-in/start pair and canonical icon-action targets. */
.operations-start-controls { display: flex; flex-wrap: wrap; gap: .3rem; }
.operations-start-controls > .operations-disclosure { flex: 0 0 auto; }
.operations-table th:nth-child(2), .operations-table th:nth-child(3) { width: 8%; }
.operations-table th:nth-child(4) { width: 16%; }
.operations-table th:nth-child(5) { width: 9%; }
.operations-table th:nth-child(6) { width: 14%; }
.operations-table th:last-child { width: 21%; }
.operations-hire-reminder { padding: .5rem; border-left: .2rem solid var(--notice-warning); font-weight: 600; color: var(--pico-color); background: var(--pico-card-sectioning-background-color); }
.operations-confidential-controls .icon-action { flex-shrink: 0; }
.operations-panel :is(input:not([type=checkbox]), select) { min-height: 2.5rem; }

/* Reporting/export cards share the operations density without a second roster. */
.operations-report-downloads { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 16rem), 1fr)); gap: .75rem; margin-block: 1rem; }
.operations-report-card { min-width: 0; display: flex; flex-direction: column; gap: .5rem; }
.operations-report-card h2 { font-size: 1.05rem; margin: 0; }
.operations-report-card :is(p, form, label, input, button, a[role=button]) { margin: 0; }
.operations-report-card form { display: grid; gap: .6rem; }
.operations-report-card :is(button, a[role=button]) { width: 100%; white-space: normal; }
.operations-report-card > :last-child { margin-top: auto; }
.operations-report-lookup { margin-block: 1rem; }
.operations-contact-list { display: grid; gap: .4rem; }
.operations-contact-row { display: flex; align-items: center; justify-content: space-between; gap: .5rem; min-width: 0; }
.operations-contact-row > div { min-width: 0; overflow-wrap: anywhere; }
.operations-contact-row .operations-meta { display: block; }
.operations-report-search { display: flex; align-items: end; gap: .5rem; margin-block: .75rem; }
.operations-report-search label { flex: 1; margin: 0; }
.operations-report-search :is(input, button) { margin: 0; }
@media (max-width: 600px) { .operations-report-search { flex-wrap: wrap; } .operations-report-search label { flex-basis: 100%; } }

.operations-panel input[type=checkbox] { height: 1.25rem; min-height: 0; padding: 0; }

/* Club Activity adapts the existing person-card and form-grid vocabulary. */
#social-attendees { display: grid; gap: 1rem; margin-block: 1rem; }
.social-attendee { margin: 0; padding: .85rem; }
.social-attendee legend { font-weight: 600; }
.social-attendee h2 { font-size: 1.05rem; margin-block: .7rem .3rem; }
.social-birth { grid-column: 1 / -1; }
.social-attendee-options { margin-block: .5rem; align-items: start; }
.social-attendee-options label { margin: 0; }
.booking-price-summary { background: var(--pico-contrast); color: var(--pico-contrast-inverse); border-radius: var(--pico-border-radius); padding: .7rem 1rem; margin-block: 1rem; }
.booking-price-summary p { margin: 0; color: inherit; }
.social-option-row { display: grid; grid-template-columns: minmax(8rem, 1fr) minmax(10rem, 2fr) minmax(9rem, 1fr) auto; gap: .65rem; align-items: end; margin-block: .6rem; }
.social-option-row > :is(label, button) { margin: 0; }
.social-option-row input { margin-bottom: 0; }
.social-registration-form > .button-bar { margin-block: 1rem; }
.social-options-report { margin-top: 1.25rem; }
@media (max-width: 767px) { .social-option-row { grid-template-columns: minmax(0, 1fr); } }

.social-booking > :is(form, details, article, .button-bar) { margin-block: .85rem; }

.relay-captain-invite { align-items: end; }
.relay-captain-invite > :is(label, button) { margin: 0; }
.relay-team-leg-controls > :is(label, button),
.relay-team-leg-controls > label > select { margin-bottom: 0; }
.relay-si-control details { margin-bottom: 0; }
@media (max-width: 760px) {
  .relay-team-leg-controls > .relay-si-control { grid-column: 1 / -1; min-width: 0; }
}

/* Status uses ordinary Pico action sizing, including disclosure confirmations. */
.lifecycle-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: flex-start; margin-block: 1rem; }
.lifecycle-actions > form > button { width: auto; margin: 0; }
.event-format-help { flex-basis: 100%; margin: .35rem 0 0; }
/* Four torn edges stay within the padded frame, clear of image and caption. */
.documentation-frame {
  --documentation-tear-depth: .75rem;
  --documentation-tear-shape: polygon(
    0 .2rem, 3% .1rem, 5% .65rem, 8% .25rem, 11% 0, 14% .55rem,
    18% .15rem, 21% var(--documentation-tear-depth), 24% .3rem, 28% .05rem,
    31% .6rem, 35% .2rem, 38% .5rem, 42% 0, 46% .65rem, 49% .25rem,
    53% .1rem, 57% .7rem, 61% .2rem, 64% .5rem, 68% .05rem, 72% .6rem,
    76% .2rem, 80% var(--documentation-tear-depth), 84% .15rem, 88% .55rem,
    92% 0, 96% .4rem, 100% .1rem,
    calc(100% - .6rem) 5%, calc(100% - .1rem) 11%, calc(100% - .7rem) 17%,
    100% 24%, calc(100% - .5rem) 31%, calc(100% - .15rem) 38%,
    calc(100% - var(--documentation-tear-depth)) 44%, calc(100% - .1rem) 51%,
    calc(100% - .6rem) 58%, 100% 65%, calc(100% - .5rem) 72%,
    calc(100% - .2rem) 79%, calc(100% - .7rem) 86%, 100% 93%, calc(100% - .2rem) 100%,
    96% calc(100% - .65rem), 92% calc(100% - .1rem), 88% calc(100% - .5rem),
    84% 100%, 80% calc(100% - .7rem), 76% calc(100% - .2rem),
    72% calc(100% - .55rem), 68% calc(100% - .05rem), 64% calc(100% - .6rem),
    60% calc(100% - .2rem), 56% calc(100% - var(--documentation-tear-depth)),
    52% calc(100% - .1rem), 48% calc(100% - .55rem), 44% 100%,
    40% calc(100% - .65rem), 36% calc(100% - .25rem), 32% calc(100% - .6rem),
    28% calc(100% - .1rem), 24% calc(100% - .7rem), 20% calc(100% - .2rem),
    16% calc(100% - .5rem), 12% 100%, 8% calc(100% - .6rem), 4% calc(100% - .1rem), 0 100%,
    .6rem 94%, .1rem 88%, .7rem 81%, 0 74%, .5rem 68%, .15rem 61%,
    var(--documentation-tear-depth) 54%, .1rem 47%, .6rem 40%, 0 33%,
    .55rem 26%, .2rem 19%, .7rem 12%, 0 6%
  );
  position: relative;
  isolation: isolate;
  margin-bottom: 1.6rem;
  padding: 1.1rem;
  border: 0;
  border-radius: 0;
  background: transparent;
}
.documentation-frame::before, .documentation-frame::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background: var(--pico-secondary);
  clip-path: var(--documentation-tear-shape);
  pointer-events: none;
}
.documentation-frame::after {
  inset: 2px;
  z-index: 0;
  background: var(--pico-card-background-color);
}
.documentation-frame > * { position: relative; z-index: 1; }

.event-sharing textarea { width: 100%; font-size: .85rem; overflow-wrap: anywhere; }
.event-sharing h4 { margin-top: 1.5rem; }
.event-embed-preview { display: block; width: 440px; max-width: 100%; height: auto; margin-bottom: 1rem; }

/* Optional athlete validation fallback: native button semantics, inline link styling. */
button.validation-refresh-link {
  display: inline-flex; align-items: center; gap: .3rem;
  width: auto; margin: .5rem 0 0; padding: 0; border: 0;
  background: transparent; box-shadow: none; color: var(--pico-muted-color);
  font-size: .8rem; text-align: left; text-decoration: underline;
}
button.validation-refresh-link .action-icon { font-size: 1rem; width: 1rem; height: 1rem; }
button.validation-refresh-link:hover { color: var(--pico-primary); }
button.validation-refresh-link:focus-visible { outline: 2px solid var(--pico-primary); outline-offset: 3px; }
