:root {
    --black: #080b10;
    --midnight-blue: #081f3a;
    --valhalla-blue: #146cdb;
    --steel-blue: #dcebfa;
    --white: #ffffff;
    --slate: #334155;
    --muted-blue: rgb(51 65 85 / 70%);
    --line: rgb(51 65 85 / 25%);
    --line-strong: rgb(51 65 85 / 55%);
    --shadow: 0 1rem 2.5rem rgb(8 31 58 / 12%);
    --shadow-small: 0 0.35rem 1rem rgb(8 31 58 / 10%);
    --display-font: "Arial Narrow", "Roboto Condensed", "Trebuchet MS", sans-serif;
    --body-font: "Avenir Next", "Segoe UI", sans-serif;
    --utility-font: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    --space-1: clamp(0.5rem, 0.45rem + 0.25vw, 0.75rem);
    --space-2: clamp(0.75rem, 0.6rem + 0.75vw, 1.25rem);
    --space-3: clamp(1rem, 0.8rem + 1vw, 1.75rem);
    --space-4: clamp(1.5rem, 1.1rem + 2vw, 3rem);
    --text-xs: clamp(0.75rem, 0.7rem + 0.25vw, 0.875rem);
    --text-sm: clamp(0.875rem, 0.8rem + 0.375vw, 1rem);
    --text-base: clamp(1rem, 0.9rem + 0.5vw, 1.125rem);
    --text-lg: clamp(1.125rem, 1rem + 0.625vw, 1.25rem);
    --text-xl: clamp(1.5rem, 1.25rem + 1.25vw, 2rem);
    --text-2xl: clamp(2rem, 1.5rem + 2.5vw, 3.5rem);
}

html {
    scroll-behavior: smooth;
}

body {
    background:
        radial-gradient(circle at 100% 0, rgb(20 108 219 / 8%), transparent 28rem),
        var(--steel-blue);
    color: var(--slate);
    font-family: var(--body-font);
    font-size: var(--text-base);
    line-height: 1.6;
}

p {
    max-width: 65ch;
}

a {
    color: var(--valhalla-blue);
    transition: color 180ms ease, background-color 180ms ease,
        border-color 180ms ease, transform 180ms ease;
}

a:hover {
    color: var(--midnight-blue);
}

.skip-link {
    background: var(--white);
    color: var(--midnight-blue);
    left: var(--space-2);
    padding: 0.75rem 1rem;
    position: absolute;
    top: -5rem;
    z-index: 30;
}

.skip-link:focus {
    top: var(--space-2);
}

.site-header {
    background: var(--midnight-blue);
    border-bottom: 4px solid var(--valhalla-blue);
}

.site-header__inner {
    align-items: center;
    display: flex;
    justify-content: space-between;
    min-height: 4.5rem;
    position: relative;
}

.brand {
    color: var(--white);
    font-family: var(--display-font);
    font-size: 1.4rem;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-decoration: none;
}

.brand span {
    color: var(--valhalla-blue);
}

.navigation-toggle,
.navigation-logout {
    background: transparent;
    border: 1px solid rgb(255 255 255 / 40%);
    color: var(--white);
    min-height: 44px;
    padding: 0.5rem 0.75rem;
}

.navigation-toggle:hover,
.navigation-logout:hover {
    background: var(--valhalla-blue);
    border-color: var(--valhalla-blue);
    color: var(--white);
}

.primary-navigation {
    background: var(--midnight-blue);
    display: none;
    inset: 100% 0 auto;
    padding: var(--space-1);
    position: absolute;
    z-index: 10;
}

.primary-navigation.is-open {
    display: grid;
    gap: 0.25rem;
}

.site-navbar {
    padding-block: 0.75rem;
}

.site-navbar .navbar-toggler {
    border-color: rgb(255 255 255 / 40%);
    border-radius: 0.2rem;
    min-height: 44px;
    padding: 0.5rem 0.7rem;
}

