/* [next]/internal/font/google/inter_b2991b2.module.css [app-client] (css) */
@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/2c55a0e60120577a-s.2a48534a.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/9c72aa0f40e4eef8-s.18a48cbc.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/ad66f9afd8947f86-s.7a40eb73.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/5476f68d60460930-s.c995e352.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/2bbe8d2671613f1f-s.76dcb0b2.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/1bffadaabf893a1e-s.7cd81963.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Inter;
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("../media/83afe278b6a6bb3c-s.p.3a6ba036.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Inter Fallback;
  src: local(Arial);
  ascent-override: 90.44%;
  descent-override: 22.52%;
  line-gap-override: 0.0%;
  size-adjust: 107.12%;
}

.inter_b2991b2-module__9mH_6q__className {
  font-family: Inter, Inter Fallback;
  font-style: normal;
}

.inter_b2991b2-module__9mH_6q__variable {
  --font-sans: "Inter", "Inter Fallback";
}

/* [next]/internal/font/google/roboto_condensed_68b66386.module.css [app-client] (css) */
@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/9c282a6db290773d-s.b4168fbf.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/537f068cf010a382-s.1b6fc227.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/c300beac511639d2-s.ee905080.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/a01ece5cbe79cced-s.5feb1b14.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/825d4e07c4597d86-s.8bfc7714.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/65645b6ef686c6a1-s.cc7fec2f.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url("../media/ef1484efef1c9752-s.p.b56aead1.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/9c282a6db290773d-s.b4168fbf.woff2") format("woff2");
  unicode-range: U+460-52F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/537f068cf010a382-s.1b6fc227.woff2") format("woff2");
  unicode-range: U+301, U+400-45F, U+490-491, U+4B0-4B1, U+2116;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/c300beac511639d2-s.ee905080.woff2") format("woff2");
  unicode-range: U+1F??;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/a01ece5cbe79cced-s.5feb1b14.woff2") format("woff2");
  unicode-range: U+370-377, U+37A-37F, U+384-38A, U+38C, U+38E-3A1, U+3A3-3FF;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/825d4e07c4597d86-s.8bfc7714.woff2") format("woff2");
  unicode-range: U+102-103, U+110-111, U+128-129, U+168-169, U+1A0-1A1, U+1AF-1B0, U+300-301, U+303-304, U+308-309, U+323, U+329, U+1EA0-1EF9, U+20AB;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/65645b6ef686c6a1-s.cc7fec2f.woff2") format("woff2");
  unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

@font-face {
  font-family: Roboto Condensed;
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("../media/ef1484efef1c9752-s.p.b56aead1.woff2") format("woff2");
  unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
  font-family: Roboto Condensed Fallback;
  src: local(Arial);
  ascent-override: 104.44%;
  descent-override: 27.48%;
  line-gap-override: 0.0%;
  size-adjust: 88.83%;
}

.roboto_condensed_68b66386-module___476Qq__className {
  font-family: Roboto Condensed, Roboto Condensed Fallback;
  font-style: normal;
}

.roboto_condensed_68b66386-module___476Qq__variable {
  --font-condensed: "Roboto Condensed", "Roboto Condensed Fallback";
}

