body.app-view {
  --vc-page-max-width: 70rem;
  --vc-page-inline-gutter: var(--vc-space-3xl);
  --vc-page-block-start: 2.5rem;
  --vc-page-section-gap: var(--vc-space-xl);
  --vc-pane-inline-gutter: var(--vc-space-lg);
  --vc-list-toolbar-top: var(--vc-space-xl);
  --vc-list-toolbar-height: var(--vc-control-height);
  display: grid;
  grid-template-columns: 14.75rem minmax(0, 1fr);
  min-height: 100vh;
  margin: 0;
  background: var(--vc-surface);
  font-size: var(--vc-font-body);
  line-height: 1.5;
}

.app-view #app-sidebar {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  position: sticky;
  top: 0;
  height: 100vh;
  padding: var(--vc-space-md);
  border-right: var(--vc-border-width) solid var(--vc-line-strong);
  background: var(--vc-sidebar);
}
.app-view .sidebar-mark { display: grid; place-items: center; width: 1.4375rem; height: 1.4375rem; border-radius: var(--vc-radius-small); background: var(--vc-mark-bg); color: var(--vc-on-accent); font-size: var(--vc-font-body); font-weight: 720; }
.app-view .club-switcher { position: relative; }
.app-view .club-switcher > summary { display: flex; align-items: center; gap: var(--vc-space-sm); min-height: var(--vc-control-height); padding: var(--vc-space-xs) var(--vc-space-sm); border-radius: var(--vc-radius-control); cursor: pointer; list-style: none; }
.app-view .club-switcher > summary::-webkit-details-marker { display: none; }
.app-view .club-switcher > summary:hover, .app-view .club-switcher[open] > summary { background: var(--vc-hover); }
.app-view .club-switcher > summary strong { flex: 1; min-width: 0; overflow: hidden; font-size: var(--vc-font-body); font-weight: 650; letter-spacing: -.015em; text-overflow: ellipsis; white-space: nowrap; }
.app-view .club-switcher > summary::after { flex: none; width: var(--vc-control-icon-size); height: var(--vc-control-icon-size); background: var(--vc-chevron-icon) center / contain no-repeat; content: ''; }
.app-view .club-switcher-menu { position: absolute; z-index: 20; top: calc(100% + var(--vc-space-xs)); left: 0; width: max(13.75rem, 100%); max-width: calc(100vw - 1.875rem); padding: var(--vc-space-xs); border: var(--vc-border-width) solid var(--vc-line-strong); border-radius: var(--vc-radius-menu); background: var(--vc-surface); box-shadow: var(--vc-shadow-menu); }
.app-view .club-switcher-menu a { display: block; overflow: hidden; padding: var(--vc-space-sm); border-radius: var(--vc-radius-small); color: var(--vc-text); font-size: var(--vc-font-small); text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
.app-view .club-switcher-menu a:hover { background: var(--vc-sidebar); }
.app-view .club-switcher-menu a[aria-current="true"] { background: var(--vc-selection); color: var(--vc-accent); font-weight: 650; }
.app-view #page-nav { display: grid; gap: var(--vc-space-2xs); margin-top: var(--vc-space-sm); }
.app-view #page-nav a { padding: var(--vc-space-sm) var(--vc-space-md); border-radius: var(--vc-radius-control); color: var(--vc-nav-text); font-size: var(--vc-font-control); font-weight: 540; text-decoration: none; }
.app-view #page-nav a:hover { background: var(--vc-hover); }
.app-view #page-nav a[aria-current="page"] { background: var(--vc-selection); color: var(--vc-selection-text); font-weight: 650; }
.app-view .sidebar-nav-group { display: grid; gap: var(--vc-space-2xs); margin-top: var(--vc-space-sm); }
.app-view .sidebar-nav-group[hidden] { display: none; }
.app-view .sidebar-nav-group h2 { margin: 0 0 var(--vc-space-2xs); padding: 0 var(--vc-space-md); color: var(--vc-quiet); font-size: var(--vc-font-caption); font-weight: 700; letter-spacing: .095em; text-transform: uppercase; }
.app-view .sidebar-nav-group a { padding-left: 1.25rem; }
.app-view #account-section { margin: auto calc(-1 * var(--vc-space-md)) 0; padding: 0.9375rem calc(var(--vc-space-md) + 0.625rem) 0; border-top: var(--vc-border-width) solid var(--vc-line-strong); }
.app-view .sidebar-person { display: flex; align-items: center; gap: var(--vc-space-sm); min-width: 0; padding: var(--vc-space-xs); border-radius: var(--vc-radius-control); color: var(--vc-text); text-decoration: none; }
.app-view .sidebar-person:hover, .app-view .sidebar-person[aria-current="page"] { background: var(--vc-hover); }
.app-view #account-avatar { flex: none; display: grid; place-items: center; width: 1.9375rem; height: 1.9375rem; border: var(--vc-border-width) solid var(--vc-avatar-border); border-radius: 50%; background: var(--vc-avatar-bg); color: var(--vc-avatar-text); font-size: var(--vc-font-caption); font-weight: 700; }
.app-view .sidebar-person-copy { display: grid; min-width: 0; }
.app-view .sidebar-person strong, .app-view .sidebar-person-copy span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-view .sidebar-person strong { font-size: var(--vc-font-small); font-weight: 650; }
.app-view #account-email { color: var(--vc-secondary); font-size: var(--vc-font-meta); }

.app-view > main { grid-column: 2; grid-row: 1; width: min(100%, var(--vc-page-max-width)); min-width: 0; padding: var(--vc-page-block-start) var(--vc-page-inline-gutter) 5.625rem; }
.app-view #workspace-heading { margin-bottom: var(--vc-page-section-gap); }
.app-view #workspace-title { margin: 0; font-size: var(--vc-font-page-title); font-weight: 650; letter-spacing: -.04em; line-height: 1.15; }
.app-view #club-directory-section { margin-bottom: var(--vc-space-lg); padding: var(--vc-space-sm) 0; border-top: var(--vc-border-width) solid var(--vc-line); border-bottom: var(--vc-border-width) solid var(--vc-line); }
.app-view #club-list { display: flex; flex-wrap: wrap; gap: var(--vc-space-xs); margin: 0; padding: 0; list-style: none; }
.app-view #club-list li { margin: 0; padding: 0; border: 0; }
.app-view #club-list button { min-height: 1.75rem; padding: 0.1875rem 0.5625rem; border: var(--vc-border-width) solid var(--vc-line-strong); border-radius: var(--vc-radius-small); background: var(--vc-surface); color: var(--vc-control-text); font-size: var(--vc-font-compact); font-weight: 560; cursor: pointer; }
.app-view #club-list button[aria-pressed="true"] { border-color: var(--vc-selection-line); background: var(--vc-selection); color: var(--vc-selection-text-strong); }
.app-view #club-list button:hover { border-color: var(--vc-selection-line-hover); }
.app-view #club-list:empty::after { content: 'No clubs yet'; color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view #profile-page > section, .app-view #profile-page > details { padding: var(--vc-page-section-gap) 0; border-bottom: var(--vc-border-width) solid var(--vc-line); }
.app-view #profile-page > section:first-child { padding-top: var(--vc-space-sm); }
.app-view #profile-email { margin: 0 0 0.875rem; color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .profile-actions { display: flex; gap: var(--vc-space-sm); }
.app-view #selected-club-name { display: none; }

.app-view #selected-club-section, .app-view #member-section, .app-view #staff-page, .app-view #policies-page, .app-view #settings-page, .app-view #requests-page, .app-view #schedule-page, .app-view #training-page, .app-view #updates-page, .app-view #practices-page, .app-view #poles-page, .app-view #pole-requests-page, .app-view #pole-pickups-page, .app-view #request-poles-page, .app-view #pole-pickup-page, .app-view #pole-request-history-page { min-width: 0; }
.app-view .updates-preview { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--vc-space-2xs); width: 100%; padding: var(--vc-space-md); border: 0; border-bottom: var(--vc-border-width) solid var(--vc-line); background: transparent; color: var(--vc-text); font: inherit; text-align: left; cursor: pointer; }
.app-view .updates-preview:hover { background: var(--vc-row-hover); }
.app-view .updates-preview[aria-pressed='true'], .app-view .updates-preview[aria-pressed='true']:hover { background: var(--vc-selection); }
.app-view .updates-preview:focus-visible { outline: 0.125rem solid var(--vc-focus); outline-offset: -0.125rem; }
.app-view .updates-preview-top { display: flex; align-items: baseline; justify-content: space-between; gap: var(--vc-space-sm); min-width: 0; }
.app-view .updates-preview-title { min-width: 0; overflow: hidden; font-weight: 650; text-overflow: ellipsis; white-space: nowrap; }
.app-view .updates-preview time { flex: none; color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .updates-preview-meta { color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .updates-preview-excerpt { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.app-view .updates-detail { display: flex; flex-direction: column; }
.app-view .updates-detail-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--vc-space-sm); padding: var(--vc-space-md) var(--vc-space-lg); border-bottom: var(--vc-border-width) solid var(--vc-line); }
.app-view .updates-detail-heading h2 { margin: 0; font-size: var(--vc-font-section); font-weight: 650; }
.app-view .updates-feed { display: grid; align-content: start; flex: 1; min-height: 0; padding: var(--vc-space-lg); overflow-y: auto; overscroll-behavior: contain; }
.app-view .updates-practice { display: grid; align-content: start; width: 100%; }
.app-view .updates-practice-heading { display: grid; gap: var(--vc-space-2xs); min-width: 0; }
.app-view .updates-practice-heading p { margin: 0; color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .updates-practice-heading time { color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .updates-message-timeline { display: grid; align-content: start; width: 100%; }
.app-view .updates-message { display: grid; justify-items: start; gap: var(--vc-space-xs); min-width: 0; }
.app-view .updates-message-meta { display: flex; align-items: center; gap: var(--vc-space-xs); color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .updates-plan-card { width: min(100%, 32rem); padding: var(--vc-space-md) var(--vc-space-lg); border: var(--vc-border-width) solid var(--vc-line-strong); border-radius: var(--vc-radius-menu); background: var(--vc-surface); }
.app-view .updates-plan-card > header { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--vc-space-sm); margin-bottom: var(--vc-space-sm); }
.app-view .updates-plan-card-heading { display: grid; gap: var(--vc-space-2xs); }
.app-view .updates-plan-card h3 { margin: 0; font-size: var(--vc-font-small); font-weight: 650; }
.app-view .updates-plan-card-heading time { color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .updates-plan-card > p { margin: 0; color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .updates-plan-items { display: grid; gap: var(--vc-space-sm); margin: 0; padding-left: var(--vc-space-xl); font-size: var(--vc-font-small); }
.app-view .updates-plan-items p { margin: var(--vc-space-xs) 0 0; color: var(--vc-secondary); white-space: pre-wrap; }
.app-view .updates-note-meta { margin: 0; color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .updates-note-bubble { max-width: min(100%, 32rem); padding: var(--vc-space-md) var(--vc-space-lg); border-radius: var(--vc-radius-panel) var(--vc-radius-panel) var(--vc-radius-panel) var(--vc-radius-small); background: var(--vc-sidebar); }
.app-view .updates-note-text { margin: 0; font-size: var(--vc-font-body); white-space: pre-wrap; overflow-wrap: anywhere; }
.app-view .updates-history-dialog { width: min(35rem, calc(100vw - 1.5rem)); max-height: calc(100vh - 2rem); padding: var(--vc-space-xl); overflow-y: auto; }
.app-view .updates-history-context { margin: 0 0 var(--vc-space-lg); color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .updates-history-list { display: grid; gap: var(--vc-space-lg); margin: 0; padding-left: var(--vc-space-xl); }
.app-view .updates-history-list > li + li { padding-top: var(--vc-space-lg); border-top: var(--vc-border-width) solid var(--vc-line); }
.app-view .updates-history-list .updates-note-text { margin-top: var(--vc-space-xs); }
.app-view .updates-history-list .updates-plan-card { margin-top: var(--vc-space-sm); }
.app-view .updates-conversation-action { display: flex; justify-content: center; margin-top: var(--vc-space-xl); }
.app-view.vc-full-height-workspace { height: 100dvh; min-height: 0; overflow: hidden; }
.app-view.vc-full-height-workspace > main { display: flex; flex-direction: column; width: 100%; height: 100dvh; min-height: 0; padding: 0; overflow: hidden; }
.app-view.vc-full-height-workspace #workspace-heading { flex: none; margin: 0; padding: var(--vc-space-xl) var(--vc-page-inline-gutter); border-bottom: var(--vc-border-width) solid var(--vc-line-strong); }
.app-view.vc-full-height-workspace #selected-club-section:not([hidden]),
.app-view.vc-full-height-workspace #member-section:not([hidden]),
.app-view.vc-full-height-workspace :is(#conversations-page, #updates-page, #practice-workspace-page, #leave-update-page):not([hidden]) { display: flex; flex: 1; flex-direction: column; min-height: 0; }
.app-view .practice-workspace-heading { display: flex; align-items: center; gap: var(--vc-space-lg); padding: var(--vc-space-sm) var(--vc-page-inline-gutter); border-bottom: var(--vc-border-width) solid var(--vc-line); }
.app-view .practice-workspace-heading span { color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .practice-workspace-layout { min-height: 0; }
.app-view .practice-workspace-detail { display: flex; flex-direction: column; }
.app-view .practice-workspace-detail[hidden] { display: none; }
.app-view .practice-workspace-content { display: grid; align-content: start; gap: var(--vc-space-lg); min-height: 0; padding: var(--vc-space-lg); overflow-y: auto; }
.app-view .practice-workspace-plan { display: grid; gap: var(--vc-space-md); }
.app-view .practice-workspace-plan .training-items-heading { margin: 0; }
.app-view .practice-workspace-plan .updates-plan-items { padding-left: var(--vc-space-xl); }
.app-view .practice-workspace-muted, .app-view .practice-workspace-roster-meta { margin: 0; color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .vc-split-workspace { display: grid; grid-template-columns: minmax(12rem, 18rem) minmax(0, 1fr); flex: 1; min-height: 0; background: var(--vc-surface); overflow: hidden; }
.app-view .vc-split-workspace__list { min-height: 0; border-right: var(--vc-border-width) solid var(--vc-line); overflow-y: auto; overscroll-behavior: contain; }
.app-view .vc-split-workspace__detail { min-width: 0; min-height: 0; }
.app-view .conversations-list-item { display: grid; gap: var(--vc-space-2xs); width: 100%; padding: var(--vc-space-md); border: 0; border-bottom: var(--vc-border-width) solid var(--vc-line); background: transparent; color: var(--vc-text); font: inherit; text-align: left; cursor: pointer; }
.app-view .conversations-list-item:hover, .app-view .conversations-list-item[aria-pressed='true'] { background: var(--vc-selection); }
.app-view .conversations-list-item:focus-visible { outline-offset: -0.1875rem; }
.app-view .conversations-list-item time { color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .conversations-empty { margin: var(--vc-space-lg); color: var(--vc-secondary); }
.app-view .conversations-thread { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.app-view .conversations-thread-heading { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, auto) minmax(0, 1fr); align-items: center; gap: var(--vc-space-sm); padding: var(--vc-space-md) var(--vc-space-lg); border-bottom: var(--vc-border-width) solid var(--vc-line); }
.app-view .conversations-thread-heading h2 { grid-column: 2; min-width: 0; margin: 0; overflow: hidden; font-size: var(--vc-font-section); text-align: center; text-overflow: ellipsis; white-space: nowrap; }
.app-view .conversations-thread-heading .vc-message-time-toggle { grid-column: 3; justify-self: end; }
.app-view .conversations-messages { display: grid; align-content: start; gap: 0; flex: 1; min-height: 0; padding: var(--vc-space-lg); overflow-y: auto; overscroll-behavior: contain; }
.app-view .conversations-message { display: grid; justify-items: start; gap: var(--vc-space-xs); min-width: 0; }
.app-view .conversations-message--mine { justify-items: end; }
.app-view .conversations-text-bubble { max-width: min(100%, 32rem); margin: 0; padding: var(--vc-space-md) var(--vc-space-lg); border-radius: var(--vc-radius-panel); background: var(--vc-sidebar); white-space: pre-wrap; overflow-wrap: anywhere; }
.app-view .conversations-message--mine .conversations-text-bubble { background: var(--vc-selection); }
.app-view .conversations-form { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: end; gap: var(--vc-space-sm); width: 100%; max-width: none; padding: var(--vc-space-md) var(--vc-space-lg); border-top: var(--vc-border-width) solid var(--vc-line); }
.app-view .conversations-form[hidden] { display: none; }
.app-view .conversations-attachment-preview { display: flex; grid-column: 1 / -1; }
.app-view .conversations-attachment-preview[hidden] { display: none; }
.app-view .conversations-attachment-preview .vc-update-reference { flex: 0 1 auto; }
.app-view .conversations-form textarea { display: block; width: 100%; min-height: var(--vc-control-height); max-height: 12rem; resize: none; }
.app-view .conversations-form > button { margin-top: 0; }
@media (max-width: 45rem) {
  .app-view .vc-split-workspace { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); }
  .app-view .vc-split-workspace__list { display: flex; min-height: 0; overflow-x: auto; overflow-y: hidden; border-right: 0; border-bottom: var(--vc-border-width) solid var(--vc-line); }
  .app-view .updates-preview { flex: 0 0 11rem; border-right: var(--vc-border-width) solid var(--vc-line); border-bottom: 0; }
  .app-view .conversations-list-item { flex: 0 0 11rem; border-right: var(--vc-border-width) solid var(--vc-line); border-bottom: 0; }
}
.app-view .updates-empty { margin: var(--vc-space-lg); color: var(--vc-secondary); font-size: var(--vc-font-body); }
.app-view .practice-note-heading { display: flex; align-items: center; justify-content: space-between; gap: var(--vc-space-sm); }
.app-view .practice-note-revisions { display: grid; gap: var(--vc-space-md); padding-left: var(--vc-space-xl); }
.app-view .practice-note-revisions p { white-space: pre-wrap; }
.app-view .leave-update-layout { min-height: 0; }
.app-view .leave-update-layout--practice-selected { grid-template-columns: minmax(12rem, 17rem) minmax(12rem, 17rem) minmax(0, 1fr); }
.app-view .leave-update-detail { display: flex; flex-direction: column; min-width: 0; min-height: 0; }
.app-view .leave-update-detail > .vc-inline-error { margin: var(--vc-space-lg); }
.app-view .leave-update-content { display: grid; align-content: start; gap: var(--vc-space-sm); flex: 1; min-height: 0; padding: var(--vc-space-lg); overflow-y: auto; overscroll-behavior: contain; }
.app-view .leave-update-content[hidden] { display: none; }
.app-view .leave-update-plan-summary { display: -webkit-box; overflow: hidden; color: var(--vc-secondary); font-size: var(--vc-font-small); -webkit-box-orient: vertical; -webkit-line-clamp: 2; }
.app-view #leave-update-plan { display: grid; justify-items: start; gap: var(--vc-space-xs); }
.app-view #leave-update-plan > .vc-message-time-divider { width: 100%; }
.app-view .leave-update-plan-status { margin: 0; color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .leave-update-message-actions { display: flex; flex-wrap: wrap; gap: var(--vc-space-xs); }
.app-view .leave-update-composer { display: grid; gap: var(--vc-space-sm); padding: var(--vc-space-md) var(--vc-space-lg); border-top: var(--vc-border-width) solid var(--vc-line); }
.app-view .leave-update-composer textarea { width: 100%; min-height: 4rem; max-height: 10rem; resize: vertical; }
.app-view .leave-update-composer .practice-note-heading h3 { margin: 0; font-size: var(--vc-font-body); font-weight: 650; }
.app-view .leave-update-note-actions { display: flex; justify-content: flex-end; gap: var(--vc-space-sm); }
.app-view .leave-update-composer .practice-note-revisions { max-height: 8rem; overflow-y: auto; }
@media (max-width: 70rem) and (min-width: 45.001rem) {
  .app-view .leave-update-layout--practice-selected { grid-template-columns: minmax(10rem, 13rem) minmax(10rem, 13rem) minmax(0, 1fr); }
}
@media (max-width: 45rem) {
  .app-view .leave-update-layout, .app-view .leave-update-layout--practice-selected { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto auto minmax(0, 1fr); }
  .app-view .leave-update-layout > .vc-split-workspace__list { min-height: 0; }
  .app-view .leave-update-layout > .vc-split-workspace__list:not([hidden]) { display: flex; }
  .app-view .leave-update-layout .conversations-list-item { flex: 0 0 11rem; }
}
.app-view .training-toolbar { margin-top: 0; }
.app-view .training-range { flex-wrap: wrap; gap: var(--vc-space-sm); }
.app-view .training-range .vc-input { width: 8.5rem; }
.app-view .training-athlete-choice { max-width: 18rem; margin: var(--vc-space-xl) 0; }
.app-view .training-athlete-choice .vc-select { width: 100%; }
.app-view .training-grid-scroll { max-width: 100%; overflow: auto; }
.app-view .training-grid-scroll .vc-data-table { width: max-content; min-width: 100%; }
.app-view .training-grid-scroll th:first-child, .app-view .training-grid-scroll td:first-child { position: sticky; left: 0; z-index: 1; min-width: 10rem; background: var(--vc-surface); }
.app-view .training-grid-scroll th:first-child { z-index: 3; }
.app-view .training-grid-scroll td { max-width: 12rem; }
.app-view .training-grid-cell-content { display: flex; align-items: center; width: 100%; max-width: 11rem; }
.app-view .training-grid-cell { display: block; flex: 1; min-width: 0; padding: var(--vc-space-xs) var(--vc-space-sm); border: 0; border-radius: var(--vc-radius-small); background: transparent; color: var(--vc-text); font: inherit; text-align: left; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; cursor: pointer; }
.app-view .training-grid-cell:hover { background: var(--vc-hover); }
.app-view .training-grid-cell:focus-visible { outline: 0.125rem solid var(--vc-focus); }
.app-view .training-grid-full { visibility: hidden; }
.app-view .training-grid-scroll td:hover .training-grid-full,
.app-view .training-grid-cell:focus-visible + .training-grid-full,
.app-view .training-grid-full:focus-visible { visibility: visible; }
.app-view > main:has(#training-page:not([hidden]) #training-editor:not([hidden])) { width: 100%; }
.app-view #training-layout > .vc-list-panel-layout__list { max-width: none; min-width: 0; }
.app-view .training-plan-panel { gap: var(--vc-space-md); padding-top: var(--vc-space-md); }
.app-view .training-plan-panel .vc-side-panel__header { margin-bottom: var(--vc-space-sm); }
.app-view .training-plan-panel #training-leave-update { margin-inline-end: auto; }
.app-view .training-plan-panel textarea { width: 100%; min-height: 4rem; }
.app-view .training-plan-panel .schedule-dialog-actions { flex-wrap: wrap; margin-top: var(--vc-space-xl); }
.app-view .training-plan-summary { display: flex; align-items: flex-start; gap: var(--vc-space-sm); }
.app-view .training-plan-summary .training-work-selected { flex: 1; min-width: 0; }
.app-view .training-work-popover .vc-popover__body { padding: var(--vc-space-md); }
.app-view .training-work-popover .vc-popover__heading { margin-bottom: var(--vc-space-sm); }
.app-view .training-work-popover > .vc-popover__body > .vc-input { width: 100%; }
.app-view .training-work-choices { display: flex; flex-wrap: wrap; align-content: flex-start; gap: var(--vc-space-2xs); max-height: 11rem; margin-top: var(--vc-space-sm); overflow-y: auto; }
.app-view .training-work-choice { flex: 0 1 auto; max-width: 100%; padding: var(--vc-space-xs) var(--vc-space-sm); border: 0; border-radius: var(--vc-radius-small); background: transparent; color: var(--vc-text); font: inherit; text-align: left; overflow-wrap: anywhere; cursor: pointer; }
.app-view .training-work-choice:hover, .app-view .training-work-choice:focus-visible { background: var(--vc-hover); }
.app-view .training-work-selected { display: flex; flex-wrap: wrap; align-items: center; align-content: flex-start; gap: var(--vc-space-xs); max-height: 8rem; overflow-y: auto; }
.app-view .training-work-selected:empty { display: none; }
.app-view .training-quick-add .training-work-selected:not(:empty) { margin-bottom: var(--vc-space-md); }
.app-view .training-work-item { display: inline-flex; align-items: center; gap: var(--vc-space-xs); max-width: 100%; font-size: var(--vc-font-small); }
.app-view .training-work-item-arrow { flex: none; }
.app-view .training-work-item-button { min-width: 0; max-width: 100%; padding: 0; border: 0; background: transparent; color: var(--vc-text); font: inherit; text-align: left; overflow-wrap: anywhere; cursor: pointer; }
.app-view .training-work-item-button--remove:hover, .app-view .training-work-item-button--remove:focus-visible { text-decoration: line-through; }
.app-view .training-work-item-button--edit:hover, .app-view .training-work-item-button--edit:focus-visible { color: var(--vc-accent); }
.app-view .training-work-item-button--edit[aria-pressed="true"] { color: var(--vc-accent); text-decoration: underline; text-underline-offset: var(--vc-space-2xs); }
.app-view .training-work-item-button:focus-visible { outline: 0.125rem solid var(--vc-focus); outline-offset: var(--vc-space-2xs); }
.app-view .training-plan-panel .training-work-item-button--edit { padding: var(--vc-space-xs) var(--vc-space-sm); border: var(--vc-border-width) solid var(--vc-line-strong); border-radius: var(--vc-radius-small); }
.app-view .training-plan-panel .training-work-item-button--edit:hover { border-color: var(--vc-border-hover); }
.app-view .training-plan-panel .training-work-item-button--edit[aria-pressed="true"] { border-color: var(--vc-selection-line-hover); text-decoration: none; }
.app-view .training-plan-panel .training-work-item-button--edit[draggable="true"] { cursor: grab; }
.app-view .training-plan-panel .training-work-item-button--edit[draggable="true"]:active { cursor: grabbing; }
.app-view .training-plan-panel .training-work-item-button--dragging { opacity: .45; }
.app-view .training-plan-panel .training-work-item-button--edit.training-work-item-button--drop-target { border-color: var(--vc-accent); }
.app-view .training-work-create { display: inline-flex; align-items: center; gap: var(--vc-space-xs); color: var(--vc-accent); }
.app-view .training-work-create svg { display: block; flex: none; width: var(--vc-control-icon-size); height: var(--vc-control-icon-size); fill: none; stroke: currentColor; stroke-width: 1.7; stroke-linecap: round; }
.app-view .training-work-create span { min-width: 0; overflow-wrap: anywhere; }
.app-view .training-editor { width: min(34rem, calc(100vw - 1.5rem)); max-height: calc(100vh - 2rem); padding: var(--vc-space-xl); overflow-y: auto; }
.app-view .training-editor .schedule-dialog-header { margin-bottom: var(--vc-space-lg); }
.app-view .training-editor textarea { width: 100%; min-height: 4rem; }
.app-view .training-items-heading { display: flex; align-items: center; justify-content: space-between; margin-top: var(--vc-space-lg); }
.app-view .training-items-heading h3 { margin: 0; font-size: var(--vc-font-body); }
.app-view .training-item-detail { display: grid; gap: var(--vc-space-md); padding-top: var(--vc-space-lg); border-top: var(--vc-border-width) solid var(--vc-line); }
.app-view .training-item-detail .vc-input { width: 100%; }
.app-view .training-item-name-row { display: flex; align-items: center; gap: var(--vc-space-sm); }
.app-view .training-item-name-row .vc-input { flex: 1; min-width: 0; width: auto; }
.app-view .training-history { margin-top: var(--vc-space-lg); padding-top: var(--vc-space-sm); border-top: var(--vc-border-width) solid var(--vc-line); font-size: var(--vc-font-small); }
.app-view .training-plan-panel .training-history { margin-top: 0; }
.app-view .training-plan-panel #training-history-button[aria-expanded="true"] { background: var(--vc-selection); color: var(--vc-accent); }
.app-view .training-history p { margin: var(--vc-space-sm) 0; }
.app-view .training-editor .schedule-dialog-actions { margin-top: var(--vc-space-xl); }
.app-view #training-library-dialog .inventory-table-wrap { margin-top: var(--vc-space-xl); max-height: 16rem; overflow: auto; }
.app-view > main:has(#schedule-page:not([hidden])) { width: 100%; }
.app-view .schedule-dialog { width: min(32rem, calc(100vw - 1.5rem)); max-width: calc(100vw - 1.5rem); max-height: calc(100vh - 2rem); padding: var(--vc-space-xl); overflow-y: auto; }
.app-view #schedule-layout[hidden] { display: none; }
.app-view #schedule-layout > .vc-list-panel-layout__list { max-width: none; }
.app-view .schedule-details-panel { padding-top: var(--vc-space-sm); }
.app-view .schedule-details-panel .vc-side-panel__header { margin-bottom: var(--vc-space-xl); }
.app-view .schedule-details-panel .schedule-dialog-actions { flex-wrap: wrap; }
.app-view .schedule-roster-list { margin: 0; padding: 0; list-style: none; }
.app-view .schedule-roster-list li { border-bottom: var(--vc-border-width) solid var(--vc-line); font-size: var(--vc-font-small); }
.app-view .schedule-roster-list li:last-child { border-bottom: 0; }
.app-view .schedule-roster-link { display: flex; align-items: baseline; justify-content: space-between; gap: var(--vc-space-md); width: 100%; padding: var(--vc-space-sm) var(--vc-space-xs); border: 0; background: transparent; color: var(--vc-text); font: inherit; text-align: left; text-decoration: none; cursor: pointer; }
.app-view .schedule-roster-link:hover { background: var(--vc-row-hover); }
.app-view .schedule-roster-link:focus-visible { outline: 0.125rem solid var(--vc-focus); outline-offset: -0.125rem; }
.app-view .schedule-roster-link > :first-child { min-width: 0; overflow-wrap: anywhere; }
.app-view .schedule-roster-status { max-width: 55%; color: var(--vc-secondary); text-align: right; }
.app-view #schedule-practice-roster-empty, .app-view #schedule-practice-roster-loading { margin: 0; color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .schedule-detail-fields { display: grid; grid-template-columns: 4rem minmax(0, 1fr); gap: var(--vc-space-md) var(--vc-space-lg); margin: 0 0 var(--vc-space-xl); font-size: var(--vc-font-body); }
.app-view .schedule-detail-fields dt { color: var(--vc-secondary); }
.app-view .schedule-detail-fields dd { margin: 0; }
.app-view .schedule-details-more { margin: 0 0 var(--vc-space-xl); }
.app-view .schedule-details-more summary { width: fit-content; color: var(--vc-accent); cursor: pointer; font-size: var(--vc-font-body); }
.app-view .schedule-details-more .schedule-detail-fields { margin: var(--vc-space-lg) 0; }
.app-view #schedule-details-description { margin: var(--vc-space-lg) 0 0; white-space: pre-wrap; font-size: var(--vc-font-body); }
.app-view .schedule-detail-section { margin: 0 0 var(--vc-space-xl); padding: var(--vc-space-lg) 0; border-top: var(--vc-border-width) solid var(--vc-line); border-bottom: var(--vc-border-width) solid var(--vc-line); }
.app-view .schedule-detail-section h3 { margin: 0 0 var(--vc-space-sm); font-size: var(--vc-font-body); font-weight: 650; }
.app-view #schedule-page .inventory-toolbar { margin-bottom: var(--vc-space-sm); }
.app-view .schedule-period { margin: 0; font-size: var(--vc-font-dialog-title); font-weight: 650; letter-spacing: -.015em; }
.app-view .schedule-period-controls { display: flex; align-items: center; }
.app-view .schedule-nav-arrow--prev svg { transform: rotate(90deg); }
.app-view .schedule-nav-arrow--next svg { transform: rotate(-90deg); }
.app-view .schedule-toolbar-actions { gap: var(--vc-space-md); }
.app-view #schedule-calendar { min-width: 0; }
.app-view .schedule-warning { margin-top: var(--vc-space-md); color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .schedule-series-page { min-width: 0; }
.app-view .schedule-series-heading { display: flex; align-items: center; gap: var(--vc-space-xl); margin-bottom: var(--vc-page-section-gap); }
.app-view .schedule-series-heading h2 { margin: 0; font-size: var(--vc-font-dialog-title); }
.app-view .schedule-series-heading .vc-link { display: inline-flex; align-items: center; padding: 0; border: 0; background: transparent; cursor: pointer; }
.app-view .schedule-series-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--vc-space-xl); align-items: start; }
.app-view .schedule-series-layout:has(> .schedule-series-form:not([hidden])) { grid-template-columns: minmax(0, 1fr) minmax(18rem, 23rem); }
.app-view .schedule-series-list { min-width: 0; }
.app-view .schedule-series-form { min-width: 0; padding: var(--vc-space-lg); border: var(--vc-border-width) solid var(--vc-line); border-radius: var(--vc-radius-small); }
.app-view .schedule-series-form-heading { display: flex; align-items: center; justify-content: space-between; margin-bottom: var(--vc-space-md); }
.app-view .schedule-series-form-heading h3 { margin: 0; font-size: var(--vc-font-body); }
.app-view .schedule-series-days { min-width: 0; margin: 0; padding: 0; border: 0; }
.app-view .schedule-series-days legend { margin-bottom: var(--vc-space-sm); }
.app-view #schedule-series-day-options { display: flex; flex-wrap: wrap; gap: var(--vc-space-sm); }
.app-view .schedule-series-day { display: inline-flex; align-items: center; gap: var(--vc-space-xs); min-height: var(--vc-control-height-compact); color: var(--vc-text); font-size: var(--vc-font-small); cursor: pointer; }
.app-view .schedule-series-day input { accent-color: var(--vc-accent); }
.app-view .schedule-series-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--vc-space-md); }
.app-view .schedule-series-form .vc-select { width: 100%; }
.app-view .schedule-series-form textarea { min-height: 4rem; }
.app-view .schedule-series-form .schedule-dialog-actions { margin-top: var(--vc-space-md); }
@media (max-width: 64rem) { .app-view .schedule-series-layout:has(> .schedule-series-form:not([hidden])) { grid-template-columns: minmax(0, 1fr); } .app-view .schedule-series-form { max-width: 36rem; } }
.app-view .schedule-month { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); border-top: var(--vc-border-width) solid var(--vc-line); }
.app-view .schedule-day-heading { padding: var(--vc-space-sm) var(--vc-space-xs); border-bottom: var(--vc-border-width) solid var(--vc-line); color: var(--vc-secondary); font-size: var(--vc-font-small); font-weight: 600; text-align: center; }
.app-view .schedule-day-heading:not(:nth-child(7n)), .app-view .schedule-month-day:not(:nth-child(7n)) { border-right: var(--vc-border-width) solid var(--vc-line); }
.app-view .schedule-month-day { min-width: 0; min-height: 7.25rem; padding: var(--vc-space-xs); border-bottom: var(--vc-border-width) solid var(--vc-line); cursor: pointer; }
.app-view .schedule-month-day:hover { background: var(--vc-control-hover); }
.app-view .schedule-month-day--outside .schedule-date-button { color: var(--vc-quiet); }
.app-view .schedule-date-button { display: grid; place-items: center; width: 1.625rem; height: 1.625rem; margin-bottom: var(--vc-space-xs); border: 0; border-radius: 50%; background: transparent; color: var(--vc-text); font-size: var(--vc-font-small); font-weight: 600; cursor: pointer; }
.app-view .schedule-date-button:hover { background: var(--vc-hover); }
.app-view .schedule-month-day--today .schedule-date-button { background: var(--vc-accent); color: var(--vc-on-accent); }
.app-view .schedule-event { display: flex; align-items: center; gap: 0.375rem; width: 100%; min-height: 1.5rem; margin: 0; padding: 0.1875rem var(--vc-space-xs); overflow: hidden; border: 0; border-radius: var(--vc-radius-small); background: transparent; color: var(--vc-text); font-size: var(--vc-font-small); text-align: left; cursor: pointer; }
.app-view .schedule-event::before { content: ''; flex: none; width: 0.375rem; height: 0.375rem; border-radius: 50%; background: var(--vc-accent); }
.app-view .schedule-event:hover { background: var(--vc-hover); }
.app-view .schedule-event-label { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.app-view .schedule-event--draft { color: var(--vc-control-text); }
.app-view .schedule-event--draft::before { border: var(--vc-border-width) solid var(--vc-secondary); background: transparent; }
.app-view .schedule-event--canceled, .app-view .schedule-event--completed { color: var(--vc-secondary); }
.app-view .schedule-event--canceled::before, .app-view .schedule-event--completed::before { background: var(--vc-quiet); }
.app-view .schedule-more { padding: 0.1875rem var(--vc-space-xs); border: 0; background: transparent; color: var(--vc-accent); font-size: var(--vc-font-small); cursor: pointer; }
.app-view .schedule-week-scroll { max-height: min(70vh, 48rem); overflow: auto; }
.app-view .schedule-week { display: grid; grid-template-columns: 3.75rem repeat(7, minmax(6.5rem, 1fr)); min-width: 53rem; }
.app-view .schedule-week-corner, .app-view .schedule-week-heading { position: sticky; top: 0; z-index: 2; min-height: 2.875rem; padding: var(--vc-space-xs); border-bottom: var(--vc-border-width) solid var(--vc-line); background: var(--vc-surface); }
.app-view .schedule-week-heading { display: flex; align-items: center; justify-content: center; gap: var(--vc-space-sm); font-size: var(--vc-font-small); }
.app-view .schedule-week-weekday { color: var(--vc-secondary); }
.app-view .schedule-week-date { display: grid; place-items: center; width: 1.75rem; height: 1.75rem; border-radius: 50%; font-size: var(--vc-font-body); font-weight: 650; }
.app-view .schedule-week-heading--today .schedule-week-date { background: var(--vc-accent); color: var(--vc-on-accent); }
.app-view .schedule-time-rail { display: grid; grid-template-rows: repeat(24, 3rem); color: var(--vc-secondary); font-size: var(--vc-font-meta); }
.app-view .schedule-time-rail > div { padding: 0 var(--vc-space-sm); transform: translateY(-0.5em); text-align: right; }
.app-view .schedule-week-day { position: relative; height: 72rem; border-left: var(--vc-border-width) solid var(--vc-line); background: repeating-linear-gradient(to bottom, var(--vc-line) 0, var(--vc-line) var(--vc-border-width), transparent var(--vc-border-width), transparent 3rem); cursor: pointer; }
.app-view .schedule-week-event { position: absolute; z-index: 1; align-items: flex-start; margin: 0; padding: var(--vc-space-xs) var(--vc-space-sm); border-left: 0.1875rem solid var(--vc-accent); border-radius: var(--vc-radius-small); background: var(--vc-selection); color: var(--vc-selection-text); line-height: 1.25; }
.app-view .schedule-week-event::before { display: none; }
.app-view .schedule-week-event .schedule-event-label { white-space: normal; }
.app-view .schedule-week-event.schedule-event--draft { border-left-color: var(--vc-secondary); background: var(--vc-control-hover); color: var(--vc-control-text); }
.app-view .schedule-week-event.schedule-event--canceled, .app-view .schedule-week-event.schedule-event--completed { border-left-color: var(--vc-quiet); background: var(--vc-control-disabled); color: var(--vc-secondary); }
@media (max-width: 48rem) { .app-view #schedule-page .inventory-toolbar { align-items: flex-start; flex-direction: column; gap: var(--vc-space-md); } .app-view .schedule-toolbar-actions { flex-wrap: wrap; } .app-view .schedule-month-day { min-height: 5.5rem; } .app-view .schedule-day-heading { font-size: var(--vc-font-meta); } }
.app-view .schedule-dialog-header { display: flex; align-items: center; justify-content: space-between; gap: var(--vc-space-sm); margin-bottom: var(--vc-space-xl); }
.app-view .schedule-dialog-header h2 { margin: 0; font-size: var(--vc-font-dialog-title); font-weight: 650; }
.app-view .schedule-dialog .vc-select { width: 100%; }
.app-view .schedule-dialog textarea { min-height: 5rem; }
.app-view .schedule-time-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)) var(--vc-control-height); align-items: end; gap: var(--vc-space-md); }
.app-view #schedule-timezone-popover { width: min(19rem, calc(100vw - 2rem)); }
.app-view #schedule-timezone-popover .vc-select { width: 100%; }
.app-view #club-settings-form { max-width: 22rem; }
.app-view #club-settings-form .vc-select { width: 100%; }
.app-view .schedule-dialog-actions { display: flex; justify-content: flex-end; gap: var(--vc-space-sm); }
.app-view .meet-selection { display: flex; flex: none; align-items: center; gap: var(--vc-space-sm); margin-block: var(--vc-space-sm) var(--vc-space-md); }
.app-view .meet-selection .vc-select { min-width: 13rem; max-width: min(28rem, 100%); }
.app-view #schedule-cancel-dialog .vc-form-stack { gap: var(--vc-space-lg); }
@media (max-width: 35rem) {
  .app-view .schedule-time-fields { grid-template-columns: minmax(0, 1fr) var(--vc-control-height); }
  .app-view .schedule-time-fields > :nth-child(2) { grid-row: 2; }
  .app-view #schedule-timezone-trigger { grid-column: 2; grid-row: 1; }
}
.app-view #platform-section, .app-view #join-section, .app-view #staff-page > section, .app-view #policies-page > section, .app-view #settings-page > section, .app-view #storage-page > section, .app-view #requests-page > section, .app-view #practices-page > section { padding: var(--vc-page-section-gap) 0 var(--vc-space-2xl); border-bottom: var(--vc-border-width) solid var(--vc-line); }
.app-view #create-storage-location-form { max-width: 20rem; }
.app-view #storage-locations-section > .inventory-table-wrap { margin-top: var(--vc-space-xl); }
.app-view #platform-section:first-child, .app-view #join-section:first-child { padding-top: var(--vc-space-sm); }
.app-view section h2, .app-view section h3 { margin: 0 0 0.375rem; font-size: var(--vc-font-section); font-weight: 650; letter-spacing: -.025em; }
.app-view section h4 { margin: var(--vc-space-xl) 0 var(--vc-space-sm); font-size: var(--vc-font-small); font-weight: 700; }
.app-view section > p, .app-view form > p:not(:has(label)), .app-view section > section > p { max-width: 40.625rem; margin: 0.25rem 0 0.9375rem; color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view form { max-width: 38.75rem; }
.app-view form > p { margin: 0.875rem 0; }
.app-view form label:has(input[type="checkbox"]) { display: inline-flex; align-items: center; gap: var(--vc-space-sm); font-size: var(--vc-font-small); font-weight: 500; }
.app-view form br { display: none; }
.app-view form textarea { display: block; min-height: 4.75rem; resize: vertical; }
.app-view form input[type="checkbox"] { margin: 0; accent-color: var(--vc-accent); }
.app-view .pole-custom-length { margin: -0.4375rem 0 0.875rem; }
.app-view .length-input-group { display: inline-flex; overflow: hidden; border: var(--vc-border-width) solid var(--vc-line-strong); border-radius: var(--vc-radius-control); background: var(--vc-surface); box-shadow: var(--vc-shadow-field); }
.app-view .length-input-group label { display: inline-flex; align-items: center; gap: 0.1875rem; width: 5.625rem; margin: 0; padding: 0 0.5625rem; font-weight: 500; }
.app-view .length-input-group label + label { border-left: var(--vc-border-width) solid var(--vc-line-strong); }
.app-view .length-input-group label span { color: var(--vc-secondary); font-size: var(--vc-font-meta); }
.app-view form .length-input-group input:not([type="checkbox"]) { width: 100%; min-width: 0; min-height: var(--vc-control-height); padding: var(--vc-space-xs) 0; border: 0; border-radius: 0; box-shadow: none; }
.app-view form .length-input-group input:focus { outline: none; }
.app-view .length-input-group:focus-within { outline: 0.125rem solid var(--vc-focus); outline-offset: 0.0625rem; }
.app-view form > button[type="submit"] { margin-top: 0.1875rem; }
.app-view ul:not(#club-list) { max-width: 50rem; margin: 0.625rem 0 0.875rem; padding: 0; list-style: none; }
.app-view ul:not(#club-list) > li { padding: 0.6875rem 0; border-bottom: var(--vc-border-width) solid var(--vc-line); color: var(--vc-control-text); font-size: var(--vc-font-small); }
.app-view ul:not(#club-list) > li:first-child { border-top: var(--vc-border-width) solid var(--vc-line); }
.app-view ul:not(#club-list) > li h4 { margin: 0 0 0.1875rem; color: var(--vc-text); font-size: var(--vc-font-control); }
.app-view ul:not(#club-list) > li p { margin: 0.1875rem 0; color: var(--vc-secondary); }
.app-view ul:not(#club-list) > li button { margin: 0.5rem 0.375rem 0 0; }
.app-view ul:not(#club-list) > li form { display: flex; flex-wrap: wrap; align-items: end; gap: 0.5rem; margin-top: 0.625rem; }
.app-view ul:not(#club-list) > li form label { margin: 0; }
.app-view ul:not(#club-list) > li form input { width: min(18.125rem, 100%); margin-top: 0.3125rem; }
.app-view .pole-request-row { display: flex; align-items: end; gap: var(--vc-space-sm); margin: var(--vc-space-sm) 0; }
.app-view .pole-request-row label { flex: 1; margin: 0; }
.app-view .pole-request-row select { margin-top: 0.3125rem; }
.app-view #pole-request-rows + button { margin-top: 0.1875rem; }
.app-view main details { max-width: 40rem; margin: 1rem 0; padding: 0.75rem 0; border-bottom: var(--vc-border-width) solid var(--vc-line); }
.app-view main details summary { color: var(--vc-accent); font-weight: 600; cursor: pointer; }

.app-view > main:has(#request-poles-page:not([hidden]) .vc-list-panel-layout__panel:not([hidden])),
.app-view > main:has(#meet-poles-page:not([hidden]) .vc-list-panel-layout__panel:not([hidden])) { width: 100%; }
.app-view > main:has(#meet-pole-requests-page:not([hidden]) .vc-list-panel-layout__panel:not([hidden])) { width: 100%; }
.app-view > main:has(#poles-page:not([hidden])) { width: 100%; }
.app-view > main:has(#pole-requests-page:not([hidden])) { width: 100%; }
.app-view .vc-list-panel-layout { --vc-list-width: calc(var(--vc-page-max-width) - 2 * var(--vc-page-inline-gutter)); --vc-splitter-width: 1.25rem; display: grid; grid-template-columns: minmax(0, 1fr); }
.app-view .vc-list-panel-layout:has(> .vc-list-panel-layout__panel:not([hidden])) { grid-template-columns: minmax(0, var(--vc-split-list-width, min(58%, var(--vc-list-width)))) var(--vc-splitter-width) minmax(0, 1fr); }
.app-view .vc-list-panel-layout__list { --vc-pane-content-end: calc(var(--vc-pane-inline-gutter) + var(--vc-scroll-inline-inset)); min-width: 0; max-width: var(--vc-list-width); }
.app-view #inventory-pole-layout > .vc-list-panel-layout__list { max-width: none; }
.app-view #inventory-pole-layout .vc-data-table { --vc-table-first-inline-padding: var(--vc-space-md); }
.app-view .vc-list-panel-layout__list > :is(.inventory-toolbar, .vc-quick-filters, .vc-filter-applied, .vc-scroll-region) { padding-inline-end: var(--vc-pane-content-end); }
.app-view .vc-list-panel-layout:has(> .vc-list-panel-layout__panel:not([hidden])) > .vc-list-panel-layout__list { max-width: none; }
.app-view .vc-list-panel-layout__panel { position: sticky; top: var(--vc-space-lg); align-self: start; min-width: 0; max-height: calc(100vh - 2 * var(--vc-space-lg)); padding-inline: var(--vc-pane-inline-gutter); border-left: 0; overflow-y: auto; }
.app-view .inventory-editor .vc-side-panel__header { margin-bottom: var(--vc-space-lg); }
.app-view .inventory-editor-request-section { margin-bottom: var(--vc-space-lg); }
.app-view .inventory-editor-request-section h3 { margin: 0 0 var(--vc-space-sm); font-size: var(--vc-font-small); }
.app-view .inventory-editor-request-list { margin: 0; padding: 0; list-style: none; }
.app-view .inventory-editor-request-list li { padding: var(--vc-space-sm) 0; border-bottom: var(--vc-border-width) solid var(--vc-line); overflow-wrap: anywhere; }
.app-view .inventory-editor-request-original { margin-bottom: var(--vc-space-lg); }
.app-view .inventory-editor .vc-form-stack { max-width: none; }
.app-view .inventory-editor .vc-select, .app-view .inventory-editor .vc-input { width: 100%; }
.app-view .inventory-editor .pole-custom-length { margin: 0; }
.app-view .inventory-editor #inventory-bulk-form { display: flex; flex-direction: column; align-items: stretch; gap: var(--vc-space-md); }
.app-view .inventory-editor .vc-context-action-panel__fields { flex: none; }
.app-view .vc-list-panel-layout__resizer { display: none; position: relative; min-height: 12rem; cursor: col-resize; touch-action: none; }
.app-view .vc-list-panel-layout:has(> .vc-list-panel-layout__panel:not([hidden])) > .vc-list-panel-layout__resizer { display: block; }
.app-view .vc-list-panel-layout__resizer-grip { position: sticky; top: calc(50vh - 1rem); display: block; width: 0.25rem; height: 2rem; margin: var(--vc-space-xl) auto; border-radius: var(--vc-radius-small); background: var(--vc-accent); opacity: 0; }
.app-view .vc-list-panel-layout__resizer:hover .vc-list-panel-layout__resizer-grip, .app-view .vc-list-panel-layout__resizer:focus-visible .vc-list-panel-layout__resizer-grip, .app-view .vc-list-panel-layout--resizing .vc-list-panel-layout__resizer-grip { opacity: 1; }
.app-view .vc-list-panel-layout__resizer:focus-visible { outline: 0.125rem solid var(--vc-focus); outline-offset: -0.125rem; }
.app-view.vc-split-resizing, .app-view.vc-split-resizing * { cursor: col-resize !important; user-select: none !important; }
.app-view .athlete-request-panel .vc-side-panel__header { margin-bottom: var(--vc-space-lg); }
.app-view .athlete-request-panel .vc-side-panel__header h2 { margin: 0; }
.app-view .athlete-submitted-detail { width: min(54rem, calc(100vw - 1.5rem)); max-height: calc(100dvh - 1.5rem); padding: var(--vc-space-xl); overflow: auto; }
.app-view .athlete-submitted-detail .vc-side-panel__header { margin-bottom: var(--vc-space-sm); }
.app-view .athlete-submitted-detail .vc-side-panel__header h2 { margin: 0; font-size: var(--vc-font-dialog-title); }
.app-view .athlete-submitted-requests { margin-top: var(--vc-space-2xl); padding-top: var(--vc-space-lg); border-top: var(--vc-border-width) solid var(--vc-line); }
.app-view .athlete-submitted-requests__heading { display: flex; align-items: center; justify-content: space-between; gap: var(--vc-space-sm); margin-bottom: var(--vc-space-sm); }
.app-view .athlete-submitted-requests__heading h3 { margin: 0; }
.app-view #pole-catalog-scroll { overflow: auto; border-bottom: 0; }
.app-view .athlete-submitted-requests > .inventory-table-wrap { max-height: 17rem; overflow: auto; }
.app-view .athlete-submitted-detail > p { margin: 0 0 var(--vc-space-lg); color: var(--vc-secondary); font-size: var(--vc-font-small); }
.app-view .athlete-submitted-detail > h3, .app-view .athlete-submitted-detail > section > h3 { margin: var(--vc-space-xl) 0 var(--vc-space-sm); }
.app-view .athlete-submitted-detail .inventory-table-wrap { min-height: 0; overflow: auto; }
.app-view .athlete-submitted-detail .vc-data-table { --vc-table-inline-padding: 0.4375rem; }
.app-view #pole-pickup-page { max-width: 47rem; }
.app-view .pole-pickup-instruction { margin: var(--vc-space-xl) 0 var(--vc-space-lg); color: var(--vc-text); }
.app-view #pole-pickup-table-wrap { overflow-x: auto; }
.app-view #pole-pickup-table { min-width: 38rem; }
.app-view #pole-pickup-table th:nth-child(1) { width: 20%; }
.app-view #pole-pickup-table th:nth-child(2) { width: 12%; }
.app-view #pole-pickup-table th:nth-child(3) { width: 13%; }
.app-view #pole-pickup-table th:nth-child(4) { width: 10%; }
.app-view #pole-pickup-table th:nth-child(5) { width: 45%; }
.app-view .athlete-pickup-cell { white-space: normal; }
.app-view .athlete-pickup-cell span { margin-right: var(--vc-space-sm); }
.app-view .staff-pickup-group + .staff-pickup-group { margin-top: var(--vc-space-2xl); }
.app-view .staff-pickup-group h2 { margin-bottom: var(--vc-space-md); }
.app-view .staff-pickup-group > .inventory-table-wrap { overflow-x: auto; }
.app-view .staff-pickup-group .vc-data-table { min-width: 48rem; }
.app-view .staff-pickup-group .vc-data-table th:nth-child(1) { width: 18%; }
.app-view .staff-pickup-group .vc-data-table th:nth-child(2) { width: 18%; }
.app-view .staff-pickup-group .vc-data-table th:nth-child(3) { width: 10%; }
.app-view .staff-pickup-group .vc-data-table th:nth-child(4) { width: 11%; }
.app-view .staff-pickup-group .vc-data-table th:nth-child(5) { width: 9%; }
.app-view .staff-pickup-group .vc-data-table th:nth-child(6) { width: 18%; }
.app-view .staff-pickup-group .vc-data-table td:nth-child(-n+2) { white-space: normal; overflow-wrap: anywhere; }
.app-view .athlete-submitted-detail .vc-data-table td small { display: block; margin-top: var(--vc-space-xs); color: var(--vc-secondary); white-space: normal; }
.app-view .athlete-submitted-actions { margin-top: var(--vc-space-2xl); }
.app-view #athlete-submitted-note, .app-view #athlete-staff-note { margin-top: var(--vc-space-lg); color: var(--vc-text); }
.app-view .vc-list-panel-drawer-toggle, .app-view .vc-list-panel-drawer-close { display: none; }
.app-view .inventory-request-list .vc-side-panel__header { margin-bottom: var(--vc-space-sm); }
.app-view #pole-requests-list-content { padding-inline-end: var(--vc-pane-content-end); }
.app-view #pole-requests-list-content .inventory-request-list { min-width: 0; }
.app-view #pole-requests-list-content .vc-side-panel__header { min-height: var(--vc-list-toolbar-height); margin-top: var(--vc-list-toolbar-top); }
.app-view #pole-requests-detail-panel .inventory-request-detail { margin: 0; padding: 0; border: 0; }
.app-view .inventory-request-list__actions { display: flex; align-items: center; gap: var(--vc-space-xs); }
.app-view .meet-pole-publication-controls { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--vc-space-sm); margin-bottom: var(--vc-space-md); }
.app-view .meet-pole-publication-controls .vc-list-count { margin: 0; }
.app-view .meet-request-section { margin-top: var(--vc-space-2xl); padding-top: var(--vc-space-lg); border-top: var(--vc-border-width) solid var(--vc-line); }
.app-view .meet-request-section > h3 { margin-bottom: var(--vc-space-md); }
.app-view .meet-request-review { margin-top: var(--vc-space-xl); }
.app-view #meet-request-save-review, .app-view #meet-request-send { margin-top: var(--vc-space-md); }
.app-view .inventory-request-list h2 { margin: 0; font-size: var(--vc-font-section); }
.app-view .inventory-request-detail { margin-top: var(--vc-space-xl); padding-top: var(--vc-space-lg); border-top: var(--vc-border-width) solid var(--vc-line); }
.app-view .staff-request-athlete-note { margin: var(--vc-space-sm) 0 var(--vc-space-lg); color: var(--vc-secondary); font-size: var(--vc-font-small); white-space: pre-wrap; overflow-wrap: anywhere; }
.app-view .inventory-request-detail .vc-side-panel__footer { gap: var(--vc-space-sm); }
.app-view .inventory-request-detail > .inventory-table-wrap { min-height: 0; overflow: auto; }
.app-view .pole-review-exact-table { --vc-table-inline-padding: 0.4375rem; }
.app-view .pole-review-table { width: max-content; min-width: 100%; }
.app-view .inventory-bulk-shell { flex: none; min-width: 0; margin-inline-end: var(--vc-pane-content-end); }
.app-view .inventory-bulk-shell[hidden], .app-view .inventory-bulk-shell > .vc-context-action-panel[hidden] { display: none; }
.app-view .inventory-bulk-bar > #inventory-bulk-toggle[aria-expanded='false'] svg { transform: rotate(180deg); }
.app-view #inventory-bulk-form { max-width: none; }
@media (max-width: 47.5rem) {
  .app-view .inventory-bulk-shell { position: fixed; z-index: 12; right: 0; bottom: 0; left: 0; margin-inline-end: 0; }
  .app-view:has(#inventory-bulk-shell:not([hidden])) > main { padding-bottom: 7.5rem; }
  .app-view:has(#inventory-bulk-panel:not([hidden])) > main { padding-bottom: 19rem; }
}
.app-view #inventory-exact-wrap, .app-view #inventory-group-wrap { border-bottom: 0; }
.app-view #add-pole-dialog, .app-view #view-pole-dialog { --vc-pole-dialog-inline-gutter: var(--vc-space-xl); width: min(30rem, calc(100vw - 1.5rem)); max-height: min(42.5rem, calc(100vh - 1.5rem)); padding: 0; }
.app-view #pole-review-page { min-width: 0; }
.app-view #close-pole-review, .app-view #close-pole-request-history { color: var(--vc-accent); font-size: var(--vc-font-small); text-decoration: none; }
.app-view #close-pole-review:hover, .app-view #close-pole-request-history:hover { text-decoration: underline; }
.app-view #pole-request-history-page > .inventory-table-wrap { margin-top: var(--vc-space-lg); }
.app-view .pole-review-heading { margin: 1.25rem 0 1.5rem; }
.app-view #pole-review-athlete { margin: 0; color: var(--vc-text); font-size: var(--vc-font-section); font-weight: 650; }
.app-view .pole-review-exact-list { margin-top: var(--vc-space-lg); }
.app-view .pole-review-exact-list h3 { margin: 0 0 var(--vc-space-sm); font-size: var(--vc-font-small); font-weight: 650; }
.app-view .pole-review-actions { display: flex; justify-content: flex-end; padding-top: var(--vc-space-lg); }
.app-view .pole-review-table .pole-review-choice-kind { display: block; margin-top: var(--vc-space-xs); color: var(--vc-secondary); }
.app-view .pole-dialog-header { display: flex; justify-content: space-between; align-items: start; padding: 1.375rem var(--vc-pole-dialog-inline-gutter) 0.8125rem; }
.app-view #add-pole-title { margin: 0; font-size: var(--vc-font-dialog-title); letter-spacing: -.025em; }
.app-view .pole-dialog-kicker { margin: 0 0 0.25rem; color: var(--vc-secondary); font-size: var(--vc-font-meta); }
.app-view #add-pole-wizard-form { max-width: none; }
.app-view .pole-wizard-step { min-height: 14rem; padding: 1.375rem var(--vc-pole-dialog-inline-gutter) 1rem; }
.app-view .pole-wizard-step[hidden] { display: none; }
.app-view #pole-wizard-review-step:focus { outline: none; }
.app-view .pole-wizard-step > p { margin: 0 0 1.0625rem; }
.app-view #wizard-spec-fields { margin: 0; padding: 0; border: 0; }
.app-view #wizard-spec-fields > p { margin: 0 0 1.0625rem; }
.app-view #wizard-spec-fields:disabled { opacity: .65; }
.app-view .pole-dialog-actions { padding: 0.9375rem var(--vc-pole-dialog-inline-gutter) 1.375rem; border-top: var(--vc-border-width) solid var(--vc-line); }
.app-view #pole-wizard-error { margin: 0 var(--vc-pole-dialog-inline-gutter) 0.75rem; color: var(--vc-danger); font-size: var(--vc-font-small); }
.app-view :is(#pole-wizard-review, #view-pole-fields) { display: grid; grid-template-columns: 5.625rem minmax(0, 1fr); gap: var(--vc-space-md) var(--vc-space-lg); font-size: var(--vc-font-small); }
.app-view :is(#pole-wizard-review, #view-pole-fields) dt { color: var(--vc-secondary); }
.app-view :is(#pole-wizard-review, #view-pole-fields) dd { min-width: 0; margin: 0; overflow-wrap: anywhere; font-weight: 600; }
.app-view #pole-wizard-review { margin: 0; }
.app-view #view-pole-fields { margin: 0 var(--vc-pole-dialog-inline-gutter); padding: var(--vc-space-lg) 0 var(--vc-space-xl); }
.app-view .pole-technical-details { margin: 0 var(--vc-pole-dialog-inline-gutter) 1.375rem; padding: 0; border: 0; font-size: var(--vc-font-meta); }
.app-view .pole-technical-details summary { color: var(--vc-secondary); font-weight: 550; }
.app-view .pole-technical-details p { margin: 0.5rem 0 0 1.5rem; color: var(--vc-secondary); overflow-wrap: anywhere; }
.app-view .pole-history-preview { padding: 1.1875rem var(--vc-pole-dialog-inline-gutter) 1.5rem; border-top: var(--vc-border-width) solid var(--vc-line); }
.app-view .pole-history-preview h3 { margin: 0 0 0.5625rem; font-size: var(--vc-font-body); }
.app-view .pole-history-preview ol { margin: 0; padding: 0; list-style: none; }
.app-view .pole-history-preview li { display: grid; gap: 0.1875rem; padding: 0.625rem 0; border-bottom: var(--vc-border-width) solid var(--vc-line); font-size: var(--vc-font-meta); }
.app-view .pole-history-preview li:last-child { border-bottom: 0; }
.app-view .pole-history-preview li strong { font-weight: 620; }
.app-view .pole-history-preview li span { color: var(--vc-secondary); overflow-wrap: anywhere; }
.app-view #pole-request-form { max-width: 60rem; }
.app-view .pole-cart-table-wrap { width: fit-content; max-width: 100%; margin-bottom: 1rem; }
.app-view .pole-cart-table-wrap .vc-data-table { width: max-content; }
.app-view .pole-cart-table-wrap .pole-group-detail-table { width: 100%; }
.app-view .pole-cart-table-wrap .vc-data-table { --vc-table-inline-padding: var(--vc-space-sm); }
.app-view .pole-cart-shortage { margin: 0.5rem 0; color: var(--vc-secondary); font-size: var(--vc-font-small); }
@media (min-width: 80.0625rem) {
  .app-view #open-group-request, .app-view #close-athlete-request { display: none; }
}
@media (prefers-reduced-motion: no-preference) {
  .app-view #add-pole-dialog.pole-step-transition .pole-wizard-step:not([hidden]) { animation: pole-step-in 170ms ease-out; }
  @keyframes pole-step-in { from { opacity: .5; transform: translateX(0.3125rem); } to { opacity: 1; transform: translateX(0); } }
}

@media (min-width: 47.5625rem) {
  body.app-view.vc-pole-workspace { height: 100dvh; min-height: 0; overflow: hidden; }
  .app-view.vc-pole-workspace > main { display: flex; flex-direction: column; height: 100dvh; min-height: 0; padding-bottom: 0; overflow: hidden; }
  .app-view.vc-pole-workspace #workspace-heading { flex: none; }
  .app-view.vc-pole-workspace #selected-club-section:not([hidden]),
  .app-view.vc-pole-workspace #member-section:not([hidden]),
  .app-view.vc-pole-workspace #poles-page:not([hidden]),
  .app-view.vc-pole-workspace #pole-requests-page:not([hidden]),
  .app-view.vc-pole-workspace #meet-poles-page:not([hidden]),
  .app-view.vc-pole-workspace #meet-pole-requests-page:not([hidden]),
  .app-view.vc-pole-workspace #request-poles-page:not([hidden]),
  .app-view.vc-pole-workspace #pole-request-section:not([hidden]) { display: flex; flex: 1; flex-direction: column; min-height: 0; }
  .app-view.vc-pole-workspace .vc-list-panel-layout { flex: 1; grid-template-rows: minmax(0, 1fr); min-height: 0; overflow: hidden; }
  .app-view.vc-pole-workspace .vc-list-panel-layout__list { display: flex; flex-direction: column; min-height: 0; overflow: hidden; }
  .app-view.vc-pole-workspace #inventory-pole-layout:has(#inventory-table.vc-data-table--selecting),
  .app-view.vc-pole-workspace #inventory-pole-layout:has(#inventory-table.vc-data-table--selecting) .vc-list-panel-layout__list { overflow: visible; }
  .app-view.vc-pole-workspace .vc-list-panel-layout__resizer { min-height: 0; }
  .app-view.vc-pole-workspace .vc-list-panel-layout__list > .inventory-table-wrap { flex: 1; min-height: 0; overflow: auto; overscroll-behavior: contain; }
  .app-view.vc-pole-workspace #pole-requests-list-content { overflow: hidden; }
  .app-view.vc-pole-workspace #pole-requests-list-content .inventory-request-list { display: flex; flex-direction: column; height: 100%; min-height: 0; }
  .app-view.vc-pole-workspace #pole-requests-list-content .inventory-request-list > .inventory-table-wrap { flex: 1; min-height: 0; overflow: auto; }
}

@media (min-width: 80.0625rem) {
  .app-view.vc-pole-workspace .vc-list-panel-layout__panel { position: relative; top: auto; height: 100%; max-height: none; padding-top: var(--vc-list-toolbar-top); overflow: auto; overscroll-behavior: contain; }
  .app-view.vc-pole-workspace .vc-list-panel-layout__panel .vc-side-panel__header { min-height: var(--vc-list-toolbar-height); }
}

@media (max-width: 47.5rem) {
  body.app-view { --vc-page-inline-gutter: 1.25rem; display: block; }
  body.app-view.vc-full-height-workspace { display: flex; flex-direction: column; }
  .app-view.vc-full-height-workspace > main { flex: 1; height: auto; }
  .app-view #app-sidebar { position: relative; height: auto; padding: 0.75rem 0.9375rem 0; border-right: 0; border-bottom: var(--vc-border-width) solid var(--vc-line-strong); }
  .app-view #page-nav { display: flex; align-items: center; gap: 0.25rem; overflow-x: auto; margin-top: .5rem; }
  .app-view #page-nav a { flex: none; }
  .app-view .sidebar-nav-group { display: flex; align-items: center; flex: none; gap: 0.125rem; margin-top: 0; }
  .app-view .sidebar-nav-group h2 { margin: 0; }
  .app-view .sidebar-nav-group a { padding-left: 0.625rem; }
  .app-view #account-section { margin: 0.4375rem -0.9375rem 0; padding: 0.5625rem 0.9375rem; }
  .app-view .sidebar-person { display: inline-flex; vertical-align: middle; }
  .app-view > main { padding: 1.6875rem var(--vc-page-inline-gutter) 4.0625rem; }
  .app-view #workspace-heading { margin-bottom: 1.25rem; }
}

@media (max-width: 80rem) {
  .app-view .vc-list-panel-layout:has(> .vc-list-panel-layout__panel:not([hidden])) { grid-template-columns: minmax(0, 1fr); }
  .app-view .vc-list-panel-layout__resizer, .app-view .vc-list-panel-layout:has(> .vc-list-panel-layout__panel:not([hidden])) > .vc-list-panel-layout__resizer { display: none; }
  .app-view .vc-list-panel-layout__panel { position: fixed; z-index: 20; top: 0; right: 0; width: min(32rem, 100vw); height: 100vh; max-height: 100vh; padding: var(--vc-pane-inline-gutter); border-left: var(--vc-border-width) solid var(--vc-line-strong); box-shadow: var(--vc-shadow-menu); }
  .app-view .vc-list-panel-drawer-toggle, .app-view .vc-list-panel-drawer-close { display: inline-flex; }
  .app-view :is(.inventory-request-panel, .meet-pole-panel, .meet-request-panel):not([data-drawer-open='true']) { display: none; }
}

@media (max-width: 29.375rem) {
  .app-view #account-avatar { width: 1.6875rem; height: 1.6875rem; }
  .app-view #account-email { display: none; }
  .app-view .pole-request-row { flex-wrap: wrap; }
}