.site-navbar .navbar-toggler:focus {
    box-shadow: 0 0 0 0.2rem rgb(220 235 250 / 45%);
}

.site-navbar .navbar-toggler-icon {
    background-image: none;
    display: block;
    height: 1.25rem;
    position: relative;
    width: 1.5rem;
}

.site-navbar .navbar-toggler-icon::before,
.site-navbar .navbar-toggler-icon::after {
    background: var(--white);
    box-shadow: 0 0.45rem 0 var(--white), 0 -0.45rem 0 var(--white);
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    top: 0.6rem;
    width: 1.5rem;
}

.site-navigation {
    background: var(--midnight-blue);
    margin-block-start: 0.75rem;
    padding: var(--space-1);
}

.site-navbar .nav-link {
    border-inline-start: 3px solid transparent;
    color: var(--white);
    font-size: var(--text-sm);
    font-weight: 700;
    min-height: 44px;
    padding: 0.65rem 0.75rem;
}

.site-navbar .nav-link:hover,
.site-navbar .nav-link:focus-visible,
.site-navbar .nav-link[aria-current="page"] {
    background: rgb(255 255 255 / 10%);
    border-inline-start-color: var(--valhalla-blue);
    color: var(--white);
}

.site-navbar .dropdown-menu {
    background: var(--midnight-blue);
    border: 1px solid rgb(255 255 255 / 40%);
    border-radius: 0.2rem;
    box-shadow: var(--shadow-small);
    display: none;
    min-width: 10rem;
    padding: 0.25rem;
}

.site-navbar .dropdown-menu.show {
    display: block;
}

.site-navbar .dropdown-item {
    color: var(--white);
    font-size: var(--text-sm);
    min-height: 44px;
    padding: 0.65rem 0.75rem;
}

.site-navbar .dropdown-item:hover,
.site-navbar .dropdown-item:focus-visible {
    background: rgb(255 255 255 / 10%);
    color: var(--white);
}

.site-navbar .nav-session {
    margin-block-start: 0.5rem;
}

.form-card .form-control,
.form-card .form-select {
    background-color: var(--white);
    border-color: var(--line-strong);
    border-radius: 0.2rem;
    color: var(--slate);
    min-height: 44px;
}

.form-card .form-control:focus,
.form-card .form-select:focus {
    border-color: var(--valhalla-blue);
    box-shadow: 0 0 0 0.2rem rgb(20 108 219 / 15%);
}

.form-card .form-check-input {
    border-color: var(--line-strong);
    height: 1.25rem;
    width: 1.25rem;
}

.form-card .form-check-input:checked {
    background-color: var(--valhalla-blue);
    border-color: var(--valhalla-blue);
}

.primary-navigation a,
.navigation-logout {
    color: var(--white);
    display: block;
    font-size: var(--text-sm);
    text-decoration: none;
    width: 100%;
}

.primary-navigation a {
    border-inline-start: 3px solid transparent;
    min-height: 44px;
    padding: 0.65rem 0.75rem;
}

.primary-navigation a:focus-visible,
.primary-navigation a:hover,
.primary-navigation a[aria-current="page"] {
    background: rgb(255 255 255 / 10%);
    border-inline-start-color: var(--valhalla-blue);
    color: var(--white);
}

.language-selector {
    position: relative;
}

.language-selector summary {
    align-items: center;
    border: 1px solid rgb(255 255 255 / 40%);
    cursor: pointer;
    display: flex;
    font-size: 1.25rem;
    justify-content: center;
    list-style: none;
    min-height: 44px;
    padding: 0.5rem 0.75rem;
}

.language-selector summary::-webkit-details-marker {
    display: none;
}

.language-selector summary:focus-visible,
.language-selector summary:hover {
    background: rgb(255 255 255 / 10%);
    outline: 2px solid var(--steel-blue);
    outline-offset: 2px;
}