/* [project]/app/globals.css [app-client] (css) */
:root {
  --bg: #1a1a1b;
  --bg-elevated: #222224;
  --surface: #1f1f21;
  --surface-soft: #28282b;
  --text: #f4f4f4;
  --muted: #b1b3bc;
  --label-muted: #6b7078;
  --primary: #d4ff00;
  --primary-strong: #d4ff00;
  --accent: #00e5ff;
  --border: #343438;
  --shadow: 0 18px 40px #0006;
  --panel-gradient: linear-gradient(135deg, #d4ff000f, #00e5ff0d);
  --panel-gradient-strong: linear-gradient(135deg, #d4ff0017, #00e5ff12);
  --panel-border: #d4ff0042;
  --radius: 18px;
  --radius-sm: 12px;
  --max-width: 1180px;
  --shell-gutter: clamp(8px, 2.2vw, 24px);
  --bottom-nav-height: 88px;
  --bottom-nav-gap: 12px;
  --club-admin-nav-height: 52px;
  --member-nav-height: 72px;
  --touch-target: 48px;
  --z-radio-overlay: 95;
  --z-radio-launcher: 96;
  --z-bottom-nav: 65;
  --z-club-admin-nav: 72;
  --z-status-banner: 90;
  --z-modal: 220;
  --bottom-nav-space: calc(var(--bottom-nav-height)  + var(--bottom-nav-gap)  + env(safe-area-inset-bottom));
  --bottom-nav-stack-space: calc(var(--bottom-nav-height)  + 8px + env(safe-area-inset-bottom));
  --club-admin-nav-space: calc(var(--bottom-nav-space)  + var(--club-admin-nav-height)  + 12px);
}

* {
  box-sizing: border-box;
}

html {
  --lightningcss-light: ;
  --lightningcss-dark: initial;
  color-scheme: dark;
  font-size: 15px;
}

body {
  font-family: var(--font-sans), Inter, Arial, Helvetica, sans-serif;
  color: var(--text);
  background: radial-gradient(circle at 0 0, #d4ff0017, #0000 30%), radial-gradient(circle at 100% 0, #00e5ff14, #0000 28%), linear-gradient(#1a1a1b 0%, #111112 100%);
  margin: 0;
}

a {
  color: inherit;
  text-decoration: none;
}

button, input, select, textarea {
  font: inherit;
}

input, select, textarea {
  border-radius: var(--radius-sm);
  border: 1px solid var(--border);
  width: 100%;
  color: var(--text);
  background: #171718;
  padding: 14px 16px;
}

textarea {
  resize: vertical;
  min-height: 160px;
  line-height: 1.6;
}

select {
  min-height: 48px;
}

button {
  cursor: pointer;
}

.site-root, .site-frame, .site-main {
  min-height: 100vh;
}

.site-shell, .member-shell, .admin-shell {
  width: min(var(--max-width), calc(100vw - 16px));
  padding: 16px 0 calc(16px + 138px + env(safe-area-inset-bottom));
  margin: 0 auto;
}

.member-shell {
  padding-bottom: calc(16px + 138px + env(safe-area-inset-bottom));
}

.site-header {
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  display: flex;
}

.site-header__brand, .shell-brand {
  align-items: center;
  gap: clamp(8px, 1.4vw, 12px);
  display: flex;
}

.shell-brand__logo {
  flex: none;
  width: clamp(46px, 5vw, 64px);
  height: clamp(46px, 5vw, 64px);
  display: block;
}

.site-title {
  font-family: var(--font-condensed), Inter, sans-serif;
  letter-spacing: .05em;
  text-transform: uppercase;
  margin: 0;
  font-size: clamp(3rem, 5.4vw, 4.65rem);
  font-weight: 700;
  line-height: .9;
}

.site-subtitle, .muted {
  color: var(--muted);
  margin: 0;
  line-height: 1.6;
}

@media (min-width: 961px) {
  .shell-brand__logo {
    width: 72px;
    height: 72px;
  }
}

.shell-nav {
  flex-wrap: wrap;
  gap: 10px;
  display: flex;
}

.shell-nav__link, .button {
  border: 1px solid var(--border);
  background: var(--bg-elevated);
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  min-height: 44px;
  padding: 10px 16px;
  transition: transform .12s, border-color .12s, background .12s;
  display: inline-flex;
}

.shell-nav__link:hover, .button:hover {
  border-color: var(--primary);
  transform: none;
}

.button {
  background: var(--primary);
  color: #101010;
  text-transform: uppercase;
  letter-spacing: .08em;
  border-color: #0000;
  font-weight: 800;
}

.button--neon {
  background: var(--primary);
  color: #101010;
  border-color: #0000;
  box-shadow: 0 0 0 1px #d4ff0014, 0 12px 28px #d4ff002e;
}

.button--ghost {
  color: var(--text);
  background: none;
}

.button--soft {
  color: var(--accent);
  background: #00e5ff1f;
}

.button--danger {
  color: #ffb7b2;
  background: #ff3b3024;
  border-color: #ff3b3052;
}

.button--disabled, button:disabled {
  opacity: .45;
  pointer-events: none;
}

.field, .field-grid {
  gap: 8px;
  display: grid;
}

.field-grid {
  grid-template-columns: minmax(0, 1fr);
}

.post-toggle-switch {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #141416e6;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 12px 14px;
  display: grid;
}

.post-toggle-switch__meta {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.post-toggle-switch__label {
  color: var(--accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .66rem;
  font-weight: 800;
}

.post-toggle-switch__meta .muted {
  color: var(--muted);
  margin: 0;
  font-size: .86rem;
  line-height: 1.3;
}

.post-toggle-switch__control {
  cursor: pointer;
  -webkit-user-select: none;
  user-select: none;
  justify-content: flex-end;
  align-items: center;
  width: 64px;
  min-width: 64px;
  height: 32px;
  display: inline-flex;
  position: relative;
}

.post-toggle-switch__control input {
  opacity: 0;
  cursor: pointer;
  margin: 0;
  position: absolute;
  inset: 0;
}

.post-toggle-switch__track {
  background: #ffffff14;
  border: 1px solid #ffffff14;
  border-radius: 999px;
  width: 64px;
  height: 32px;
  transition: background .12s, border-color .12s;
  position: relative;
  box-shadow: inset 0 0 0 1px #0000002e;
}

.post-toggle-switch__thumb {
  width: 22px;
  height: 22px;
  box-shadow: var(--shadow);
  background: #fff;
  border-radius: 999px;
  transition: transform .12s, background .12s;
  position: absolute;
  top: 4px;
  left: 4px;
}

.post-toggle-switch__control input:checked + .post-toggle-switch__track {
  background: var(--primary);
  border-color: #d4ff00e6;
}

.post-toggle-switch__control input:checked + .post-toggle-switch__track .post-toggle-switch__thumb {
  background: #101010;
  transform: translateX(32px);
}

.post-toggle-switch__control input:focus-visible + .post-toggle-switch__track {
  outline-offset: 2px;
  outline: 2px solid #d4ff00b8;
}

.eyebrow {
  color: var(--accent);
  font-family: var(--font-condensed), Inter, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .66rem;
  font-weight: 800;
}

.inline-actions {
  flex-wrap: wrap;
  gap: 3px;
  display: flex;
}

.inline-actions--end {
  justify-content: flex-end;
}

.surface-card, .sidebar-note, .card-panel, .auth-panel {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #1f1f21eb;
}

.surface-card, .card-panel, .auth-panel {
  padding: 16px;
}

.surface-card__eyebrow {
  color: var(--accent);
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 0 0 8px;
  font-size: .8rem;
  font-weight: 700;
}

.surface-card__title {
  font-family: var(--font-condensed), Inter, sans-serif;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 10px;
  font-size: 1.05rem;
  line-height: 1.12;
}

.surface-card__title--compact {
  margin-bottom: 0;
}

.surface-card__heading-row {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 14px;
  display: flex;
}

.surface-card__heading-row--split {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  display: grid;
}

.surface-card__body {
  color: var(--muted);
  gap: 10px;
  line-height: 1.6;
  display: grid;
}

.surface-card__body strong {
  color: var(--text);
  font-family: inherit;
  font-size: inherit;
  letter-spacing: 0;
  text-transform: none;
  font-weight: 700;
}

.surface-card__body .list-item span, .surface-card__body .surface-card__eyebrow {
  color: var(--accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .75rem;
  font-weight: 700;
}

.surface-card__footer, .surface-tile__footer {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.surface-card__footer {
  justify-content: flex-end;
  margin-top: 10px;
}

.surface-card__footer--end, .surface-tile__footer--end {
  justify-content: flex-end;
}

.surface-tile, .hero-panel {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  background: #1f1f21eb;
}

.surface-tile {
  gap: 10px;
  display: grid;
}

.surface-tile--hero {
  background: linear-gradient(135deg, #d4ff0017, #00e5ff12);
  border-color: #d4ff0038;
  gap: 12px;
  padding: 18px;
}

.surface-tile--data {
  padding: 16px;
}

.surface-tile--reader {
  background: #171718f5;
  border-color: #00e5ff33;
  gap: 12px;
  padding: 18px;
}

.surface-tile__header {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.surface-tile__heading {
  gap: 6px;
  min-width: 0;
  display: grid;
}

.surface-tile__kicker {
  color: var(--accent);
  letter-spacing: .18em;
  text-transform: uppercase;
  margin: 0;
  font-size: .76rem;
  font-weight: 800;
}

.surface-tile__title {
  font-family: var(--font-condensed), Inter, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--primary);
  margin: 0;
  font-size: 1.08rem;
  line-height: 1.1;
}

.surface-tile--hero .surface-tile__title {
  letter-spacing: .08em;
  font-size: clamp(1.9rem, 4vw, 4rem);
  line-height: .92;
}

.surface-tile--reader .surface-tile__title {
  color: var(--text);
  letter-spacing: .06em;
  font-size: 1.3rem;
}

.surface-tile__summary {
  color: var(--muted);
  max-width: 62ch;
  margin: 0;
  line-height: 1.65;
}

.surface-tile__actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 6px;
  display: flex;
}

.surface-tile__body {
  color: var(--text);
  gap: 10px;
  line-height: 1.65;
  display: grid;
}

.surface-tile--reader .surface-tile__body {
  color: var(--muted);
  gap: 10px;
  line-height: 1.65;
}

.tile-list, .ride-card-grid, .club-memberships-list, .club-admin-grid, .club-admin-stats-grid, .profile-stats-grid, .profile-history-list, .admin-rides-list, .home-pulse-panels {
  gap: 10px;
  display: grid;
}

.tile-field, .tile-row, .list-item, .club-membership-card, .club-admin-card, .club-admin-stat, .club-admin-ride-card, .profile-details-list__item, .profile-stat-card, .admin-rides-list__link, .club-finder-panel__results, .suggested-clubs-row {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #141416e0;
}

.club-membership-card, .club-admin-card, .profile-details-list__item, .profile-stat-card {
  gap: 4px;
  display: grid;
}

.tile-field {
  gap: 5px;
  padding: 12px 14px;
  display: grid;
}

.tile-field--compact {
  background: #1212148c;
  border: 1px solid #ffffff14;
  padding: 6px 8px;
}

.tile-field__label {
  color: var(--accent);
  font-family: var(--font-condensed), Inter, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: clamp(.78rem, .95vw, .92rem);
  font-weight: 800;
  line-height: 1.05;
}

.tile-field__value {
  color: var(--text);
  font-size: 1.1rem;
  font-weight: 700;
}

.tile-field__detail {
  color: var(--muted);
  margin: 0;
  line-height: 1.5;
}

.tile-row {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  padding: 12px 14px;
  display: flex;
}

.tile-row__meta {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.tile-row__title {
  color: var(--text);
  margin: 0;
  font-weight: 800;
}

.tile-row__detail {
  color: var(--muted);
  margin: 0;
}

.tile-row__actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 10px;
  display: flex;
}

.list {
  gap: 12px;
  display: grid;
}

.list-item {
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  display: flex;
}

.pill, .suggested-clubs-distance, .suggested-clubs-next-ride, .profile-history-distance {
  color: var(--accent);
  background: #00e5ff1f;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  font-size: .85rem;
  font-weight: 700;
  display: inline-flex;
}

.pill--compact {
  width: fit-content;
  min-height: 24px;
  color: var(--accent);
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #00e5ff1f;
  border: 1px solid #00e5ff38;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
  box-shadow: 0 0 0 1px #00e5ff0a, 0 0 18px #00e5ff0f;
}

.hero-panel {
  padding: 28px;
}

.hero-actions, .inline-actions {
  flex-wrap: wrap;
  gap: 12px;
  display: flex;
}

.home-pulse-panels {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ride-card-grid {
  gap: 8px;
}

@media (min-width: 960px) {
  .ride-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
  }
}

.club-pulse-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.club-pulse-card {
  gap: 2px;
  padding: 10px;
  display: grid;
}

.club-memberships-list {
  gap: 6px;
}

.club-memberships-list--tiles {
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 8px;
}

.club-membership-card {
  gap: 8px;
  position: relative;
  overflow: hidden;
}

.club-membership-card--share {
  grid-template-rows: auto 1fr;
  display: grid;
}

.club-membership-card--admin {
  cursor: pointer;
  padding-inline-end: 84px;
}

.club-membership-card--admin:hover, .club-membership-card--admin:focus-within {
  border-color: #d4ff006b;
}

.club-membership-card__meta, .club-membership-card__stats, .club-membership-card__manage-pill {
  pointer-events: none;
}

.club-membership-card__manage-hitarea {
  z-index: 1;
  border-radius: inherit;
  position: absolute;
  inset: 0;
}

.club-membership-card__manage-hitarea:focus-visible {
  outline-offset: -6px;
  outline: 2px solid #d4ff00b8;
}

.club-membership-card__stats {
  z-index: 2;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  place-items: center;
  gap: 6px;
  width: 100%;
  display: grid;
  position: relative;
}

.club-membership-card__stat {
  text-align: center;
  white-space: nowrap;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
  min-height: 32px;
  padding: 6px 8px;
  display: inline-flex;
}

.club-membership-card__stat-icon {
  width: 18px;
  height: 18px;
  color: var(--accent);
  flex: none;
}

.club-membership-card__stat .club-admin-stat__value {
  font-size: .82rem;
  line-height: 1;
  display: inline-block;
}

.club-membership-card__manage-pill {
  z-index: 2;
  color: #101010;
  min-height: 24px;
  font-family: var(--font-condensed), Inter, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #d4ff00f0;
  border: 1px solid #d4ff004d;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 3px 9px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
  position: absolute;
  top: 8px;
  right: 8px;
  box-shadow: 0 0 0 1px #d4ff001f, 0 8px 20px #d4ff0029;
}

.club-membership-card, .club-admin-card, .club-admin-stat, .club-admin-ride-card, .profile-details-list__item, .profile-stat-card, .admin-rides-list__link {
  padding: 10px;
}

.club-membership-card__meta, .club-admin-card__heading, .profile-details-list, .profile-stats-grid, .profile-history-list, .admin-rides-list__top, .admin-rides-list__meta, .club-finder-panel__search, .club-finder-panel__actions, .club-admin-card__footer, .club-admin-card__header, .club-admin-stat, .club-admin-ride-card {
  gap: 4px;
  display: grid;
}

.club-membership-card__name, .club-admin-card__name, .profile-stat-card__value, .admin-rides-list__title, .club-admin-ride-card__title {
  color: var(--text);
  font-weight: 800;
}

.club-membership-card__location, .club-admin-card__location, .profile-stat-card__detail, .club-admin-ride-card__detail, .admin-rides-list__detail {
  color: var(--muted);
}

.club-membership-card__share {
  z-index: 2;
  gap: 6px;
  display: grid;
  position: relative;
}

.club-panels-layout__column {
  align-content: start;
  gap: 12px;
  display: grid;
}

.club-membership-card__share-empty, .club-membership-card__share-link {
  color: var(--muted);
  margin: 0;
  font-size: .8rem;
}

.club-membership-card__share-list {
  gap: 6px;
}

.club-membership-card__share-codes {
  gap: 6px;
  display: grid;
}

.club-membership-card__share-row {
  grid-template-columns: minmax(0, 1fr) var(--club-share-button-width, 10.75rem);
  align-items: center;
  gap: 4px 8px;
  display: grid;
}

.club-membership-card__share-club {
  gap: 6px;
  display: grid;
}

.club-membership-card__share-club-name {
  color: var(--text);
  margin: 0;
  font-size: .82rem;
  font-weight: 800;
}

.club-membership-card__share-meta {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.club-membership-card__share-code {
  min-width: 0;
  color: var(--text);
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  grid-column: 2;
  margin: 0;
  font-size: .8rem;
  font-weight: 800;
  overflow: hidden;
}

.club-membership-card__share-row .club-membership-card__share-button {
  grid-column: 2;
}

.club-membership-card__share-actions {
  grid-template-columns: var(--club-share-button-width, 10.75rem);
  justify-content: end;
  align-self: end;
  gap: 6px;
  display: grid;
}

.club-membership-card__share-actions--single {
  grid-template-columns: var(--club-share-button-width, 10.75rem);
}

.button.club-membership-card__share-button {
  box-sizing: border-box;
  width: var(--club-share-button-width, 10.75rem);
  white-space: nowrap;
  border-radius: 999px;
  align-self: start;
  min-width: 0;
  height: 24px;
  min-height: 24px;
  max-height: 24px;
  padding: 3px 9px;
  font-size: .68rem;
  line-height: 1;
}

.club-admin-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.club-admin-stats-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 6px;
}

.club-admin-stat {
  gap: 2px;
}

.club-membership-card .club-membership-card__stat {
  white-space: nowrap;
  justify-content: center;
  align-items: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
  min-height: 32px;
  display: inline-flex;
}

.club-membership-card .club-membership-card__stat .club-admin-stat__value {
  display: inline-block;
}

.club-admin-stat__label, .profile-stat-card__label, .club-finder-panel__results-label {
  color: var(--accent);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .64rem;
  font-weight: 800;
}

.club-finder-panel {
  gap: 8px;
  display: grid;
}

.club-finder-panel__search {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: stretch;
  gap: 6px;
  display: grid;
}

.club-finder-panel__actions {
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 6px;
  display: flex;
}

.club-finder-panel__actions .button {
  white-space: nowrap;
  width: auto;
}

.club-finder-panel__results {
  gap: 4px;
  padding: 8px 10px;
  display: grid;
}

.club-finder-panel__results-label {
  margin: 0;
}

.club-finder-map-panel {
  gap: 10px;
  display: grid;
}

.club-finder-map-panel__copy {
  gap: 4px;
  display: grid;
}

.club-finder-map-panel__label, .club-finder-map-panel__results-label {
  color: var(--accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0;
  font-size: .66rem;
  font-weight: 800;
}

.club-finder-map-panel__hint {
  margin: 0;
}

.club-finder-map-panel__search-stack {
  gap: 8px;
  display: grid;
}

.club-finder-map-panel__search-row {
  gap: 6px;
  display: grid;
}

.club-finder-map-panel__search-field {
  grid-template-columns: minmax(0, 1fr) auto auto;
  align-items: stretch;
  gap: 6px;
  display: grid;
}

.club-finder-map-panel__find-button {
  white-space: nowrap;
}

.club-finder-map-panel__location-button {
  background: var(--primary);
  color: #101010;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  border: 1px solid #d4ff00eb;
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-width: 0;
  min-height: 48px;
  padding: 0 14px;
  font-size: .68rem;
  font-weight: 800;
  transition: border-color .12s, background .12s, transform .12s;
  display: inline-flex;
}

.club-finder-map-panel__location-button:focus-visible {
  border-color: var(--primary);
  background: var(--primary);
  color: #101010;
  outline: none;
  box-shadow: 0 0 0 3px #d4ff0024;
}

@media (hover: hover) and (pointer: fine) {
  .club-finder-map-panel__location-button:hover {
    border-color: var(--primary);
    background: var(--primary);
    color: #101010;
    outline: none;
    box-shadow: 0 0 0 3px #d4ff0024;
  }
}

.club-finder-map-panel__location-icon {
  flex: none;
  width: 16px;
  height: 16px;
}

.club-finder-map-panel__location-label {
  white-space: nowrap;
}

.club-finder-map-panel__location-label--short {
  display: none;
}

.club-finder-map-panel__map-frame {
  border-radius: calc(var(--radius)  - 2px);
  background: #1a1a1c;
  border: 1px solid #ffffff0a;
  min-height: 300px;
  position: relative;
  overflow: hidden;
}

.club-finder-map-panel__map-frame--dragging {
  cursor: grabbing;
}

.club-finder-map-panel__map-tiles {
  pointer-events: none;
  position: absolute;
}

.club-finder-map-panel__map-tile {
  object-fit: cover;
  filter: grayscale() brightness(.6) contrast(1.05) saturate(.78) sepia(.08);
  width: 256px;
  height: 256px;
  display: block;
  position: absolute;
}

.club-finder-map-panel__map-overlay {
  pointer-events: none;
  background: radial-gradient(circle at 50% 40%, #d4ff000d, #0000 26%), linear-gradient(#10101224, #1010125c);
  position: absolute;
  inset: 0;
}

.club-finder-map-panel__zoom-controls {
  z-index: 2;
  gap: 6px;
  display: grid;
  position: absolute;
  top: 8px;
  right: 8px;
}

.club-finder-map-panel__zoom-button {
  min-width: 40px;
  min-height: 40px;
  padding: 8px 10px;
}

.club-finder-map-panel__pin {
  z-index: 2;
  width: 28px;
  height: 28px;
  color: var(--primary);
  background: #121214c7;
  border: 1px solid #d4ff0066;
  border-radius: 999px;
  place-items: center;
  padding: 0;
  display: grid;
  position: absolute;
  transform: translate(-50%, -50%);
  box-shadow: 0 8px 20px #00000059;
}

@media (hover: hover) and (pointer: fine) {
  .club-finder-map-panel__pin:hover {
    border-color: #d4ff00b3;
    transform: translate(-50%, -50%);
  }
}

.club-finder-map-panel__pin-dot {
  background: currentColor;
  border-radius: 999px;
  width: 10px;
  height: 10px;
  box-shadow: 0 0 0 3px #ffffff24;
}

.club-finder-map-panel__results {
  gap: 6px;
  display: grid;
}

.club-finder-map-panel__results-list {
  gap: 6px;
}

.club-finder-map-panel__result-row {
  align-items: center;
}

.club-finder-map-panel__result-meta {
  min-width: 0;
}

.club-finder-map-panel__result-tags {
  gap: 4px;
}

.club-finder-map-panel__result-actions {
  align-items: center;
}

.club-finder-map-panel__distance-pill {
  color: var(--accent);
}

.club-finder-map-panel__join-form {
  display: grid;
}

.suggested-clubs-panel {
  gap: 6px;
  display: grid;
}

.suggested-clubs-list {
  gap: 4px;
}

.suggested-clubs-row {
  align-items: center;
}

.profile-details-panel {
  gap: 8px;
}

.profile-details-list {
  gap: 4px;
  display: grid;
}

.profile-top-grid, .profile-dashboard-grid {
  align-items: start;
}

.profile-top-grid {
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
}

.profile-dashboard-grid {
  grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
}

.profile-dashboard-stack {
  gap: 10px;
  display: grid;
}

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

@media (max-width: 960px) {
  .profile-stats-grid {
    grid-template-columns: 1fr;
  }
}

.profile-history-row {
  align-items: center;
}

.admin-rides-page__tiles {
  align-items: start;
}

.admin-rides-list {
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.admin-rides-list__link {
  gap: 4px;
  padding: 12px 14px;
  display: grid;
}

.admin-rides-list__top {
  justify-content: space-between;
  align-items: center;
  display: flex;
}

.admin-rides-list__meta {
  flex-wrap: wrap;
  gap: 4px 8px;
  display: flex;
}

.admin-rides-list__detail {
  color: var(--muted);
  margin: 0;
  line-height: 1.35;
}

@media (max-width: 960px) {
  .surface-grid, .profile-top-grid, .profile-dashboard-grid, .club-pulse-grid, .club-admin-grid, .club-admin-stats-grid, .profile-stats-grid, .admin-rides-page__tiles, .home-pulse-panels, .surface-grid--column-flow {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 720px) {
  .club-finder-panel__actions .button {
    min-width: 0;
  }

  .club-finder-map-panel__search-field {
    grid-template-columns: minmax(0, 1fr) auto auto;
  }

  .club-finder-map-panel__location-label--full {
    display: none;
  }

  .club-finder-map-panel__location-label--short {
    display: inline;
  }

  .club-finder-map-panel__map-frame {
    min-height: 220px;
  }
}

.admin-shell {
  align-content: start;
  align-items: start;
  gap: 8px;
  display: grid;
}

.auth-layout {
  width: min(760px, 100vw - 16px);
  padding: 16px 0 calc(16px + 138px + env(safe-area-inset-bottom));
  margin: 0 auto;
}

.auth-modal, .confirm-modal {
  z-index: 220;
  isolation: isolate;
  place-items: center;
  padding: 16px;
  display: grid;
  position: fixed;
  inset: 0;
}

body.auth-modal-open .site-main, body.confirm-modal-open .site-main {
  filter: blur(2px) saturate(.98);
}

body.auth-modal-open .bottom-nav, body.auth-modal-open .club-admin-nav, body.confirm-modal-open .bottom-nav, body.confirm-modal-open .club-admin-nav {
  filter: blur(1.5px) saturate(.98);
}

.auth-modal__backdrop, .confirm-modal__backdrop {
  z-index: 1;
  -webkit-backdrop-filter: blur(8px) saturate(.95);
  cursor: pointer;
  background: #0606083d;
  border: 0;
  display: block;
  position: absolute;
  inset: 0;
}

.auth-modal__content, .confirm-modal__content {
  z-index: 2;
  pointer-events: none;
  place-items: center;
  width: 100%;
  height: 100%;
  display: grid;
  position: relative;
}

.auth-modal__dialog, .confirm-modal__dialog {
  pointer-events: auto;
  border-radius: var(--radius);
  width: min(960px, 100vw - 24px);
  max-width: 100%;
  max-height: calc(100vh - 24px);
  box-shadow: var(--shadow), 0 0 0 1px #d4ff000a;
  background: #141416fa;
  border: 1px solid #ffffff14;
  padding: 14px;
  position: relative;
  overflow: auto;
}

@media (max-width: 720px) {
  .auth-modal, .confirm-modal {
    inset: 0 0 calc(104px + env(safe-area-inset-bottom)) 0;
    place-items: start center;
    padding: 8px;
  }

  .auth-modal__dialog, .confirm-modal__dialog {
    width: calc(100vw - 12px);
    max-height: calc(100dvh - 104px - env(safe-area-inset-bottom));
    border-radius: 22px;
    padding: 10px;
  }
}

.auth-modal__dialog {
  pointer-events: auto;
  width: min(560px, 100vw - 24px);
  max-height: calc(100vh - 24px);
  box-shadow: none;
  background: none;
  border: 0;
  padding: 0;
  overflow: auto;
}

.auth-modal__stage {
  width: 100%;
}

.auth-modal__card, .confirm-modal__card {
  box-sizing: border-box;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(560px, 100%);
  height: auto;
  min-height: 0;
  display: grid;
}

.auth-modal__card {
  box-shadow: var(--shadow), 0 0 0 1px #d4ff000a;
  background: #141416;
  border-color: #ffffff14;
}

.confirm-modal__sheet {
  gap: 12px;
  width: 100%;
  min-width: 0;
  display: grid;
}

.auth-modal__close, .confirm-modal__close {
  z-index: 2;
  width: 30px;
  height: 30px;
  color: var(--text);
  appearance: none;
  background: #121214eb;
  border: 1px solid #ffffff1f;
  border-radius: 999px;
  place-items: center;
  line-height: 1;
  display: inline-grid;
  position: absolute;
  top: 6px;
  right: 6px;
}

.auth-modal__close {
  width: 28px;
  height: 28px;
  padding: 0;
  position: absolute;
  top: 10px;
  right: 10px;
}

.auth-modal__close svg {
  width: 12px;
  height: 12px;
}

.auth-modal__close:hover, .confirm-modal__close:hover {
  background: #d4ff0014;
  border-color: #d4ff0047;
}

.auth-modal__close:focus-visible, .confirm-modal__close:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #d4ff00b8;
}

.auth-modal__card .surface-tile__footer, .confirm-modal__card .surface-tile__footer {
  justify-content: center;
  gap: 6px;
  margin-top: 0;
}

/* [project]/app/route-library.css [app-client] (css) */
.route-picker-layout {
  gap: 14px;
  display: grid;
}

.route-picker-section {
  border-radius: var(--radius);
  background: #141416b8;
  border: 1px solid #ffffff14;
  gap: 10px;
  min-width: 0;
  padding: 14px;
  display: grid;
  position: relative;
  box-shadow: inset 0 0 0 1px #ffffff05;
}

.route-picker-section--current {
  background: #d4ff000b;
  border-color: #d4ff003d;
}

.route-picker-section > .eyebrow, .route-library-panel > .eyebrow {
  color: var(--primary);
  font-family: var(--font-condensed), Inter, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: 1.08rem;
  line-height: 1.1;
}

.route-library-panel, .route-library-filters {
  gap: 12px;
  display: grid;
}

.route-library-filters__range-shell {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #141416e0;
  gap: 10px;
  padding: 12px;
  display: grid;
  position: relative;
}

.route-library-filters__range-head {
  justify-content: space-between;
  gap: 8px;
  display: flex;
}

.route-library-filters__range-head-item {
  gap: 2px;
  min-width: 0;
  display: grid;
}

.route-library-filters__range-head-item--end {
  text-align: right;
}

.route-library-filters__range-label {
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .72rem;
}

.route-library-filters__range-value {
  color: var(--text);
  font-size: .92rem;
}

.route-library-filters__range-track {
  cursor: pointer;
  touch-action: none;
  height: 44px;
  position: relative;
}

.route-library-filters__range-track:before {
  content: "";
  background: #ffffff14;
  border-radius: 999px;
  height: 6px;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  transform: translateY(-50%);
}

.route-library-filters__range-fill {
  top: 50%;
  left: var(--range-left);
  right: var(--range-right);
  background: linear-gradient(90deg, #d4ff00f2, #00e5fff2);
  border-radius: 999px;
  height: 6px;
  position: absolute;
  transform: translateY(-50%);
}

.route-library-filters__range-input {
  appearance: none;
  pointer-events: none;
  z-index: 2;
  background: none;
  width: 100%;
  margin: 0;
  position: absolute;
  inset: 0;
}

.route-library-filters__range-input--max {
  z-index: 3;
}

.route-library-filters__range-input:focus {
  outline: none;
}

.route-library-filters__range-input::-webkit-slider-runnable-track {
  background: none;
  height: 44px;
}

.route-library-filters__range-input::-moz-range-track {
  background: none;
  border: 0;
  height: 44px;
}

.route-library-filters__range-input::-webkit-slider-thumb {
  appearance: none;
  background: var(--primary);
  cursor: pointer;
  border: 2px solid #090a0cf2;
  border-radius: 999px;
  width: 18px;
  height: 18px;
  margin-top: 13px;
  box-shadow: 0 0 0 2px #d4ff002e, 0 0 12px #d4ff0029;
}

.route-library-filters__range-input::-moz-range-thumb {
  background: var(--primary);
  cursor: pointer;
  border: 2px solid #090a0cf2;
  border-radius: 999px;
  width: 18px;
  height: 18px;
  box-shadow: 0 0 0 2px #d4ff002e, 0 0 12px #d4ff0029;
}

.route-library-filters__range-input--max::-webkit-slider-thumb {
  background: #00e5ff;
  box-shadow: 0 0 0 2px #00e5ff2e, 0 0 12px #00e5ff29;
}

.route-library-filters__range-input--max::-moz-range-thumb {
  background: #00e5ff;
  box-shadow: 0 0 0 2px #00e5ff2e, 0 0 12px #00e5ff29;
}

.route-library-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  display: grid;
}

@media (min-width: 960px) {
  .route-library-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.route-library-card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #141416e0;
  gap: 8px;
  padding: 8px;
  display: grid;
  position: relative;
}

.route-library-card:after {
  content: "";
  z-index: 4;
  pointer-events: none;
  border-radius: calc(var(--radius)  - 4px);
  opacity: 0;
  background: radial-gradient(circle at 18% 16%, #d4ff002e, #0000 34%), radial-gradient(circle at 84% 84%, #00e5ff21, #0000 36%);
  transition: opacity .14s;
  position: absolute;
  inset: 8px;
  box-shadow: inset 0 0 28px #d4ff0024, inset 0 0 42px #00e5ff14;
}

.route-library-card--selectable {
  cursor: pointer;
}

.route-library-card--selectable:hover, .route-library-card--selectable:focus-within {
  border-color: #d4ff007a;
}

.route-library-card--selectable:hover:after, .route-library-card--selectable:focus-within:after {
  opacity: 1;
}

.route-library-card--selected {
  border-color: #d4ff004d;
  box-shadow: inset 0 0 0 1px #d4ff0014;
}

.route-picker-section--current.route-library-card--selected {
  padding: 14px;
}

.route-picker-section--current .route-library-card__preview-wrap {
  min-height: 190px;
}

.route-picker-section--current .route-library-card__body {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  display: grid;
}

.route-picker-section--current .route-library-card__head {
  gap: 2px;
  display: grid;
}

.route-picker-section--current .route-library-card__actions {
  align-self: center;
}

.route-library-card__preview-wrap {
  border-radius: calc(var(--radius)  - 4px);
  background: #111;
  border: 1px solid #ffffff14;
  min-height: 190px;
  position: relative;
  overflow: hidden;
}

.route-library-card__preview {
  object-fit: cover;
}

.route-library-card .route-library-card__gpx-button {
  z-index: 12;
  pointer-events: auto;
}

.route-library-card--selectable .route-library-card__gpx-button {
  bottom: 42px;
}

.route-library-card__remove-form {
  z-index: 10;
  position: absolute;
  bottom: 8px;
  right: 8px;
}

.route-library-card__remove-button {
  min-height: 24px;
  color: var(--primary);
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  background: #0c0c0ee0;
  border: 1px solid #d4ff0052;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 3px 9px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
  box-shadow: 0 8px 20px #00000038;
}

.route-library-card__remove-button:hover, .route-library-card__remove-button:focus-visible {
  background: #d4ff001a;
  border-color: #d4ff008f;
  outline: none;
}

.route-library-card__select-form {
  z-index: 7;
  position: absolute;
  inset: 0;
}

.route-library-card__select-hitarea {
  z-index: 1;
  cursor: pointer;
  background: none;
  border: 0;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  inset: 0;
}

.route-library-card__select-button {
  z-index: 2;
  color: #101010;
  letter-spacing: .08em;
  text-transform: uppercase;
  cursor: pointer;
  background: #d4ff00f0;
  border: 1px solid #d4ff0047;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  min-height: 24px;
  padding: 3px 9px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
  position: absolute;
  bottom: 8px;
  right: 8px;
  box-shadow: 0 0 0 1px #d4ff001f, 0 8px 20px #d4ff0029;
}

.route-library-card__select-button:hover, .route-library-card__select-button:focus-visible {
  background: var(--primary);
  outline: none;
  box-shadow: 0 0 0 1px #d4ff002e, 0 10px 24px #d4ff003d;
}

.route-library-card__select-hitarea:focus-visible {
  outline-offset: -6px;
  outline: 2px solid #d4ff00b8;
}

.route-library-card__overlay {
  background: linear-gradient(#0a0a0c00 0%, #0a0a0cb8 45%, #0a0a0ce0 100%);
  gap: 6px;
  padding: 12px;
  display: grid;
  position: absolute;
  inset: auto 0 0;
}

.route-library-card__overlay-head {
  gap: 2px;
  display: grid;
}

.route-library-grid .route-library-card__body {
  display: none;
}

.route-library-card__title {
  color: var(--text);
  margin: 0;
  font-weight: 800;
}

.route-library-card__detail {
  color: var(--muted);
  margin: 0;
  font-size: .82rem;
}

.route-library-card__detail--overlay {
  color: #f4f4f4d6;
}

.route-library-card__stats-projection {
  z-index: 2;
  max-width: calc(100% - 20px);
  font-family: var(--font-condensed), Inter, sans-serif;
  letter-spacing: .06em;
  text-align: left;
  text-transform: uppercase;
  text-shadow: 0 0 10px #d4ff005c, 0 2px 8px #000000b8;
  justify-items: start;
  gap: 3px;
  display: grid;
  position: absolute;
  top: 10px;
  left: 10px;
}

.route-library-card__stats-projection strong, .route-library-card__stats-projection span {
  min-width: 0;
  color: var(--primary);
  white-space: nowrap;
  font-size: .92rem;
  font-weight: 900;
  line-height: 1;
}

.route-library-card__actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 4px;
  display: flex;
}

.route-library-card__head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  display: flex;
}

.route-library-filters__range-input--min {
  z-index: 2;
}

/* [project]/app/ride-card.css [app-client] (css) */
.ride-card {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  color: var(--text);
  background: #202023f5;
  gap: 8px;
  padding: 10px;
  transition: transform .12s, border-color .12s, background .12s;
  display: grid;
  position: relative;
  overflow: visible;
}

.ride-card__top-actions {
  z-index: 2;
  align-items: center;
  gap: 6px;
  display: inline-flex;
  position: absolute;
  top: 8px;
  right: 8px;
}

.ride-card__type-badge {
  min-height: 24px;
  color: var(--accent);
  background: #00e5ff1f;
  border: 1px solid #00e5ff38;
  border-radius: 999px;
  align-items: center;
  gap: 4px;
  padding: 3px 7px 3px 6px;
  display: inline-flex;
  box-shadow: 0 0 0 1px #00e5ff0a, 0 0 18px #00e5ff0f;
}

.ride-card__map-labels {
  z-index: 3;
  pointer-events: none;
  justify-items: start;
  gap: 4px;
  display: grid;
  position: absolute;
  top: 8px;
  left: 8px;
}

.ride-card__type-badge--map {
  pointer-events: none;
}

.ride-card__type-badge-icon {
  width: 13px;
  height: 13px;
  display: inline-flex;
}

.ride-card__type-badge-icon svg {
  width: 100%;
  height: 100%;
}

.ride-card__type-badge-label {
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .68rem;
  font-weight: 900;
}

.ride-card__weekly-badge {
  pointer-events: none;
}

.ride-card__weekly-badge-icon {
  flex: none;
  width: 13px;
  height: 13px;
  display: inline-flex;
}

.ride-card__weekly-badge-icon svg {
  width: 100%;
  height: 100%;
}

.ride-card__edit-button {
  width: 28px;
  min-width: 28px;
  height: 28px;
  min-height: 28px;
  color: var(--text);
  background: #d4ff001a;
  border: 1px solid #d4ff004d;
  border-radius: 8px;
  justify-content: center;
  align-items: center;
  padding: 0;
  font-size: 0;
  line-height: 0;
  display: inline-flex;
  box-shadow: inset 0 0 0 1px #d4ff000d;
}

.ride-card__edit-button:hover {
  color: var(--text);
  background: #d4ff002e;
}

.ride-card__edit-icon {
  width: 14px;
  height: 14px;
}

.ride-card__edit-button:focus-visible, .ride-card:focus-visible, .route-library-filters__range-input:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #d4ff00b8;
}

.ride-card--link {
  cursor: pointer;
}

.ride-card--link:hover {
  border-color: #d4ff0080;
  transform: none;
}

.ride-card__content {
  z-index: 1;
  gap: 6px;
  display: grid;
  position: relative;
}

.ride-card__header {
  gap: 2px;
  min-width: 0;
  padding-right: clamp(72px, 14vw, 112px);
  display: grid;
}

.ride-card__metric--button {
  background: #d4ff003d;
  border-color: #d4ff0085;
  padding: 0;
  position: relative;
  overflow: visible;
  box-shadow: inset 0 0 0 1px #d4ff0033, 0 0 16px #d4ff0014;
}

.ride-card__metric--button-open {
  background: #d4ff004d;
  border-color: #d4ff00b8;
  box-shadow: inset 0 0 0 1px #d4ff0052, 0 0 18px #d4ff001f;
}

.ride-card__metric--button-open-top {
  z-index: 3;
}

.ride-card__metric--button .ride-card__metric-value strong {
  color: var(--text);
}

.ride-card__metric--button .ride-card__metric-label {
  color: var(--label-muted);
}

.ride-card__metric--participation-selected {
  border-color: var(--primary);
  background: var(--primary);
  color: #101010;
  box-shadow: 0 0 0 1px #d4ff002e, 0 10px 26px #d4ff0033;
}

.ride-card__metric--participation-selected .ride-card__metric-value strong, .ride-card__metric--participation-selected .ride-card__metric-label {
  color: #101010;
}

.ride-card__metric-value {
  justify-items: center;
  gap: 2px;
  min-width: 0;
  display: grid;
}

.ride-card__metric-hitarea, .ride-card__participate-hitarea {
  cursor: pointer;
  background: none;
  border: 0;
  padding: 0;
  position: absolute;
  inset: 0;
}

.ride-card__metric-hitarea:focus-visible, .ride-card__participate-hitarea:focus-visible {
  outline: none;
}

.ride-card__metric-popover-backdrop {
  z-index: 9;
  -webkit-backdrop-filter: blur(22px) saturate(122%) brightness(.88);
  background: #080a0e8f;
  position: fixed;
  inset: 0;
}

.ride-card__metric-popover, .ride-card__participation-popover {
  z-index: 10;
  -webkit-backdrop-filter: blur(10px) saturate(110%);
  pointer-events: auto;
  background: #121214fa;
  border: 1px solid #ffffff1f;
  border-radius: 16px;
  grid-auto-rows: min-content;
  justify-items: stretch;
  width: max-content;
  min-width: 0;
  max-width: min(300px, 100vw - 16px);
  padding: 10px;
  display: inline-grid;
  position: absolute;
  bottom: calc(100% + 8px);
  left: auto;
  right: 0;
  transform: none;
  box-shadow: 0 24px 54px #00000080;
}

.ride-card__metric-popover--portal {
  bottom: auto;
  right: auto;
  overflow: auto;
  transform: none;
}

.ride-card__metric-popover, .ride-card__participation-popover, .ride-card__riders-popover {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.ride-card__metric-popover::-webkit-scrollbar {
  display: none;
}

.ride-card__participation-popover::-webkit-scrollbar {
  display: none;
}

.ride-card__riders-popover::-webkit-scrollbar {
  display: none;
}

.ride-card__participation-actions {
  grid-template-columns: max-content;
  align-items: stretch;
  gap: 6px;
  width: max-content;
  display: grid;
}

.ride-card__participation-choice {
  border: 1px solid var(--border);
  width: 100%;
  min-width: max-content;
  color: var(--text);
  font: inherit;
  white-space: nowrap;
  text-align: left;
  cursor: pointer;
  background: #121214f5;
  border-radius: 12px;
  justify-content: center;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  font-size: .88rem;
  font-weight: 700;
  transition: border-color .12s, background .12s, box-shadow .12s;
  display: flex;
}

.ride-card__participation-choice:hover {
  outline: none;
}

.ride-card__participation-choice:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #d4ff0047;
}

.ride-card__participation-choice--yes {
  background: #d4ff0014;
  border-color: #d4ff0057;
}

.ride-card__participation-choice--interested {
  background: #00e5ff14;
  border-color: #00e5ff47;
}

.ride-card__participation-choice--no {
  color: #ffb7b2;
  background: #ff3b3014;
  border-color: #ff3b3047;
}

.ride-card__participation-choice--selected {
  box-shadow: 0 0 0 1px #ffffff0f;
}

.ride-card__participation-choice--yes.ride-card__participation-choice--selected {
  background: #d4ff0029;
  border-color: #d4ff008a;
}

.ride-card__participation-choice--interested.ride-card__participation-choice--selected {
  background: #00e5ff29;
  border-color: #00e5ff75;
}

.ride-card__participation-choice--no.ride-card__participation-choice--selected {
  background: #ff3b3029;
  border-color: #ff3b3075;
}

.ride-card__riders-popover {
  -webkit-backdrop-filter: blur(10px) saturate(110%);
  background: #121214fa;
  gap: 10px;
  width: min(520px, 100vw - 12px);
  max-height: min(360px, 100vh - 128px);
  display: grid;
  overflow: auto;
}

.ride-card__riders-popover-header {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.ride-card__riders-popover-title {
  color: var(--text);
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .92rem;
  font-weight: 800;
}

.ride-card__riders-popover-count {
  color: var(--muted);
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 800;
}

.ride-card__riders-groups {
  gap: 10px;
  display: grid;
}

.ride-card__riders-group {
  gap: 6px;
  display: grid;
}

.ride-card__riders-group-title {
  color: var(--label-muted);
  letter-spacing: .14em;
  text-transform: uppercase;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  margin: 0;
  font-size: .66rem;
  font-weight: 800;
  display: flex;
}

.ride-card__riders-group-count {
  color: var(--muted);
}

.ride-card__riders-list {
  gap: 4px;
  display: grid;
}

.ride-card__riders-item {
  border: 1px solid var(--border);
  background: #121214eb;
  border-radius: 12px;
  align-items: center;
  min-height: 34px;
  padding: 6px 10px;
  display: flex;
}

.ride-card__riders-item-name {
  color: var(--text);
  font-size: .86rem;
  font-weight: 700;
}

.ride-card__riders-empty {
  color: var(--muted);
  margin: 0;
  line-height: 1.35;
}

.ride-card__club {
  color: var(--accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0;
  font-size: .72rem;
  font-weight: 800;
}

.ride-card__club span {
  color: var(--muted);
  margin-right: 6px;
}

.ride-card__title {
  font-family: var(--font-condensed), Inter, sans-serif;
  letter-spacing: .08em;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  margin: 0;
  font-size: clamp(1.08rem, 2.2vw, 1.42rem);
  line-height: .98;
  overflow: hidden;
}

.ride-card__summary {
  color: var(--muted);
  margin: 0;
  line-height: 1.45;
}

.ride-card__route-row {
  grid-template-columns: minmax(0, 1.22fr) minmax(0, .78fr);
  align-items: stretch;
  gap: 6px;
  display: grid;
}

.ride-card__map {
  border: 1px solid var(--border);
  background: #111214;
  border-radius: 16px;
  min-height: 132px;
  position: relative;
  overflow: hidden;
}

.ride-card__map-preview {
  object-fit: cover;
  object-position: center;
  filter: saturate(.95) contrast(1.04);
  background: #111214;
  width: 100%;
  height: 100%;
}

.ride-card__map-fallback {
  background: radial-gradient(circle at 50% 40%, #d4ff0014, #0000 30%), linear-gradient(#111214f5, #0b0b0df5);
  place-items: center;
  display: grid;
  position: absolute;
  inset: 0;
}

.ride-card__map-tiles {
  pointer-events: none;
  position: absolute;
}

.ride-card__map-tile {
  object-fit: cover;
  object-position: center;
  filter: brightness(.76) contrast(1.04) saturate(.36) grayscale(.34);
  width: 256px;
  height: 256px;
  display: block;
  position: absolute;
  transform: scale(1.01);
}

.ride-card__map-overlay {
  z-index: 1;
  pointer-events: none;
  background: radial-gradient(circle, #ffffff08, #0000 42%), linear-gradient(#090a0c14, #090a0c47);
  position: absolute;
  inset: 0;
}

.ride-card__map-route {
  z-index: 2;
  pointer-events: none;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
}

.ride-card__map-logo {
  z-index: 2;
  color: #9fa5ab;
  opacity: .9;
  filter: brightness(1.08) saturate(.15) drop-shadow(0 0 8px #0000002e);
  pointer-events: none;
  width: 36px;
  height: auto;
  position: absolute;
  top: 10px;
  left: 10px;
}

.ride-card__map-logo--center {
  color: #f4f4f4d6;
  opacity: .95;
  filter: drop-shadow(0 8px 20px #00000038);
  width: 54px;
  position: relative;
  top: auto;
  left: auto;
}

.ride-card__route-shadow {
  fill: none;
  stroke: #080809bd;
  stroke-width: 8px;
  stroke-linecap: round;
  stroke-linejoin: round;
  opacity: .35;
}

.ride-card__route-line {
  fill: none;
  stroke: #d4ff00f5;
  stroke-width: 3px;
  stroke-linecap: round;
  stroke-linejoin: round;
  filter: drop-shadow(0 0 7px #d4ff003d);
}

.ride-card__route-line--ghost {
  stroke: #d4ff00b8;
  stroke-width: 1.6px;
  filter: drop-shadow(0 0 4px #d4ff0024);
}

.ride-card__route-dot {
  fill: var(--primary);
  stroke: #101011eb;
  stroke-width: 1.5px;
}

.ride-card__route-aside {
  align-content: stretch;
  gap: 6px;
  min-width: 0;
  display: grid;
}

.ride-card__route-card {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #141416e6;
  gap: 4px;
  min-width: 0;
  padding: 6px 8px;
  display: grid;
}

.ride-card__route-card-values {
  text-align: center;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  justify-items: center;
  gap: 4px;
  display: grid;
}

.ride-card__route-card-values strong {
  color: var(--text);
  font-size: .92rem;
  font-weight: 800;
}

.ride-card__metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  display: grid;
}

.ride-card__metric {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  text-align: center;
  background: #141416e6;
  justify-items: center;
  gap: 2px;
  padding: 6px 8px;
  display: grid;
}

.label-muted {
  color: var(--label-muted);
}

.ride-card__metric-label {
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .72rem;
  font-weight: 800;
}

.ride-card__metric strong, .ride-card__metric-time {
  color: var(--text);
  font-size: .92rem;
  font-weight: 800;
}

.ride-card__metric p {
  color: var(--muted);
  margin: 0;
  font-size: .8rem;
  line-height: 1.25;
}

@media (max-width: 900px) {
  .ride-card__map {
    min-height: 116px;
  }
}

@media (max-width: 720px) {
  .ride-card {
    gap: 6px;
    padding: 8px;
  }

  .ride-card__route-row {
    grid-template-columns: minmax(0, 1.22fr) minmax(96px, .78fr);
    gap: 4px;
  }

  .ride-card__map {
    min-height: 124px;
  }

  .ride-card__route-aside {
    gap: 4px;
  }

  .ride-card__metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .ride-card__route-card, .ride-card__metric {
    padding: 5px 6px;
  }

  .ride-card__route-card-values strong, .ride-card__metric strong, .ride-card__metric-time {
    font-size: .82rem;
  }
}

.ride-card__metric--datetime, .ride-card__metric--route-datetime {
  text-align: left;
  justify-items: start;
}

.ride-card__metric--datetime .ride-card__metric-value, .ride-card__metric--route-datetime .ride-card__metric-value {
  justify-items: start;
}

.ride-card__metric.ride-card__metric--participation-selected {
  border-color: var(--primary);
  background: var(--primary);
  color: #101010;
  box-shadow: 0 0 0 1px #d4ff0033, 0 12px 30px #d4ff003d;
}

.ride-card__metric.ride-card__metric--participation-selected .ride-card__metric-value strong, .ride-card__metric.ride-card__metric--participation-selected .ride-card__metric-label {
  color: #101010;
}

.ride-card__participation-choice--pending {
  opacity: .72;
}

@media (max-width: 420px) {
  .ride-card__metrics {
    gap: 3px;
  }

  .ride-card__metric {
    padding: 4px 3px;
  }

  .ride-card__metric-label {
    letter-spacing: .08em;
    font-size: clamp(.5rem, 2vw, .62rem);
  }

  .ride-card__metric strong, .ride-card__metric-time {
    font-size: clamp(.68rem, 2.8vw, .82rem);
  }
}

.ride-card__metric.ride-card__metric--participation-interested {
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: 0 0 0 1px #00e5ff33, 0 12px 30px #00e5ff38;
}

.ride-card__metric.ride-card__metric--participation-interested .ride-card__metric-value strong, .ride-card__metric.ride-card__metric--participation-interested .ride-card__metric-label {
  color: #061114;
}

.ride-card__participation-choice--interested.ride-card__participation-choice--selected {
  color: var(--accent);
  background: #00e5ff1f;
  border-color: #00e5ff85;
}

.ride-card__participation-choice--no.ride-card__participation-choice--selected {
  color: #ffb7b2;
  background: #ff3b3024;
  border-color: #ff3b3075;
}

.ride-card__metric.ride-card__metric--participation-not-going {
  background: #ff3b3024;
  border-color: #ff3b3057;
  box-shadow: 0 0 0 1px #ff3b3029, 0 10px 24px #ff3b301f;
}

.ride-card__metric.ride-card__metric--participation-not-going .ride-card__metric-value strong, .ride-card__metric.ride-card__metric--participation-not-going .ride-card__metric-label {
  color: #ffb7b2;
}

/* [project]/app/home-rides.css [app-client] (css) */
.home-rides-panel {
  gap: 10px;
  display: grid;
}

.home-rides-panel__ride-list {
  gap: 10px;
  min-width: 0;
  display: grid;
}

.home-rides-panel__toolbar {
  grid-template-columns: 1fr;
  display: grid;
}

.home-rides-panel__search input {
  width: 100%;
}

.home-rides-panel__map-shell {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  background: #141416e0;
  gap: 8px;
  min-height: 320px;
  padding: 8px;
  display: grid;
}

.home-rides-panel__search-row {
  align-items: start;
  gap: 8px;
  display: grid;
}

.home-rides-panel__search-field {
  grid-template-columns: minmax(0, 1fr) max-content;
  align-items: stretch;
  gap: 8px;
  display: grid;
}

.home-rides-panel__search-field input {
  min-width: 0;
}

.home-rides-panel__location-button {
  background: var(--primary);
  color: #101010;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  border: 1px solid #d4ff00eb;
  border-radius: 14px;
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-width: 0;
  min-height: 48px;
  padding: 0 14px;
  font-size: .68rem;
  font-weight: 800;
  transition: border-color .12s, background .12s, transform .12s;
  display: inline-flex;
}

.home-rides-panel__location-button:focus-visible {
  border-color: var(--primary);
  background: var(--primary);
  color: #101010;
  outline: none;
  box-shadow: 0 0 0 3px #d4ff0024;
}

@media (hover: hover) and (pointer: fine) {
  .home-rides-panel__location-button:hover {
    border-color: var(--primary);
    background: var(--primary);
    color: #101010;
    outline: none;
    box-shadow: 0 0 0 3px #d4ff0024;
  }
}

.home-rides-panel__location-icon {
  flex: none;
  width: 16px;
  height: 16px;
}

.home-rides-panel__location-label {
  white-space: nowrap;
}

.home-rides-panel__location-label--short {
  display: none;
}

.home-rides-panel__type-panel {
  gap: 6px;
  display: grid;
}

.home-rides-panel__type-label {
  color: var(--accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0;
  font-size: .66rem;
  font-weight: 800;
}

.home-rides-panel__type-buttons {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.home-rides-panel__type-button {
  min-height: 24px;
  color: var(--muted);
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #ffffff0f;
  border: 1px solid #ffffff24;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 3px 8px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
}

.home-rides-panel__type-button:focus-visible {
  color: var(--primary);
  background: #d4ff001f;
  border-color: #d4ff0057;
  outline: none;
}

@media (hover: hover) and (pointer: fine) {
  .home-rides-panel__type-button:hover {
    color: var(--primary);
    background: #d4ff001f;
    border-color: #d4ff0057;
    outline: none;
  }
}

.home-rides-panel__type-button--active {
  color: var(--accent);
  background: #00e5ff24;
  border-color: #00e5ff57;
}

.home-rides-panel__suggestions-panel {
  z-index: 6;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #1c1c1ffa;
  gap: 6px;
  max-height: min(280px, 100vh - 260px);
  padding: 8px;
  display: grid;
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  right: 0;
  overflow: auto;
  box-shadow: 0 20px 48px #0000006b;
}

.home-rides-panel__suggestions-label, .home-rides-panel__suggestions-hint {
  margin: 0;
}

.home-rides-panel__suggestions-label {
  color: var(--accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  font-size: .66rem;
  font-weight: 800;
}

.home-rides-panel__suggestions-hint {
  color: var(--muted);
  font-size: .78rem;
}

.home-rides-panel__suggestions-list {
  gap: 6px;
}

.home-rides-panel__suggestion {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  text-align: left;
  background: #121214eb;
  gap: 2px;
  width: 100%;
  padding: 8px 10px;
  display: grid;
}

.home-rides-panel__suggestion-title {
  color: var(--text);
  font-size: .86rem;
  font-weight: 700;
}

.home-rides-panel__suggestion-subtitle, .home-rides-panel__suggestion-action {
  color: var(--muted);
  font-size: .76rem;
}

.home-rides-panel__suggestion-action {
  color: var(--label-muted);
  font-weight: 700;
}

.home-rides-panel__map-frame {
  border-radius: calc(var(--radius)  - 2px);
  background: #1a1a1c;
  border: 1px solid #ffffff0a;
  min-height: 260px;
  position: relative;
  overflow: hidden;
}

.home-rides-panel__map-frame--dragging {
  cursor: grabbing;
}

.home-rides-panel__map-tiles {
  pointer-events: none;
  position: absolute;
}

.home-rides-panel__map-tile {
  object-fit: cover;
  filter: grayscale() brightness(.6) contrast(1.05) saturate(.78) sepia(.08);
  width: 256px;
  height: 256px;
  display: block;
  position: absolute;
}

.home-rides-panel__map-overlay {
  pointer-events: none;
  background: radial-gradient(circle at 50% 40%, #d4ff000d, #0000 26%), linear-gradient(#10101224, #1010125c);
  position: absolute;
  inset: 0;
}

.home-rides-panel__pin {
  z-index: 2;
  background: #121214c7;
  border: 1px solid #ffffff1f;
  border-radius: 999px;
  place-items: center;
  width: 28px;
  height: 28px;
  padding: 0;
  display: grid;
  position: absolute;
  transform: translate(-50%, -50%);
  box-shadow: 0 8px 20px #00000059;
}

@media (hover: hover) and (pointer: fine) {
  .home-rides-panel__pin:hover {
    border-color: #d4ff0073;
    transform: translate(-50%, -50%);
  }
}

.home-rides-panel__pin--selected {
  background: var(--primary);
  border-color: var(--primary);
  color: #000;
}

.home-rides-panel__pin-dot {
  background: currentColor;
  border-radius: 999px;
  width: 10px;
  height: 10px;
  box-shadow: 0 0 0 3px #ffffff24;
}

.home-rides-panel__status-panel {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #1c1c1fe6;
  padding: 10px 12px;
}

.home-rides-panel__status-panel--alert {
  background: #ff3b301f;
  border-color: #ff3b3057;
  box-shadow: inset 0 0 0 1px #ff3b3014, 0 0 22px #ff3b3014;
}

.home-rides-panel__status-panel--alert .home-rides-panel__status-text {
  color: #ffb7b2;
}

.home-rides-panel__status-text {
  color: var(--muted);
  margin: 0;
  font-size: .86rem;
  font-weight: 600;
}

.home-rides-panel__status-detail {
  color: var(--label-muted);
  margin: 4px 0 0;
  font-size: .8rem;
}

.home-rides-panel__map-copy {
  gap: 2px;
  display: grid;
}

.home-rides-panel__map-label {
  color: var(--accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0;
  font-size: .66rem;
  font-weight: 800;
}

.home-rides-panel__map-title {
  color: var(--text);
  font-size: .92rem;
  font-weight: 800;
}

.home-rides-panel__map-detail {
  color: var(--muted);
  margin: 0;
  font-size: .8rem;
}

.home-rides-panel__map-controls {
  justify-content: flex-end;
  gap: 6px;
  display: flex;
}

.home-rides-panel__map-footnote {
  color: var(--muted);
  margin: 0;
  font-size: .8rem;
}

.home-rides-panel__actions {
  justify-content: flex-end;
  display: flex;
}

.home-rides-panel__location-panel, .home-rides-panel__zoom-controls {
  align-items: center;
  gap: 6px;
  display: flex;
}

.home-rides-panel__location-panel {
  align-items: start;
  gap: 8px;
  display: grid;
  position: relative;
  overflow: visible;
}

.home-rides-panel__search-stack {
  gap: 8px;
  display: grid;
  position: relative;
}

.home-rides-panel__zoom-button {
  min-width: 40px;
  min-height: 40px;
  padding: 8px 10px;
}

.home-rides-panel__ride-card-shell {
  display: contents;
}

/* [project]/app/admin-surfaces.css [app-client] (css) */
.admin-dashboard-stats-grid, .admin-dashboard-broadcast-form, .admin-dashboard-recent-broadcasts, .admin-dashboard-changelog {
  gap: 10px;
  display: grid;
}

.admin-dashboard-stats-grid {
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
}

.admin-dashboard-stat {
  min-height: 100%;
}

.admin-dashboard-changelog {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #141416bd;
  max-height: 460px;
  padding: 12px;
  overflow: auto;
}

.admin-dashboard-changelog p {
  margin: 0;
}

.admin-dashboard-changelog__title, .admin-dashboard-changelog__section, .admin-dashboard-changelog__subsection {
  color: var(--text);
  font-weight: 900;
}

.admin-dashboard-changelog__title {
  font-size: 1rem;
}

.admin-dashboard-changelog__section {
  color: var(--accent);
  letter-spacing: .04em;
  text-transform: uppercase;
  margin-top: 8px;
}

.admin-dashboard-changelog__subsection {
  color: var(--primary);
}

.admin-dashboard-changelog__item, .admin-dashboard-changelog__line {
  color: var(--muted);
  line-height: 1.55;
}

.admin-dashboard-changelog__spacer {
  min-height: 6px;
}

.admin-club-administration-panel, .admin-settings-panel, .admin-radio-channels-panel, .admin-ride-form, .admin-rides-list, .admin-rides-page__tile {
  gap: 10px;
  display: grid;
}

.admin-club-administration-panel, .admin-settings-panel, .admin-radio-channels-panel, .admin-rides-page__tile {
  border: 1px solid var(--border);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  background: #111112e6;
  padding: 12px;
}

.admin-settings-form, .admin-invite-codes-panel__create, .admin-radio-channels-panel__create, .admin-members-toolbar, .admin-settings-panel__sheet, .admin-settings-panel__sheet-footer, .admin-invite-code-row__actions, .admin-ride-form__actions, .admin-members-pagination__controls {
  flex-wrap: wrap;
  gap: 8px;
  display: flex;
}

.admin-settings-form {
  display: grid;
}

.admin-settings-panel__details-grid, .admin-members-table, .admin-invite-code-groups, .admin-invite-code-list, .admin-radio-channels-panel__list, .admin-radio-channels-panel__member-list, .admin-rides-list, .admin-rides-page__tiles {
  gap: 8px;
  display: grid;
}

.admin-settings-panel__detail-row, .admin-invite-code-row, .admin-members-table__row, .admin-radio-channels-panel__row, .admin-radio-channels-panel__member-row {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #141416e0;
  padding: 10px 12px;
}

.admin-settings-panel__detail-row, .admin-invite-code-row {
  gap: 6px;
  display: grid;
}

.admin-rides-list__item {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #141416e0;
  margin: 2px 0;
}

.admin-settings-panel__detail-row--wide {
  min-height: 100%;
}

.admin-settings-panel__details-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.admin-settings-panel__inline-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  display: grid;
}

.admin-settings-panel__automation-list {
  gap: 8px;
  display: grid;
}

.admin-settings-panel__inline-grid--summary, .admin-settings-panel__inline-grid--controls, .admin-settings-panel__detail-row--wide, .admin-settings-panel__automation-list, .admin-settings-panel__section-note {
  grid-column: 1 / -1;
}

.admin-settings-panel__section-note {
  margin: 0;
}

.admin-settings-panel__inline-grid--summary > *, .admin-settings-panel__inline-grid--controls .field {
  min-width: 0;
}

.admin-settings-panel__label, .admin-invite-code-row__label, .admin-radio-channels-panel__picker-title, .admin-members-table__cell--role, .admin-members-table__status-pill, .admin-rides-list__detail {
  color: var(--muted);
}

.admin-settings-panel__detail-value, .admin-invite-code-row__code, .admin-radio-channels-panel__name, .admin-members-table__cell--name, .admin-rides-list__title {
  color: var(--text);
}

.admin-rides-list__tag, .admin-rides-list__badge {
  width: fit-content;
  min-height: 24px;
  color: var(--accent);
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #00e5ff1f;
  border: 1px solid #00e5ff38;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
  box-shadow: 0 0 0 1px #00e5ff0a, 0 0 18px #00e5ff0f;
}

.admin-rides-list__badge {
  color: var(--text);
  background: #d4ff0014;
  border-color: #d4ff0038;
}

.admin-settings-panel__edit-button, .admin-invite-code-row__actions .button, .admin-radio-channels-panel__actions .button, .admin-members-toolbar .button, .admin-ride-form__actions .button {
  min-width: 0;
}

.admin-invite-codes-panel__create {
  width: 100%;
}

.admin-settings-panel__sheet, .admin-settings-panel__sheet-footer, .admin-invite-codes-panel__help {
  flex-wrap: wrap;
}

.admin-settings-panel__sheet, .admin-settings-panel__sheet-footer {
  justify-content: flex-end;
}

.admin-invite-code-group__title, .admin-radio-channels-panel__header .eyebrow {
  color: var(--accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0;
  font-size: .66rem;
  font-weight: 800;
}

.admin-invite-codes-panel__create-row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 8px;
  width: 100%;
  display: grid;
}

.admin-radio-channels-panel__create-row {
  grid-template-columns: minmax(0, 1fr) minmax(120px, .7fr) auto;
  align-items: end;
  gap: 8px;
  width: 100%;
  display: grid;
}

.admin-invite-code-groups, .admin-members-pagination {
  gap: 10px;
}

.admin-members-pagination {
  text-align: center;
  justify-items: stretch;
  width: 100%;
  display: grid;
}

.admin-invite-code-row__meta, .admin-members-table__cell, .admin-radio-channels-panel__meta, .admin-rides-list__meta {
  gap: 3px;
  min-width: 0;
  display: grid;
}

.admin-invite-code-row__detail, .admin-members-table__detail, .admin-radio-channels-panel__detail, .admin-rides-list__detail {
  margin: 0;
  line-height: 1.4;
}

.admin-invite-code-card, .admin-invite-code-list {
  gap: 8px;
  display: grid;
}

.admin-invite-code-card {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #141416e0;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  padding: 12px;
  display: grid;
}

.admin-invite-code-card--active {
  border-color: #00e5ff3d;
  box-shadow: 0 0 0 1px #00e5ff0d, 0 0 18px #00e5ff0d;
}

.admin-invite-code-card--inactive {
  background: #141416b8;
  border-color: #7e7e845c;
}

.admin-invite-code-card--inactive .admin-invite-code-card__label, .admin-invite-code-card--inactive .admin-invite-code-card__code, .admin-invite-code-card--inactive .admin-invite-code-card__stat {
  color: var(--muted);
}

.admin-invite-code-card__meta {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.admin-invite-code-card__label {
  color: var(--muted);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin: 0;
  font-size: .72rem;
  font-weight: 800;
}

.admin-invite-code-card__code {
  color: var(--text);
  letter-spacing: .14em;
  text-transform: uppercase;
  word-break: break-all;
  margin: 0;
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.2;
}

.admin-invite-code-card__stats {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.admin-invite-code-card__stat {
  letter-spacing: .08em;
  text-transform: uppercase;
  border-radius: 999px;
  align-items: center;
  gap: 4px;
  min-height: 24px;
  padding: 3px 8px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
}

.admin-invite-code-card--active .admin-invite-code-card__stat, .admin-invite-code-card--inactive .admin-invite-code-card__stat {
  color: var(--muted);
  box-shadow: none;
  background: #7e7e8424;
  border: 1px solid #7e7e845c;
}

.admin-invite-code-card__actions, .admin-radio-channels-panel__actions, .admin-members-toolbar, .admin-members-pagination__controls, .admin-ride-form__actions {
  justify-content: flex-end;
}

.admin-invite-code-card__actions {
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 6px;
  min-width: 0;
  display: flex;
}

.admin-invite-code-card__actions .button {
  flex: none;
}

.admin-invite-code-card__icon-button {
  border-radius: 10px;
  width: 34px;
  min-width: 0;
  min-height: 34px;
  padding: 0;
  transition: none;
}

.admin-invite-code-card__icon-button:hover, .admin-invite-code-card__icon-button:focus-visible {
  transform: none;
}

.admin-invite-code-card__icon-button svg {
  width: 16px;
  height: 16px;
}

.admin-invite-code-card__icon-button--active, .admin-invite-code-card__icon-button--active:hover, .admin-invite-code-card__icon-button--active:focus-visible {
  color: var(--accent);
  background: #00e5ff29;
  border-color: #00e5ff6b;
  box-shadow: 0 0 0 1px #00e5ff0d, 0 0 18px #00e5ff14;
}

.admin-invite-code-card__icon-button--inactive, .admin-invite-code-card__icon-button--inactive:hover, .admin-invite-code-card__icon-button--inactive:focus-visible {
  color: var(--muted);
  box-shadow: none;
  background: #7e7e8424;
  border-color: #7e7e846b;
}

.admin-invite-code-card__icon-button--danger {
  color: #ffb7b2;
}

.admin-invite-code-row__actions, .admin-radio-channels-panel__actions, .admin-members-toolbar, .admin-members-pagination__controls, .admin-ride-form__actions {
  justify-content: flex-end;
}

.admin-members-toolbar__input {
  min-width: min(100%, 320px);
}

.admin-members-table__head, .admin-members-table__row {
  grid-template-columns: minmax(0, 1.4fr) minmax(120px, .6fr) minmax(120px, .6fr);
  align-items: center;
  gap: 10px;
  display: grid;
}

.admin-members-table__head {
  color: var(--label-muted);
  letter-spacing: .1em;
  text-transform: uppercase;
  padding: 0 2px;
  font-size: .72rem;
  font-weight: 800;
}

.admin-members-table__cell--name, .admin-members-table__cell--role {
  min-width: 0;
}

.admin-members-table__cell--name {
  font-weight: 700;
}

.admin-members-table__tag, .admin-members-pagination__tag {
  flex: none;
}

.admin-members-table__status-pill, .admin-members-table__tag, .admin-members-pagination__tag, .admin-radio-channels-panel__badge, .admin-radio-channels-panel__chip, .admin-invite-code-row__label {
  white-space: nowrap;
}

.admin-members-pagination__page, .admin-members-pagination__loading {
  color: var(--muted);
}

.admin-members-pagination__controls {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  width: 100%;
  display: grid;
}

.admin-members-pagination__controls .button {
  letter-spacing: .06em;
  min-height: 36px;
  padding: 6px 10px;
  font-size: .66rem;
}

.admin-members-pagination__page {
  min-height: 36px;
  padding: 6px 10px;
  font-size: .62rem;
}

.admin-members-list {
  gap: 8px;
  display: grid;
}

.admin-members-card {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #141416e0;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  padding: 12px;
  display: grid;
  position: relative;
}

.admin-members-card--placeholder {
  opacity: 0;
  pointer-events: none;
  -webkit-user-select: none;
  user-select: none;
  min-height: 72px;
}

.admin-members-card__meta {
  gap: 4px;
  min-width: 0;
  display: grid;
}

.admin-members-card__name {
  color: var(--text);
  font-weight: 800;
}

.admin-members-card__labels {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.admin-members-card__pill {
  min-height: 24px;
  color: var(--muted);
  box-shadow: none;
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #7e7e8424;
  border: 1px solid #7e7e845c;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
}

.admin-members-card__pill--role {
  color: var(--text);
}

.admin-members-card__actions {
  flex-wrap: nowrap;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 8px;
  display: flex;
  position: relative;
}

.admin-members-card__role-button {
  width: 34px;
  min-width: 0;
  min-height: 34px;
  color: var(--accent);
  text-transform: none;
  letter-spacing: .08em;
  background: #00e5ff1f;
  border-color: #00e5ff38;
  gap: 0;
  padding: 0;
  font-size: .68rem;
  font-weight: 900;
  box-shadow: 0 0 0 1px #00e5ff0a, 0 0 18px #00e5ff0f;
}

.admin-members-card__role-button:hover, .admin-members-card__role-button:focus-visible {
  color: var(--accent);
  background: #00e5ff1f;
  border-color: #00e5ff38;
  transform: none;
  box-shadow: 0 0 0 1px #00e5ff0a, 0 0 18px #00e5ff0f;
}

.admin-members-card__role-button-icon {
  justify-content: center;
  align-items: center;
  display: inline-flex;
}

.admin-members-card__role-button-icon svg {
  width: 16px;
  height: 16px;
}

.admin-members-card__role-popover {
  z-index: 10;
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  min-width: 180px;
  max-width: min(180px, 100vw - 24px);
  box-shadow: var(--shadow);
  background: #0e0e10fa;
  gap: 6px;
  padding: 10px;
  display: grid;
  position: absolute;
  top: calc(100% + 6px);
  left: auto;
  right: 42px;
}

.admin-members-card__role-popover-title {
  color: var(--accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0 0 2px;
  font-size: .66rem;
  font-weight: 800;
}

.admin-members-card__role-option {
  min-height: 34px;
  color: var(--text);
  text-transform: none;
  letter-spacing: .04em;
  background: #7e7e841f;
  border: 1px solid #7e7e845c;
  border-radius: 10px;
  justify-content: flex-start;
  align-items: center;
  padding: 8px 10px;
  font-size: .68rem;
  font-weight: 900;
  display: inline-flex;
}

.admin-members-card__role-option:hover, .admin-members-card__role-option:focus-visible {
  color: var(--accent);
  background: #00e5ff1f;
  border-color: #00e5ff38;
  transform: none;
}

.admin-members-card__role-option--current {
  color: var(--accent);
  background: #00e5ff1f;
  border-color: #00e5ff38;
}

.admin-members-card__delete-button {
  border-radius: 10px;
  width: 34px;
  min-width: 0;
  min-height: 34px;
  padding: 0;
}

.admin-members-card__delete-button svg {
  width: 16px;
  height: 16px;
}

.admin-members-list__empty {
  padding: 4px 2px;
}

.admin-radio-channels-panel__summary {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.admin-radio-channels-panel__tag, .admin-members-table__tag, .admin-members-pagination__tag {
  width: fit-content;
  min-height: 24px;
  color: var(--accent);
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #00e5ff1f;
  border: 1px solid #00e5ff38;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  gap: 4px;
  padding: 3px 8px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
  box-shadow: 0 0 0 1px #00e5ff0a, 0 0 18px #00e5ff0f;
}

.admin-radio-channels-panel__header {
  gap: 4px;
  display: grid;
}

.admin-radio-channels-panel__help, .admin-radio-channels-panel__hint, .admin-invite-codes-panel__help, .admin-settings-panel__detail-row p, .admin-rides-list__detail, .admin-members-table__detail {
  margin: 0;
}

.admin-radio-channels-panel__field, .admin-settings-panel__detail-row, .admin-invite-codes-panel__create .field, .admin-radio-channels-panel__create .field {
  min-width: 0;
}

.admin-radio-channels-panel__field--visibility {
  min-width: 126px;
}

.admin-radio-channels-panel__closed-access, .admin-radio-channels-panel__member-picker {
  gap: 8px;
  display: grid;
}

.admin-radio-channels-panel__member-picker {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #0e0e10bf;
  padding: 10px;
}

.admin-radio-channels-panel__member-picker-head {
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  display: flex;
}

.admin-radio-channels-panel__chips {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.admin-radio-channels-panel__chip {
  cursor: pointer;
  border: 0;
}

.admin-radio-channels-panel__chip:hover {
  background: #00e5ff2e;
}

.admin-radio-channels-panel__member-list {
  max-height: 220px;
  padding-right: 2px;
  overflow: auto;
}

.admin-radio-channels-panel__member-row {
  grid-template-columns: auto minmax(0, 1fr) minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  display: grid;
}

.admin-radio-channels-panel__member-row--selected {
  border-color: #00e5ff73;
  box-shadow: inset 0 0 0 1px #00e5ff24;
}

.admin-radio-channels-panel__member-name, .admin-radio-channels-panel__member-email, .admin-radio-channels-panel__member-role {
  min-width: 0;
}

.admin-radio-channels-panel__member-name {
  color: var(--text);
  font-weight: 700;
}

.admin-radio-channels-panel__member-email {
  color: var(--muted);
  font-size: .82rem;
}

.admin-radio-channels-panel__member-role {
  color: var(--accent);
}

.admin-radio-channels-panel__row {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  display: grid;
}

.admin-radio-channels-panel__row--disabled {
  opacity: .86;
  background: #141416b8;
  border-color: #7e7e845c;
}

.admin-radio-channels-panel__row--disabled .admin-radio-channels-panel__badge, .admin-radio-channels-panel__row--disabled .admin-radio-channels-panel__detail, .admin-radio-channels-panel__row--disabled .admin-radio-channels-panel__name {
  color: var(--muted);
}

.admin-radio-channels-panel__title-row, .admin-radio-channels-panel__footer-tags, .admin-radio-channels-panel__actions {
  flex-wrap: wrap;
  gap: 6px;
  display: flex;
}

.admin-members-pagination__controls {
  white-space: nowrap;
  flex-wrap: nowrap;
  align-items: center;
  gap: 6px;
  display: flex;
}

.admin-radio-channels-panel__title-row {
  justify-content: flex-start;
  align-items: center;
}

.admin-radio-channels-panel__footer-tags, .admin-radio-channels-panel__actions {
  justify-content: flex-start;
}

.admin-radio-channels-panel__badge {
  flex: none;
}

.admin-radio-channels-panel__icon-button {
  border-radius: 10px;
  width: 34px;
  min-width: 0;
  min-height: 34px;
  padding: 0;
  transition: none;
}

.admin-radio-channels-panel__icon-button:hover, .admin-radio-channels-panel__icon-button:focus-visible {
  transform: none;
}

.admin-radio-channels-panel__icon-button svg {
  width: 16px;
  height: 16px;
}

.admin-radio-channels-panel__icon-button--edit, .admin-radio-channels-panel__icon-button--edit:hover, .admin-radio-channels-panel__icon-button--edit:focus-visible {
  color: var(--primary);
  background: #d4ff0024;
  border-color: #d4ff006b;
  box-shadow: 0 0 0 1px #d4ff000f, 0 0 18px #d4ff0014;
}

.admin-radio-channels-panel__icon-button--toggle-active, .admin-radio-channels-panel__icon-button--toggle-active:hover, .admin-radio-channels-panel__icon-button--toggle-active:focus-visible {
  color: var(--accent);
  background: #00e5ff29;
  border-color: #00e5ff6b;
  box-shadow: 0 0 0 1px #00e5ff0d, 0 0 18px #00e5ff14;
}

.admin-radio-channels-panel__icon-button--toggle-inactive, .admin-radio-channels-panel__icon-button--toggle-inactive:hover, .admin-radio-channels-panel__icon-button--toggle-inactive:focus-visible {
  color: var(--muted);
  box-shadow: none;
  background: #7e7e8424;
  border-color: #7e7e846b;
}

.admin-radio-channels-panel__icon-button--danger {
  color: #ffb7b2;
}

.admin-invite-code-row__icon-button {
  border-radius: 999px;
  width: 34px;
  min-width: 0;
  min-height: 34px;
  padding: 0;
}

.admin-invite-code-row__icon-button svg {
  width: 16px;
  height: 16px;
}

.admin-invite-code-row__icon-button--danger {
  color: #ffb7b2;
}

.admin-members-table__tag, .admin-members-pagination__tag {
  color: var(--accent);
  background: #00e5ff1f;
  border-color: #00e5ff38;
  box-shadow: 0 0 0 1px #00e5ff0a, 0 0 18px #00e5ff0f;
}

.admin-members-pagination__controls .button, .admin-members-pagination__page {
  white-space: nowrap;
  min-width: 0;
}

.admin-members-pagination__controls .button {
  width: 100%;
}

.admin-members-pagination__controls .button:first-child {
  justify-self: start;
}

.admin-members-pagination__controls .button:last-child {
  justify-self: end;
}

.admin-members-pagination__page {
  justify-self: center;
}

.admin-radio-channels-panel__badge, .admin-radio-channels-panel__chip, .admin-members-table__status-pill, .admin-invite-code-row__label {
  white-space: nowrap;
}

.admin-ride-form__actions .button {
  flex: 1 1 0;
  min-width: 0;
  padding-inline: clamp(8px, 2.4vw, 16px);
}

.admin-settings-panel__sheet, .admin-settings-panel__sheet-footer {
  flex-direction: row;
}

@media (max-width: 720px) {
  .admin-settings-panel__details-grid, .admin-invite-codes-panel__create-row, .admin-radio-channels-panel__create-row, .admin-radio-channels-panel__member-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .admin-members-card {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
  }

  .admin-members-card__actions {
    justify-content: flex-end;
  }

  .admin-radio-channels-panel__title-row {
    align-items: flex-start;
  }

  .admin-radio-channels-panel__actions, .admin-invite-code-card__actions, .admin-invite-code-row__actions {
    justify-content: flex-start;
  }

  .admin-members-pagination__controls {
    justify-content: center;
  }

  .admin-members-card__role-popover {
    max-width: min(180px, 100vw - 24px);
    left: auto;
    right: 0;
  }
}

/* [project]/app/navigation-and-responsive.css [app-client] (css) */
.club-admin-nav {
  left: 50%;
  bottom: calc(96px + env(safe-area-inset-bottom));
  z-index: 72;
  border: 1px solid var(--border);
  width: min(920px, 100vw - 32px);
  box-shadow: var(--shadow), 0 0 0 1px #d4ff000a;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  background: #121214f0;
  border-radius: 18px;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 4px;
  padding: 4px;
  display: grid;
  position: fixed;
  transform: translateX(-50%);
}

.club-admin-nav__item {
  min-height: 38px;
  color: var(--muted);
  text-align: center;
  background: none;
  border: 1px solid #0000;
  border-radius: 14px;
  place-items: center;
  padding: 6px 8px;
  display: grid;
}

.club-admin-nav__item--active {
  color: var(--text);
  background: #d4ff0014;
  border-color: #d4ff0057;
}

.club-admin-nav__label {
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .66rem;
  font-weight: 800;
  line-height: 1.05;
}

.bottom-nav {
  z-index: 65;
  border: 1px solid var(--border);
  width: min(1040px, 100vw - 48px);
  box-shadow: var(--shadow), 0 0 0 1px #d4ff000a;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #121214f5;
  border-radius: 24px;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(4px, .9vw, 6px);
  padding: clamp(6px, 1vw, 8px);
  display: grid;
  position: fixed;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

.bottom-nav__item {
  min-height: clamp(50px, 10vw, 74px);
  color: var(--muted);
  text-align: center;
  background: none;
  border: 1px solid #0000;
  border-radius: 18px;
  place-items: center;
  gap: clamp(3px, .8vw, 5px);
  padding: clamp(4px, .8vw, 8px) clamp(2px, .7vw, 6px);
  transition: transform .12s, border-color .12s, background .12s, color .12s;
  display: grid;
}

.bottom-nav__item:hover {
  color: var(--text);
  background: #d4ff000f;
  border-color: #d4ff0047;
  transform: none;
}

.bottom-nav__item--active {
  color: var(--text);
  background: #d4ff0017;
  border-color: #d4ff005c;
}

.bottom-nav__item--disabled {
  opacity: .42;
  color: var(--muted);
  cursor: not-allowed;
  pointer-events: none;
  background: #ffffff05;
  border-color: #0000;
}

.bottom-nav__item--radio {
  color: #101010;
  background: var(--primary);
  border-color: #0000;
  position: relative;
}

.bottom-nav__item--radio:hover, .bottom-nav__item--radio.bottom-nav__item--active {
  color: #101010;
  background: var(--primary);
  border-color: #0000;
}

.bottom-nav__icon, .bottom-nav__logo {
  flex: none;
  width: clamp(20px, 2.8vw, 26px);
  height: clamp(20px, 2.8vw, 26px);
}

.bottom-nav__label {
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: clamp(.56rem, 1.05vw, .66rem);
  font-weight: 800;
  line-height: 1.05;
}

@media (max-width: 720px) {
  .site-shell, .member-shell, .admin-shell {
    width: calc(100vw - 16px);
  }

  .site-header {
    flex-direction: column;
    align-items: flex-start;
  }

  .route-library-grid, .route-library-card__stats, .admin-role-grid, .admin-settings-summary-grid, .admin-settings-panel__details-grid, .admin-settings-form__grid, .admin-invite-code-groups {
    grid-template-columns: 1fr;
  }

  .admin-invite-codes-panel__create-row, .admin-invite-code-row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .admin-invite-code-row__actions {
    align-items: flex-end;
  }

  .admin-members-table__head {
    display: none;
  }

  .admin-members-table__head, .admin-members-table__row {
    grid-template-columns: minmax(0, 1.25fr) minmax(72px, .62fr) minmax(72px, .58fr);
    gap: 6px;
    padding: 8px;
  }

  .admin-members-table__detail {
    font-size: .68rem;
  }

  .admin-members-table__cell--role {
    justify-content: flex-start;
  }

  .admin-members-table__status-pill, .admin-members-table__cell--role .pill {
    padding-inline: 5px;
    font-size: .62rem;
  }

  .home-rides-panel__search-row {
    grid-template-columns: minmax(0, 1fr);
  }

  .home-rides-panel__location-button {
    width: 100%;
  }

  .club-admin-nav {
    bottom: calc(var(--bottom-nav-stack-space)  + 4px);
    width: calc(100vw - 16px);
  }

  .club-admin-nav__item {
    min-height: 34px;
    padding: 4px 6px;
  }

  .club-admin-nav__label {
    font-size: .58rem;
  }

  .bottom-nav {
    width: calc(100vw - 16px);
  }
}

/* [project]/app/forms-and-composers.css [app-client] (css) */
.form-errors {
  border-radius: var(--radius-sm);
  background: #ff3b3014;
  border: 1px solid #ff3b303d;
  gap: 6px;
  padding: 12px 14px;
  display: grid;
}

.form-errors__title {
  color: #ffb7b2;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-size: .76rem;
  font-weight: 800;
}

.form-errors__list {
  color: var(--text);
  margin: 0;
  padding-left: 18px;
  line-height: 1.45;
}

.form-errors__list li + li {
  margin-top: 4px;
}

.autosave-status {
  border: 1px solid var(--border);
  width: fit-content;
  color: var(--muted);
  background: #141416e6;
  border-radius: 999px;
  align-items: center;
  gap: 8px;
  padding: 6px 10px;
  font-size: .76rem;
  font-weight: 700;
  display: inline-flex;
}

.autosave-status__dot {
  background: currentColor;
  border-radius: 999px;
  width: 8px;
  height: 8px;
  box-shadow: 0 0 0 3px #ffffff0f;
}

.autosave-status--saving {
  color: var(--accent);
}

.autosave-status--saved {
  color: var(--primary);
}

.autosave-status--error {
  color: #ffb7b2;
}

.ride-form {
  gap: 12px;
}

.ride-form__route-field {
  gap: 6px;
}

.ride-form__route-row {
  align-items: center;
}

.ride-form__route-row .button {
  white-space: nowrap;
}

.ride-card__gpx-button {
  z-index: 3;
  min-height: 24px;
  color: var(--accent);
  letter-spacing: .08em;
  text-transform: uppercase;
  background: #00e5ff1f;
  border: 1px solid #00e5ff38;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 3px 8px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
  position: absolute;
  bottom: 8px;
  right: 8px;
}

.ride-card__gpx-button:hover, .ride-card__gpx-button:focus-visible {
  background: #00e5ff2e;
  border-color: #00e5ff66;
  outline: none;
}

.address-autocomplete {
  gap: 6px;
  display: grid;
  position: relative;
}

.address-autocomplete__field {
  position: relative;
}

.address-autocomplete__hint {
  color: var(--label-muted);
  margin: 0;
  font-size: .76rem;
  line-height: 1.35;
}

.address-autocomplete__panel {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #141416f2;
  gap: 6px;
  padding: 10px;
  display: grid;
}

.address-autocomplete__list {
  gap: 6px;
}

.address-autocomplete__suggestion--selected {
  background: #d4ff0014;
  border-color: #d4ff006b;
}

.address-autocomplete__suggestion-copy {
  text-align: left;
  gap: 2px;
  min-width: 0;
  display: grid;
}

.address-autocomplete__suggestion-action {
  flex: none;
}

.club-post-composer {
  gap: 12px;
  display: grid;
}

.club-post-composer__layout {
  grid-template-columns: minmax(0, 1.08fr) minmax(300px, .92fr);
  align-items: start;
  gap: 12px;
  display: grid;
}

.club-post-composer__actions {
  justify-content: flex-end;
}

.club-post-composer__editor {
  gap: 10px;
}

.club-post-composer__body-field textarea {
  min-height: 220px;
}

.club-post-composer__preview {
  align-content: start;
  gap: 10px;
  display: grid;
}

.club-post-composer__preview-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 8px;
  display: flex;
}

.club-post-composer__preview-card {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #141416eb;
  gap: 6px;
  padding: 12px;
  display: grid;
}

.club-post-composer__preview-kicker {
  color: var(--accent);
  letter-spacing: .14em;
  text-transform: uppercase;
  margin: 0;
  font-size: .66rem;
  font-weight: 800;
}

.club-post-composer__preview-title {
  color: var(--text);
  font-family: var(--font-condensed), Inter, sans-serif;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.05;
}

.club-post-composer__preview-summary, .club-post-composer__preview-body, .club-post-composer__hint {
  color: var(--muted);
  margin: 0;
  line-height: 1.45;
}

.club-post-composer__preview-body {
  gap: 4px;
  display: grid;
}

.club-post-composer__hint {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #141416d6;
  padding: 10px 12px;
}

.post-toggle-stack {
  gap: 8px;
  display: grid;
}

.profile-settings-form {
  gap: 12px;
  display: grid;
}

.profile-settings-field {
  gap: 5px;
  display: grid;
}

.profile-settings-field__hint {
  color: var(--muted);
  font-size: .82rem;
  line-height: 1.35;
}

.profile-settings-select {
  width: 100%;
}

.profile-settings-toggle {
  gap: 6px;
  display: grid;
}

.profile-settings-toggle__copy {
  gap: 4px;
  display: grid;
}

.profile-settings-toggle__control {
  min-height: 44px;
  color: var(--text);
  background: linear-gradient(#ffffff0d, #121214f5), #121214f5;
  border: 1px solid #ffffff24;
  border-radius: 12px;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  display: flex;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 0 1px #ffffff0a, 0 0 18px #0000002e, inset 0 1px #ffffff0a;
}

.profile-settings-toggle__input {
  z-index: 3;
  opacity: 0;
  cursor: pointer;
  width: 100%;
  height: 100%;
  margin: 0;
  position: absolute;
  inset: 0;
}

.profile-settings-toggle__track {
  background: #ffffff14;
  border: 1px solid #ffffff14;
  border-radius: 8px;
  flex: none;
  width: 58px;
  height: 32px;
  transition: background .18s, border-color .18s, box-shadow .18s;
  position: relative;
  box-shadow: inset 0 0 0 1px #00000038;
}

.profile-settings-toggle__thumb {
  background: #a0a0a5f5;
  border-radius: 6px;
  width: 24px;
  height: 24px;
  transition: transform .18s, box-shadow .18s, background .18s;
  position: absolute;
  top: 3px;
  left: 3px;
  transform: translateX(0);
  box-shadow: 0 0 0 1px #ffffff14, inset 0 1px #ffffff24;
}

.profile-settings-toggle__state {
  z-index: 1;
  min-width: 42px;
  color: var(--muted);
  letter-spacing: .12em;
  text-transform: uppercase;
  background: #00e5ff14;
  border: 1px solid #00e5ff29;
  border-radius: 8px;
  justify-content: center;
  margin-left: auto;
  padding: 6px 8px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  position: relative;
}

.profile-settings-toggle__state--on {
  color: var(--primary);
  display: none;
}

.profile-settings-toggle__state--off {
  display: inline-flex;
}

.profile-settings-toggle__input:checked ~ .profile-settings-toggle__track {
  background: #d4ff0029;
  border-color: #d4ff006b;
  box-shadow: 0 0 0 1px #d4ff001f, 0 0 20px #d4ff002e, inset 0 1px #ffffff14;
}

.profile-settings-toggle__input:checked ~ .profile-settings-toggle__track .profile-settings-toggle__thumb {
  background: #d4ff00;
  transform: translateX(26px);
  box-shadow: 0 0 0 1px #d4ff005c, 0 0 14px #d4ff0029, inset 0 1px #fff3;
}

.profile-settings-toggle__input:checked ~ .profile-settings-toggle__state--on {
  display: inline-flex;
}

.profile-settings-toggle__input:checked ~ .profile-settings-toggle__state--off {
  display: none;
}

.profile-settings-toggle__input:focus-visible ~ .profile-settings-toggle__track, .profile-settings-toggle__input:focus-visible ~ .profile-settings-toggle__state {
  outline-offset: 3px;
  outline: 2px solid #00e5ffb8;
}

.profile-settings-actions {
  justify-content: flex-end;
  display: flex;
}

/* [project]/app/radio.css [app-client] (css) */
.radio-dock__overlay {
  z-index: var(--z-radio-overlay);
  justify-content: center;
  align-items: flex-end;
  padding: 12px 12px 92px;
  display: flex;
  position: fixed;
  inset: 0;
}

.radio-dock__stage {
  width: min(1040px, calc(100vw - (var(--shell-gutter) * 2)));
  justify-content: flex-end;
  align-items: flex-end;
  min-width: 0;
  display: flex;
}

.radio-dock__backdrop {
  -webkit-backdrop-filter: blur(8px);
  background: #08080a94;
  border: 0;
  position: absolute;
  inset: 0;
}

.radio-dock--open {
  background: #121214fa;
  border: 1px solid #d4ff007a;
  border-radius: 28px;
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: 12px;
  width: min(960px, 100vw - 28px);
  height: min(720px, 100vh - 112px);
  padding: 18px;
  display: grid;
  position: relative;
  overflow: hidden;
  box-shadow: 0 0 0 1px #d4ff001f, 0 0 0 8px #d4ff000a, 0 24px 60px #00000094;
}

.radio-dock__header {
  z-index: 4;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
  position: relative;
}

.radio-dock__brand {
  align-items: flex-start;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.radio-dock__logo {
  flex: none;
  display: block;
}

.radio-dock__logo--brand {
  width: 20px;
  height: 20px;
}

.radio-dock__logo--launcher {
  width: 28px;
  height: 28px;
}

.radio-dock__title {
  min-width: 0;
  font-family: var(--font-condensed), Inter, sans-serif;
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  text-overflow: ellipsis;
  margin: 0;
  font-size: 1.15rem;
  line-height: .95;
  overflow: hidden;
}

.radio-dock__header-actions {
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  display: flex;
}

.radio-dock__back {
  min-height: 38px;
  color: var(--accent);
  white-space: nowrap;
  background: #00e5ff14;
  border: 1px solid #00e5ff42;
  flex: none;
  align-items: center;
  gap: 6px;
  padding-inline: 12px;
  display: inline-flex;
}

.radio-dock__back:hover, .radio-dock__back:focus-visible {
  color: var(--accent);
  background: #00e5ff1f;
  border-color: #00e5ff6b;
  outline: none;
}

.radio-dock__close {
  box-sizing: border-box;
  width: 24px;
  min-width: 24px;
  height: 24px;
  min-height: 24px;
  color: var(--text);
  appearance: none;
  background: none;
  border: 0;
  border-radius: 999px;
  place-items: center;
  padding: 0;
  line-height: 0;
  display: inline-grid;
}

.radio-dock__close-icon {
  width: 12px;
  height: 12px;
}

.radio-dock__close:hover {
  color: var(--primary);
}

.radio-dock__close:focus-visible {
  outline-offset: 2px;
  outline: 2px solid #d4ff00b8;
}

.radio-dock__body {
  z-index: 1;
  background: #141416eb;
  border: 1px solid #d4ff0029;
  border-radius: 22px;
  min-height: 0;
  display: grid;
  position: relative;
  overflow: hidden;
}

.radio-dock__pane {
  min-height: 0;
  display: grid;
  overflow: hidden;
}

.radio-dock__pane--list {
  border-right: 1px solid #d4ff0014;
}

.radio-dock__pane--detail {
  background: #121214eb;
}

.radio-dock__detail-empty {
  place-items: center;
  min-height: 100%;
  padding: 16px;
  display: grid;
}

.radio-dock__body[data-view="list"] .radio-dock__pane--detail, .radio-dock__body[data-view="chat"] .radio-dock__pane--list {
  display: none;
}

.radio-dock__list-view, .radio-dock__chat-view {
  min-height: 0;
  display: grid;
  overflow: hidden;
}

.radio-dock__channel-list {
  grid-template-columns: 1fr;
  align-content: start;
  gap: 6px;
  padding: 6px;
  display: grid;
  overflow: auto;
}

.radio-dock__channel {
  border: 1px solid var(--border);
  background: #141416eb;
  border-radius: 11px;
  gap: 3px;
  min-width: 0;
  padding: 7px 8px;
  display: grid;
}

.radio-dock__channel--button {
  text-align: left;
  cursor: pointer;
  width: 100%;
  color: inherit;
  transition: border-color .12s, background .12s, color .12s;
}

.radio-dock__channel--button:hover {
  color: var(--text);
  background: #d4ff000d;
  border-color: #d4ff0057;
}

.radio-dock__channel-top {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.radio-dock__channel-top-left {
  flex: auto;
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: inline-flex;
}

.radio-dock__channel-title {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-size: .86rem;
  display: block;
  overflow: hidden;
}

.radio-dock__channel-bottom {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  min-width: 0;
  display: flex;
}

.radio-dock__channel strong {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  font-size: .86rem;
  display: block;
  overflow: hidden;
}

.radio-dock__channel-subtitle {
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
  color: var(--muted);
  font-size: .72rem;
  line-height: 1.2;
  display: block;
  overflow: hidden;
}

.radio-dock__channel-meta {
  flex: none;
  align-items: center;
  gap: 4px;
  display: inline-flex;
}

.radio-dock__channel-kind {
  color: var(--accent);
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: .56rem;
  font-weight: 800;
}

.radio-unread-badge {
  color: #fff;
  background: #ff3b30;
  border-radius: 999px;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 5px;
  font-size: .62rem;
  font-weight: 900;
  line-height: 1;
  display: inline-grid;
  box-shadow: 0 0 0 1px #ffffff1f, 0 0 0 3px #ff3b301f;
}

.radio-unread-badge--channel {
  flex: none;
}

.radio-unread-badge--nav {
  min-width: 16px;
  height: 16px;
  padding-inline: 4px;
  font-size: .56rem;
  position: absolute;
  top: 7px;
  right: 7px;
}

.radio-dock__chat-view {
  grid-template-rows: auto minmax(0, 1fr);
  gap: 8px;
  padding: 8px;
}

.radio-dock__empty-thread {
  margin: 0;
  padding: 10px 2px;
}

.radio-dock__chat-head {
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  display: flex;
}

.radio-dock__detail-title {
  font-family: var(--font-condensed), Inter, sans-serif;
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0;
  font-size: 1.25rem;
  line-height: 1.02;
}

.radio-dock__thread {
  align-content: start;
  gap: 8px;
  min-height: 0;
  padding-right: 4px;
  display: grid;
  overflow: auto;
}

.radio-dock__day-break {
  color: var(--label-muted);
  letter-spacing: .12em;
  text-transform: uppercase;
  align-items: center;
  gap: 10px;
  margin: 6px 0;
  font-size: .66rem;
  font-weight: 800;
  display: flex;
}

.radio-dock__day-break:before, .radio-dock__day-break:after {
  content: "";
  background: #ffffff14;
  flex: 1;
  height: 1px;
}

.radio-dock__day-break span {
  background: #ffffff0a;
  border: 1px solid #ffffff14;
  border-radius: 999px;
  padding: 4px 8px;
}

.radio-dock__message {
  gap: 4px;
  max-width: 84%;
  display: grid;
}

.radio-dock__message--right {
  text-align: right;
  justify-self: end;
}

.radio-dock__message-meta {
  color: var(--muted);
  align-items: baseline;
  gap: 4px;
  font-size: .78rem;
  display: flex;
}

.radio-dock__message--right .radio-dock__message-meta {
  justify-content: flex-end;
}

.radio-dock__message-meta strong {
  color: var(--text);
  font-size: .84rem;
}

.radio-dock__bubble {
  border: 1px solid var(--border);
  background: #141416fa;
  border-radius: 14px;
  padding: 8px 10px;
  line-height: 1.4;
}

.radio-dock__message--right .radio-dock__bubble {
  background: #d4ff001f;
  border-color: #d4ff0047;
}

.radio-dock__composer-panel {
  border-top: 1px solid #d4ff001f;
  padding: 10px 8px 8px;
}

.radio-dock__composer {
  grid-template-columns: minmax(0, 1fr) max-content;
  grid-template-rows: repeat(2, minmax(var(--touch-target), auto));
  align-items: stretch;
  gap: 8px;
  display: grid;
}

.radio-dock__composer--back-only {
  grid-template-columns: minmax(0, 1fr) max-content;
  grid-template-rows: repeat(2, minmax(var(--touch-target), auto));
}

.radio-dock__composer-input {
  min-height: calc((var(--touch-target) * 2)  + 8px);
  resize: none;
  grid-area: 1 / 1 / span 2;
  padding-top: 12px;
  padding-bottom: 12px;
}

.radio-dock__composer-actions {
  grid-area: 1 / 2 / span 2;
  align-content: stretch;
  gap: 8px;
  display: grid;
}

.radio-dock__composer-spacer {
  min-height: calc((var(--touch-target) * 2)  + 8px);
  grid-area: 1 / 1 / span 2;
}

.radio-dock__composer-actions--back-only {
  grid-area: 1 / 2 / span 2;
  justify-content: flex-end;
  align-items: center;
  display: flex;
}

.radio-dock__composer-actions .button {
  width: 100%;
}

.radio-dock__composer-actions--back-only .button {
  align-self: center;
  width: auto;
  min-width: 88px;
}

.radio-dock__back--composer {
  min-width: 88px;
}

.radio-dock__send-button {
  justify-content: center;
  align-items: center;
  gap: 6px;
  min-width: 92px;
  padding-inline: 12px;
  display: inline-flex;
}

.radio-dock__send-icon {
  flex: none;
  width: 18px;
  height: 18px;
}

@media (max-width: 960px) {
  .club-post-composer__layout, .radio-dock--open, .club-post-composer__layout {
    grid-template-columns: 1fr;
  }

  .radio-dock--open {
    width: min(600px, 100vw - 28px);
    height: min(760px, 100vh - 112px);
  }

  .radio-dock__header {
    align-items: center;
  }

  .radio-dock__brand {
    align-items: center;
    min-width: 0;
  }

  .radio-dock__header-actions {
    flex: none;
  }

  .radio-dock__chat-head {
    align-items: flex-start;
  }

  .radio-dock__message {
    max-width: 92%;
  }
}

@media (min-width: 781px) {
  .radio-dock--open {
    border-radius: 24px;
    width: min(600px, 100vw - 32px);
    height: min(640px, 100vh - 120px);
    padding: 12px;
  }

  .radio-dock__body[data-view="chat"] {
    grid-template-columns: minmax(200px, 30%) minmax(0, 1fr);
  }

  .radio-dock__body[data-view="chat"] .radio-dock__pane--list, .radio-dock__body[data-view="chat"] .radio-dock__pane--detail {
    display: grid;
  }

  .radio-dock__body[data-view="chat"] .radio-dock__channel--active, .radio-dock__body[data-view="chat"] .radio-dock__channel--unread {
    border-color: var(--primary);
    background: #d4ff0014;
    box-shadow: 0 0 0 1px #d4ff001f;
  }

  .radio-dock__pane--list {
    border-right: 1px solid #d4ff0014;
  }
}

@media (max-width: 720px) {
  .club-post-composer__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .address-autocomplete__panel, .club-post-composer__preview-card {
    padding: 10px;
  }

  .radio-dock__overlay {
    padding: 10px 8px 84px;
  }

  .radio-dock--open {
    width: calc(100vw - 16px);
  }

  .radio-dock__header-actions {
    justify-content: flex-end;
    width: auto;
  }

  .radio-dock__back--composer, .club-post-composer__actions .button, .ride-form__route-row .button {
    width: 100%;
  }

  .club-post-composer__layout {
    gap: 10px;
  }
}

.radio-dock {
  gap: 12px;
  display: grid;
}

.radio-dock--launcher {
  z-index: var(--z-radio-launcher);
  box-shadow: var(--shadow);
  background: #121214f5;
  border: 1px solid #d4ff0047;
  border-radius: 999px;
  gap: 0;
  padding: 10px 14px;
  display: grid;
  position: fixed;
  bottom: 16px;
  right: 16px;
}

.radio-dock--collapsed {
  color: #101010;
  background: var(--primary);
}

.radio-dock__label-row {
  align-items: center;
  gap: 8px;
  display: inline-flex;
}

.radio-dock__label {
  letter-spacing: .08em;
  text-transform: uppercase;
  font-size: .66rem;
  font-weight: 800;
}

/* [project]/app/admin-and-overlays.css [app-client] (css) */
.auth-modal__detail {
  color: var(--accent);
  margin: 0;
  font-size: .84rem;
  font-weight: 700;
}

.auth-modal__error {
  color: #ffb7b2;
}

.auth-modal__footer {
  justify-content: flex-start;
}

.confirm-modal__header, .confirm-modal__body, .confirm-modal__footer, .confirm-modal__footer-actions {
  gap: 8px;
  display: grid;
}

.confirm-modal__title {
  color: var(--primary);
  letter-spacing: .04em;
  text-transform: uppercase;
  margin: 0;
  font-size: 1.08rem;
  font-weight: 800;
}

.confirm-modal__summary, .confirm-modal__body-copy {
  color: var(--muted);
  margin: 0;
}

.confirm-modal__footer {
  justify-content: end;
}

.confirm-modal__footer-actions {
  grid-auto-flow: column;
  justify-content: end;
}

.club-notice-card {
  border: 1px solid var(--border);
  border-radius: var(--radius-sm);
  background: #141416e0;
  gap: 10px;
  padding: 12px 14px;
  display: grid;
  position: relative;
}

.club-notice-card--draft {
  box-shadow: none;
  background: #121214d6;
  border-color: #ffffff24;
}

.club-notice-card--draft .club-notice-card__title {
  color: #ffffffe0;
}

.club-notice-card--draft .club-notice-card__summary, .club-notice-card--draft .club-notice-card__meta {
  color: #ffffff8a;
}

.club-notice-card--published {
  background: linear-gradient(#d4ff0014, #141416eb), #141416eb;
  border-color: #d4ff0057;
  box-shadow: 0 0 0 1px #d4ff0014, 0 0 20px #d4ff001f;
}

.club-notice-card--published .club-notice-card__title {
  color: var(--primary);
}

.club-notice-card--published .club-notice-card__meta {
  color: #d4ff00cc;
}

.club-notice-card__top-actions {
  z-index: 2;
  align-items: center;
  gap: 6px;
  display: inline-flex;
  position: absolute;
  top: 10px;
  right: 10px;
}

.club-notice-card__top-edit {
  min-height: 24px;
}

.club-notice-card__toggle--pin.post-status-pill, .club-notice-card__toggle--status.post-status-pill {
  width: fit-content;
}

.club-notice-card__body {
  gap: 4px;
  min-width: 0;
  padding-right: 104px;
  display: grid;
}

.club-notice-card__title-row {
  align-items: center;
  gap: 6px;
  min-width: 0;
  display: inline-flex;
}

.club-notice-card__meta-row {
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  width: 100%;
  display: flex;
}

.club-notice-card__toggle--meta.post-status-pill {
  margin-left: auto;
}

.club-notice-card__meta {
  color: var(--muted);
  letter-spacing: .06em;
  text-transform: uppercase;
  margin: 0;
  font-size: .76rem;
  font-weight: 700;
}

.club-notice-card__title {
  color: var(--text);
  min-width: 0;
  margin: 0;
  font-weight: 800;
}

.club-notice-card__summary {
  color: var(--muted);
  margin: 0;
  line-height: 1.45;
}

.club-notice-card__footer {
  border-top: 1px solid #ffffff0f;
  justify-content: flex-end;
  padding-top: 8px;
  display: flex;
}

.post-status-pill {
  cursor: pointer;
  background: none;
  border: 0;
  flex: none;
  width: fit-content;
  padding: 0;
  display: inline-flex;
}

.post-status-pill__button {
  min-height: 24px;
  color: var(--accent);
  letter-spacing: .08em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
  background: #00e5ff1f;
  border: 1px solid #00e5ff38;
  border-radius: 999px;
  justify-content: center;
  align-items: center;
  padding: 3px 8px;
  font-size: .68rem;
  font-weight: 900;
  line-height: 1;
  display: inline-flex;
  box-shadow: 0 0 0 1px #00e5ff0a, 0 0 18px #00e5ff0f;
}

.post-status-pill--on .post-status-pill__button {
  color: var(--text);
  background: #d4ff0014;
  border-color: #d4ff0047;
}

.post-status-pill--off .post-status-pill__button {
  color: var(--muted);
  box-shadow: none;
  background: #ffffff0f;
  border-color: #ffffff14;
}

.club-notice-card__toggle--status.post-status-pill--on .post-status-pill__button {
  color: #a8b2c3;
  box-shadow: none;
  background: #94a3b814;
  border-color: #94a3b83d;
}

.club-notice-card__toggle--status.post-status-pill--off .post-status-pill__button {
  color: var(--accent);
  background: #00e5ff24;
  border-color: #00e5ff57;
  box-shadow: 0 0 0 1px #00e5ff0a, 0 0 18px #00e5ff0f;
}

.club-notice-card__toggle--status.post-status-pill--on.post-status-pill:hover .post-status-pill__button, .club-notice-card__toggle--status.post-status-pill--on.post-status-pill:focus-visible .post-status-pill__button {
  color: #a8b2c3;
  box-shadow: none;
  background: #94a3b814;
  border-color: #94a3b83d;
}

.club-notice-card__toggle--status.post-status-pill--off.post-status-pill:hover .post-status-pill__button, .club-notice-card__toggle--status.post-status-pill--off.post-status-pill:focus-visible .post-status-pill__button {
  color: var(--accent);
  background: #00e5ff24;
  border-color: #00e5ff57;
  box-shadow: 0 0 0 1px #00e5ff0a, 0 0 18px #00e5ff0f;
}

.post-status-pill--icon .post-status-pill__button {
  width: 24px;
  min-width: 24px;
  min-height: 24px;
  padding: 0;
  line-height: 0;
}

.post-status-pill--icon .notice-card-icon {
  fill: currentColor;
  width: 12px;
  height: 12px;
}

.post-status-pill:hover .post-status-pill__button, .post-status-pill:focus-visible .post-status-pill__button {
  background: #d4ff0029;
  border-color: #d4ff0066;
  outline: none;
}

.club-notice-card__toggle--status.post-status-pill:hover .post-status-pill__button, .club-notice-card__toggle--status.post-status-pill:focus-visible .post-status-pill__button {
  outline: none;
}

.post-status-pill--icon.post-status-pill--on .post-status-pill__button {
  color: var(--accent);
  background: #00e5ff24;
  border-color: #00e5ff57;
}

.post-status-pill--icon.post-status-pill--off .post-status-pill__button {
  color: #a8b2c3;
  background: #94a3b814;
  border-color: #94a3b83d;
}

.post-status-pill--icon.post-status-pill:hover .post-status-pill__button, .post-status-pill--icon.post-status-pill:focus-visible .post-status-pill__button {
  background: #00e5ff33;
  border-color: #00e5ff85;
}

.club-notice-card__toggle--pin.post-status-pill--icon.post-status-pill:hover.post-status-pill--on .post-status-pill__button, .club-notice-card__toggle--pin.post-status-pill--icon.post-status-pill:focus-visible.post-status-pill--on .post-status-pill__button {
  color: var(--accent);
  background: #00e5ff24;
  border-color: #00e5ff57;
}

.club-notice-card__toggle--pin.post-status-pill--icon.post-status-pill:hover.post-status-pill--off .post-status-pill__button, .club-notice-card__toggle--pin.post-status-pill--icon.post-status-pill:focus-visible.post-status-pill--off .post-status-pill__button {
  color: #a8b2c3;
  background: #94a3b814;
  border-color: #94a3b83d;
}

.post-status-pill:disabled {
  opacity: .62;
  cursor: default;
}

.club-notice-card__icon-button {
  border-radius: 999px;
  flex: none;
  justify-content: center;
  align-items: center;
  width: 34px;
  min-width: 34px;
  min-height: 34px;
  padding: 0;
  display: inline-flex;
}

.club-notice-card__icon-button svg {
  width: 16px;
  height: 16px;
}

.club-notice-card__icon-button--danger {
  color: #ffb7b2;
  background: #ff3b3014;
  border-color: #ff3b3038;
}

.club-notice-card__icon-button--edit {
  min-width: 34px;
}

.profile-details-grid__feature, .profile-details-list__label, .profile-details-list__value {
  display: block;
}

@media (min-width: 900px) {
  .club-notice-card__controls-row {
    gap: 8px;
  }
}

/* [project]/app/pwa-shell.css [app-client] (css) */
.site-shell, .member-shell, .admin-shell {
  width: min(var(--max-width), calc(100vw - (var(--shell-gutter) * 2)));
  padding: var(--shell-gutter) 0 calc(var(--bottom-nav-space)  + var(--shell-gutter));
}

.club-admin-shell {
  padding-bottom: calc(var(--club-admin-nav-height)  + 14px);
}

.member-shell__header {
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  display: flex;
}

.member-shell__header .shell-nav {
  justify-content: flex-end;
}

.surface-stack, .member-shell > main.surface-stack, .admin-shell > .surface-stack, .club-admin-shell, .club-admin-page {
  align-content: start;
  align-items: start;
  gap: clamp(12px, 2vw, 20px);
  display: grid;
}

.surface-grid, .surface-grid--column-flow, .profile-dashboard-grid, .admin-rides-page__tiles {
  grid-template-columns: minmax(0, 1fr);
  align-items: start;
  gap: clamp(12px, 2vw, 18px);
  display: grid;
}

.club-discovery-stack {
  align-content: start;
  gap: clamp(12px, 2vw, 18px);
  display: grid;
}

.surface-tile, .surface-card, .card, .tile, .card-panel, .auth-panel, .surface-tile__header {
  min-width: 0;
}

.surface-tile__actions, .hero-actions, .inline-actions, .tile-row__actions, .club-admin-card__footer, .admin-rides-page__actions {
  gap: 8px;
}

.button, .shell-nav__link, input, select, textarea, .post-control-button, .ride-card__participation-choice, .home-rides-panel__location-button, .club-admin-nav__item, .auth-modal__close, .confirm-modal__close, .radio-dock__back, .radio-dock__send-button {
  min-height: var(--touch-target);
}

.post-control-button {
  min-width: 44px;
}

.home-rides-panel__type-button, .ride-card__edit-button, .ride-card__gpx-button {
  min-width: auto;
  min-height: 24px;
}

.ride-card__metric-hitarea:focus-visible, .ride-card__participate-hitarea:focus-visible {
  outline-offset: 2px;
  border-radius: var(--radius-sm);
  outline: 2px solid #d4ff00b8;
}

.bottom-nav {
  bottom: calc(8px + env(safe-area-inset-bottom));
  width: min(1040px, calc(100vw - (var(--shell-gutter) * 2)));
}

.club-admin-nav {
  bottom: calc(var(--bottom-nav-stack-space)  + 8px);
  width: min(920px, calc(100vw - (var(--shell-gutter) * 2)));
}

@media (max-width: 960px), (hover: none) and (pointer: coarse) {
  .club-admin-nav {
    bottom: calc(var(--bottom-nav-stack-space)  + 4px);
    width: calc(100vw - 16px);
  }

  .club-admin-nav__item {
    min-height: 34px;
    padding: 4px 6px;
  }

  .club-admin-nav__label {
    letter-spacing: .04em;
    font-size: .58rem;
  }
}

.radio-dock__overlay {
  padding-bottom: calc(var(--bottom-nav-height)  + 24px + env(safe-area-inset-bottom));
}

.auth-modal__dialog, .confirm-modal__dialog, .radio-dock--open, .ride-card__metric-popover--portal {
  outline: none;
}

.home-rides-panel {
  align-items: start;
  gap: clamp(12px, 2vw, 18px);
  display: grid;
}

.home-rides-panel__map-frame {
  touch-action: none;
  min-height: clamp(220px, 38vh, 420px);
}

@media (min-width: 900px) {
  .home-rides-panel__map-frame {
    min-height: clamp(160px, 26vh, 300px);
  }
}

.home-rides-panel__suggestion {
  min-height: var(--touch-target);
}

.home-rides-panel__actions {
  justify-content: stretch;
}

.home-rides-panel__actions .button {
  width: 100%;
}

.empty-state {
  margin: 0;
}

.ride-card-grid {
  grid-template-columns: minmax(0, 1fr);
  gap: clamp(10px, 1.6vw, 14px);
  display: grid;
}

.ride-card {
  min-width: 0;
}

@media (min-width: 900px) {
  .surface-grid, .surface-grid--column-flow, .profile-dashboard-grid, .admin-rides-page__tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .surface-grid--primary-secondary {
    grid-template-columns: minmax(0, 1.15fr) minmax(320px, .85fr);
  }

  .surface-grid--secondary-primary {
    grid-template-columns: minmax(320px, .85fr) minmax(0, 1.15fr);
  }

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

@media (max-width: 720px) {
  .site-shell, .member-shell, .admin-shell {
    width: calc(100vw - 16px);
    padding-top: 8px;
  }

  .surface-tile, .surface-card, .card, .tile, .card-panel, .auth-panel {
    padding: 12px;
  }

  .surface-tile--hero .surface-tile__title {
    font-size: clamp(1.65rem, 8.5vw, 2.5rem);
  }

  .surface-tile__header {
    gap: 10px;
    display: grid;
  }

  .surface-tile__actions, .hero-actions, .inline-actions, .tile-row__actions, .surface-tile__actions .button, .hero-actions .button, .inline-actions .button, .tile-row__actions .button {
    width: 100%;
  }

  .bottom-nav {
    border-radius: 22px;
    width: calc(100vw - 16px);
  }

  .club-admin-nav {
    width: calc(100vw - 16px);
  }

  .bottom-nav__label {
    letter-spacing: .045em;
    font-size: clamp(.47rem, 2.2vw, .58rem);
    display: block;
  }

  .bottom-nav__item {
    min-height: calc(var(--touch-target)  + 10px);
    gap: 3px;
  }

  .home-rides-panel__map-frame {
    min-height: clamp(112px, 22vh, 184px);
  }

  .home-rides-panel__search-field {
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 6px;
  }

  .home-rides-panel__search-field input {
    min-height: 38px;
    padding-block: 8px;
  }

  .home-rides-panel__location-button {
    letter-spacing: .08em;
    min-height: 38px;
    padding-block: 0;
    padding-inline: 10px;
    font-size: clamp(.58rem, 2vw, .66rem);
  }

  .home-rides-panel__location-label--full {
    display: none;
  }

  .home-rides-panel__location-label--short {
    display: inline;
  }

  .home-rides-panel__type-buttons {
    flex-wrap: wrap;
    display: flex;
  }

  .radio-dock--open {
    width: calc(100vw - 16px);
    height: min(760px, calc(100dvh - var(--bottom-nav-height)  - 32px - env(safe-area-inset-bottom)));
  }
}

.pwa-status-banner {
  left: 50%;
  top: calc(8px + env(safe-area-inset-top));
  z-index: var(--z-status-banner);
  width: min(720px, 100vw - 16px);
  color: var(--text);
  box-shadow: var(--shadow);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background: #121214f5;
  border: 1px solid #d4ff0057;
  border-radius: 999px;
  align-items: center;
  gap: 10px;
  padding: 10px 14px;
  display: flex;
  position: fixed;
  transform: translateX(-50%);
}

.pwa-status-banner strong {
  color: var(--primary);
  letter-spacing: .12em;
  text-transform: uppercase;
  white-space: nowrap;
  font-size: .72rem;
  font-weight: 900;
}

.pwa-status-banner span {
  color: var(--muted);
  font-size: .84rem;
  line-height: 1.35;
}

@media (max-width: 720px) {
  .pwa-status-banner {
    border-radius: 18px;
    align-items: flex-start;
  }
}

@media (max-width: 390px) {
  .home-rides-panel__location-button {
    width: 38px;
    min-height: 38px;
    padding-inline: 0;
  }

  .home-rides-panel__location-label--short {
    display: none;
  }
}

/*# sourceMappingURL=%5Broot-of-the-server%5D__ac6415e9._.css.map*/