.language-selector__menu {
    background: var(--midnight-blue);
    border: 1px solid rgb(255 255 255 / 40%);
    display: grid;
    gap: 0.25rem;
    min-width: 9rem;
    padding: 0.25rem;
    position: absolute;
    right: 0;
    top: calc(100% + 0.25rem);
    z-index: 20;
}

.language-selector__menu button {
    background: transparent;
    border: 0;
    color: var(--white);
    display: flex;
    gap: 0.5rem;
    min-height: 44px;
    padding: 0.5rem 0.75rem;
    text-align: start;
    width: 100%;
}

.language-selector__menu button:focus-visible,
.language-selector__menu button:hover {
    background: rgb(255 255 255 / 10%);
    outline: 2px solid var(--steel-blue);
    outline-offset: -2px;
}

.site-main {
    padding-block: var(--space-4);
}

.page-heading {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    justify-content: space-between;
    margin-block-end: var(--space-3);
}

.page-heading h1 {
    margin-block-end: 0;
}

.admin-hero {
    align-items: end;
    background:
        linear-gradient(110deg, var(--midnight-blue) 0%, var(--midnight-blue) 72%,
            var(--valhalla-blue) 72%, var(--valhalla-blue) 100%);
    color: var(--white);
    display: flex;
    justify-content: space-between;
    margin-block-end: var(--space-4);
    min-height: 12rem;
    overflow: hidden;
    padding: var(--space-4);
    position: relative;
}

.admin-hero::after {
    border: 1px solid rgb(255 255 255 / 18%);
    content: "";
    height: 10rem;
    position: absolute;
    right: 4%;
    top: -4rem;
    transform: rotate(22deg);
    width: 10rem;
}

.admin-hero h1 {
    color: var(--white);
    font-size: var(--text-2xl);
    margin-block-end: var(--space-1);
}

.admin-hero__lead {
    color: var(--steel-blue);
    margin-block-end: 0;
}

.admin-hero__mark {
    color: var(--white);
    font-family: var(--display-font);
    font-size: clamp(3rem, 10vw, 7rem);
    font-weight: 800;
    line-height: 0.8;
    opacity: 0.85;
    position: relative;
    z-index: 1;
}

.section-heading {
    align-items: end;
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    justify-content: space-between;
    margin-block-end: var(--space-2);
}

.section-heading h2 {
    margin-block-end: 0;
}

.section-heading__note {
    color: var(--muted-blue);
    font-family: var(--utility-font);
    font-size: var(--text-xs);
    font-variant-numeric: tabular-nums;
}

.admin-section {
    margin-block-start: var(--space-4);
}

.dashboard-hero {
    background: var(--midnight-blue);
    border-inline-start: 7px solid var(--valhalla-blue);
    color: var(--white);
    margin-block-end: var(--space-3);
    padding: var(--space-4);
}

.dashboard-hero h1 {
    color: var(--white);
}

h1,
h2,
h3 {
    color: var(--midnight-blue);
    font-family: var(--display-font);
    font-weight: 800;
    letter-spacing: -0.02em;
    line-height: 1.05;
    text-wrap: balance;
}

h1 {
    font-size: var(--text-2xl);
}

h2 {
    font-size: var(--text-xl);
}

h3 {
    font-size: var(--text-lg);
}

.eyebrow {
    color: var(--valhalla-blue);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.12em;
    margin-block-end: var(--space-1);
    text-transform: uppercase;
}

.panel,
.form-card,
.auth-panel {
    background: var(--white);
    border: 1px solid var(--line);
    border-inline-start: 4px solid var(--valhalla-blue);
    box-shadow: var(--shadow-small);
    padding: var(--space-3);
}

.panel + .panel {
    margin-block-start: var(--space-3);
}

.panel > :last-child,
.form-card > :last-child {
    margin-block-end: 0;
}

.auth-panel {
    margin: max(8vh, var(--space-4)) auto;
    max-width: 30rem;
}

.form-lead {
    color: var(--muted-blue);
    margin-block-end: var(--space-3);
}

.form-shell {
    display: grid;
    gap: var(--space-2);
    margin-block-end: var(--space-3);
    max-width: 68rem;
}

.form-context {
    background: var(--midnight-blue);
    border-inline-start: 4px solid var(--valhalla-blue);
    color: var(--white);
    padding: var(--space-3);
}

.form-context h2 {
    color: var(--white);
    margin-block: var(--space-2) var(--space-1);
}

.form-context p {
    color: var(--steel-blue);
    margin-block-end: 0;
}

.form-context--quiet {
    background: var(--steel-blue);
}

.form-context--quiet h2 {
    color: var(--midnight-blue);
}

.form-context--quiet p {
    color: var(--slate);
}

.context-kicker {
    color: var(--valhalla-blue);
    font-size: var(--text-sm);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-grid {
    display: grid;
    gap: var(--space-2);
    grid-template-columns: repeat(auto-fit, minmax(min(100%, 15rem), 1fr));
}

.admin-grid .panel {
    color: var(--midnight-blue);
    display: block;
    font-family: var(--display-font);
    font-size: var(--text-lg);
    font-weight: 700;
    min-height: 7rem;
    text-decoration: none;
}

.admin-grid .panel:focus-visible,
.admin-grid .panel:hover {
    background: var(--steel-blue);
    box-shadow: var(--shadow);
    color: var(--midnight-blue);
    transform: translateY(-2px);
}

.admin-card {
    background: var(--white);
    border-block-start: 4px solid var(--valhalla-blue);
    box-shadow: var(--shadow-small);
    color: var(--midnight-blue);
    display: grid;
    gap: 0.15rem;
    min-height: 9rem;
    padding: var(--space-2) var(--space-3);
    text-decoration: none;
    transition: background-color 180ms ease, box-shadow 180ms ease,
        color 180ms ease, transform 180ms ease;
}

.admin-card:hover,
.admin-card:focus-visible {
    background: var(--midnight-blue);
    box-shadow: var(--shadow);
    color: var(--white);
    transform: translateY(-3px);
}

.admin-card__label {
    color: var(--muted-blue);
    font-size: var(--text-xs);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-card:hover .admin-card__label,
.admin-card:focus-visible .admin-card__label {
    color: var(--steel-blue);
}

.admin-card strong {
    align-self: end;
    font-family: var(--display-font);
    font-size: var(--text-xl);
    line-height: 1;
}

.admin-card__value {
    color: var(--valhalla-blue);
    font-family: var(--utility-font);
    font-size: var(--text-sm);
    font-variant-numeric: tabular-nums;
    font-weight: 700;
}

.admin-card:hover .admin-card__value,
.admin-card:focus-visible .admin-card__value {
    color: var(--white);
}

.schedule-list,
.upcoming-list {
    background: var(--white);
    box-shadow: var(--shadow-small);
}

.schedule-row {
    align-items: center;
    border-block-end: 1px solid var(--line);
    display: grid;
    gap: var(--space-2);
    grid-template-columns: minmax(5.5rem, 0.3fr) minmax(0, 1fr);
    padding: var(--space-2) var(--space-3);
}

.schedule-row:last-child,
.upcoming-row:last-child {
    border-block-end: 0;
}

.schedule-row__time {
    border-inline-end: 1px solid var(--line);
    display: grid;
    gap: 0.1rem;
    padding-inline-end: var(--space-2);
}

.schedule-row__time strong {
    color: var(--midnight-blue);
    font-family: var(--utility-font);
    font-size: var(--text-lg);
    font-variant-numeric: tabular-nums;
}

.schedule-row__time span,
.schedule-row__class span {
    color: var(--muted-blue);
    font-size: var(--text-sm);
}

.schedule-row__class {
    display: grid;
    gap: 0.1rem;
}

.schedule-row__class strong {
    color: var(--midnight-blue);
    font-size: var(--text-base);
}

.upcoming-row {
    align-items: center;
    border-block-end: 1px solid var(--line);
    color: var(--slate);
    display: grid;
    gap: var(--space-1);
    grid-template-columns: 1fr auto;
    padding: var(--space-2) var(--space-3);
    text-decoration: none;
}

.upcoming-row:hover,
.upcoming-row:focus-visible {
    background: var(--steel-blue);
    color: var(--midnight-blue);
}

.upcoming-row__date,
.upcoming-row__time {
    color: var(--muted-blue);
    font-family: var(--utility-font);
    font-size: var(--text-xs);
    font-variant-numeric: tabular-nums;
}

.upcoming-row__time {
    color: var(--valhalla-blue);
    font-weight: 700;
    grid-column: 2;
    grid-row: 1;
}

.upcoming-row__name {
    color: var(--midnight-blue);
    font-family: var(--display-font);
    font-size: var(--text-lg);
    font-weight: 700;
    grid-column: 1 / -1;
    grid-row: 2;
}

.upcoming-row__coach {
    color: var(--muted-blue);
    font-size: var(--text-sm);
    grid-column: 1 / -1;
    grid-row: 3;
}

/* Keep every action inside the Valhalla blue system, including Bootstrap buttons. */
.btn,
.btn-danger,
.btn-primary,
.btn-success,
.btn-warning,
.btn-info,
.btn-secondary {
    background: var(--valhalla-blue);
    border: 1px solid var(--valhalla-blue);
    border-radius: 0.2rem;
    color: var(--white);
    font-weight: 700;
    min-height: 44px;
    padding: 0.65rem 1rem;
    transition: background-color 180ms ease, border-color 180ms ease,
        color 180ms ease, transform 180ms ease;
}

.btn:hover,
.btn:focus-visible,
.btn-danger:hover,
.btn-primary:hover,
.btn-success:hover,
.btn-warning:hover,
.btn-info:hover,
.btn-secondary:hover {
    background: var(--midnight-blue);
    border-color: var(--midnight-blue);
    color: var(--white);
    transform: translateY(-1px);
}

.btn:active,
.btn-danger:active,
.btn-primary:active,
.btn-success:active,
.btn-warning:active,
.btn-info:active,
.btn-secondary:active {
    transform: translateY(1px) scale(0.98);
}

.btn-outline-dark,
.btn-outline-danger,
.btn-outline-primary,
.btn-outline-secondary {
    background: transparent;
    border: 1px solid var(--valhalla-blue);
    color: var(--midnight-blue);
}

.btn-outline-dark:hover,
.btn-outline-dark:focus-visible,
.btn-outline-danger:hover,
.btn-outline-danger:focus-visible,
.btn-outline-primary:hover,
.btn-outline-primary:focus-visible,
.btn-outline-secondary:hover,
.btn-outline-secondary:focus-visible {
    background: var(--steel-blue);
    border-color: var(--midnight-blue);
    color: var(--midnight-blue);
}

.form-card {
    display: grid;
    gap: var(--space-2);
    max-width: 54rem;
}

.form-card--single {
    grid-template-columns: 1fr;
}

.form-card--single .form-actions {
    grid-column: auto;
}

.form-actions {
    align-items: center;
    border-block-start: 1px solid var(--line);
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-1);
    justify-content: flex-end;
    margin-block-start: var(--space-1);
    padding-block-start: var(--space-2);
}

.form-actions .btn {
    flex: 1 1 12rem;
}

.form-field {
    display: grid;
    gap: 0.4rem;
}

.form-field--checkbox {
    align-content: end;
}

.form-field--checkbox label {
    align-items: center;
    display: flex;
    gap: 0.65rem;
    min-height: 44px;
}

.form-field--checkbox input[type="checkbox"] {
    accent-color: var(--valhalla-blue);
    min-height: 1.2rem;
    width: 1.2rem;
}

.form-field--error input,
.form-field--error select,
.form-field--error textarea {
    border-color: var(--valhalla-blue);
}

.field-error {
    color: var(--midnight-blue);
    font-size: var(--text-sm);
    font-weight: 600;
    margin: 0;
}

.form-alert {
    background: var(--steel-blue);
    border-inline-start: 3px solid var(--valhalla-blue);
    padding: 0.75rem 1rem;
}

.form-alert .errorlist {
    margin: 0;
}

.form-shell--secondary {
    background: var(--white);
    box-shadow: var(--shadow-small);
}

.form-shell--secondary .form-card {
    box-shadow: none;
}

.form-card p {
    display: grid;
    gap: 0.4rem;
    margin: 0;
}

.form-card label {
    color: var(--midnight-blue);
    font-size: var(--text-sm);
    font-weight: 700;
}

.form-card input,
.form-card select,
.form-card textarea {
    background: var(--white);
    border: 1px solid var(--line-strong);
    border-radius: 0.2rem;
    color: var(--slate);
    font: inherit;
    min-height: 44px;
    padding: 0.65rem 0.75rem;
    width: 100%;
}

.form-card textarea {
    min-height: 7rem;
    resize: vertical;
}

.form-card input:focus,
.form-card select:focus,
.form-card textarea:focus {
    border-color: var(--valhalla-blue);
    box-shadow: 0 0 0 0.2rem rgb(20 108 219 / 15%);
    outline: 0;
}

.form-card .helptext,
.form-card .form-text {
    color: var(--muted-blue);
    font-size: var(--text-sm);
}

.form-card .errorlist {
    color: var(--midnight-blue);
    font-size: var(--text-sm);
    margin: 0;
    padding-inline-start: 1.25rem;
}

.alert {
    background: var(--white);
    border: 1px solid var(--line);
    border-inline-start: 4px solid var(--valhalla-blue);
    color: var(--midnight-blue);
}

.dataTables_wrapper,
.table-responsive {
    overflow-x: auto;
}

.dataTables_wrapper table,
.table-responsive table {
    min-width: 42rem;
}

.table-shell {
    background: var(--white);
    border: 1px solid var(--line);
    box-shadow: var(--shadow-small);
    overflow-x: auto;
    padding: var(--space-1);
}

.dataTables_wrapper {
    color: var(--slate);
    font-size: var(--text-sm);
}

.dataTables_wrapper .dt-layout-row {
    align-items: center;
    gap: var(--space-1);
    margin-block: var(--space-1);
}

.dataTables_wrapper .dt-search,
.dataTables_wrapper .dt-length,
.dataTables_wrapper .dt-info {
    color: var(--muted-blue);
    font-weight: 600;
}

.dataTables_wrapper .dt-search input,
.dataTables_wrapper .dt-length select {
    background-color: var(--white);
    border: 1px solid var(--line-strong);
    border-radius: 0.2rem;
    color: var(--slate);
    min-height: 44px;
    padding: 0.5rem 0.75rem;
}

.dataTables_wrapper .dt-search input:focus,
.dataTables_wrapper .dt-length select:focus {
    border-color: var(--valhalla-blue);
    box-shadow: 0 0 0 0.2rem rgb(20 108 219 / 15%);
    outline: 0;
}

.dataTables_wrapper .dt-paging .pagination {
    gap: 0.25rem;
    margin-block: 0;
}

.dataTables_wrapper .dt-paging .page-link {
    align-items: center;
    background: var(--white);
    border: 1px solid var(--line-strong);
    border-radius: 0.2rem;
    color: var(--midnight-blue);
    display: inline-flex;
    justify-content: center;
    min-height: 44px;
    min-width: 44px;
}

.dataTables_wrapper .dt-paging .page-link:hover,
.dataTables_wrapper .dt-paging .page-link:focus-visible {
    background: var(--steel-blue);
    border-color: var(--valhalla-blue);
    color: var(--midnight-blue);
}

.dataTables_wrapper .dt-paging .active > .page-link {
    background: var(--valhalla-blue);
    border-color: var(--valhalla-blue);
    color: var(--white);
}

.dataTables_wrapper .dt-paging .disabled > .page-link {
    background: var(--steel-blue);
    color: var(--muted-blue);
    opacity: 0.75;
}

.table {
    --bs-table-bg: var(--white);
    --bs-table-color: var(--slate);
    --bs-table-border-color: var(--line);
    font-size: var(--text-sm);
    font-variant-numeric: tabular-nums;
}

.table thead th {
    background: var(--midnight-blue);
    color: var(--white);
    font-size: var(--text-xs);
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.table tbody tr {
    border-color: var(--line);
}

.table tbody tr:hover {
    --bs-table-hover-bg: rgb(220 235 250 / 55%);
}

.table a {
    color: var(--valhalla-blue);
    font-weight: 700;
}

.list-row {
    border-block-end: 1px solid var(--line);
    padding-block: var(--space-2);
}

.list-row:last-child {
    border-block-end: 0;
}

.empty-state {
    background: var(--steel-blue);
    border-inline-start: 3px solid var(--valhalla-blue);
    color: var(--midnight-blue);
    padding: var(--space-2);
}

:focus-visible {
    outline: 3px solid var(--valhalla-blue);
    outline-offset: 3px;
}

@media (min-width: 48rem) {
    .navigation-toggle {
        display: none;
    }

    .primary-navigation {
        align-items: center;
        background: transparent;
        display: flex;
        gap: 0.25rem;
        inset: auto;
        padding: 0;
        position: static;
    }

    .site-navigation {
        background: transparent;
        margin-block-start: 0;
        padding: 0;
    }

    .site-navbar .nav-link {
        border-block-end: 3px solid transparent;
        border-inline-start: 0;
    }

    .site-navbar .nav-link:hover,
    .site-navbar .nav-link:focus-visible,
    .site-navbar .nav-link[aria-current="page"] {
        border-block-end-color: var(--valhalla-blue);
        border-inline-start-color: transparent;
    }

    .site-navbar .nav-session {
        margin-block-start: 0;
    }

    .primary-navigation a,
    .navigation-logout {
        font-size: var(--text-sm);
        width: auto;
    }

    .primary-navigation a {
        border-block-end: 3px solid transparent;
        border-inline-start: 0;
    }

    .primary-navigation a:focus-visible,
    .primary-navigation a:hover,
    .primary-navigation a[aria-current="page"] {
        border-block-end-color: var(--valhalla-blue);
        border-inline-start-color: transparent;
    }

    .form-card {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .form-card--single {
        grid-template-columns: 1fr;
    }

    .form-shell {
        grid-template-columns: minmax(12rem, 0.35fr) minmax(0, 1fr);
    }

    .form-shell--secondary {
        grid-template-columns: minmax(12rem, 0.35fr) minmax(0, 1fr);
    }

    .form-actions .btn {
        flex: 0 0 auto;
    }

    .upcoming-row {
        grid-template-columns: minmax(7rem, 0.6fr) auto minmax(10rem, 1fr) minmax(10rem, 1fr);
    }

    .upcoming-row__date,
    .upcoming-row__time,
    .upcoming-row__name,
    .upcoming-row__coach {
        grid-column: auto;
        grid-row: auto;
    }

    .upcoming-row__name {
        font-size: var(--text-base);
    }

    .form-card > button,
    .form-card > input[type="submit"],
    .form-card > .helptext,
    .form-card > .errorlist {
        grid-column: 1 / -1;
    }
}

@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        scroll-behavior: auto;
        transition-duration: 0.01ms !important;
    }
}
