.staff-title-list {
  display: grid;
  gap: 0.5rem;
}

.staff-title-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--border-subtle, #e2e8f0);
  border-radius: var(--radius-sm, 0.25rem);
  background: var(--bg-surface);
  cursor: pointer;
}

.staff-title-row:hover,
.staff-title-row:focus-visible {
  border-color: color-mix(in srgb, var(--accent-primary) 35%, var(--border-subtle, #e2e8f0));
  background: color-mix(in srgb, var(--accent-primary) 4%, var(--bg-surface));
}

.staff-title-row__meta {
  flex: 1 1 auto;
  min-width: 0;
}

.staff-title-row__actions {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  flex-shrink: 0;
  margin-left: auto;
}

.staff-title-row__handle {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm, 0.25rem);
  background: transparent;
  color: #94a3b8;
  cursor: grab;
  touch-action: none;
}

.staff-title-row__handle:hover,
.staff-title-row__handle:focus-visible {
  background: color-mix(in srgb, var(--accent-primary) 8%, var(--bg-surface));
  color: #64748b;
}

.staff-title-row__handle:active {
  cursor: grabbing;
}

.staff-title-row__grip {
  display: block;
  width: 0.75rem;
  height: 1.25rem;
  background-image: radial-gradient(circle, currentColor 1.5px, transparent 1.75px);
  background-position: 0 0;
  background-size: 0.4375rem 0.4375rem;
}

.staff-title-row--ghost {
  position: fixed;
  z-index: 1090;
  pointer-events: none;
  opacity: 0.96;
  box-shadow: var(--shadow-lg, 0 12px 28px rgba(15, 23, 42, 0.2));
}

.staff-title-row--source {
  opacity: 0.35;
  border-style: dashed;
  border-color: var(--accent-primary);
  background: color-mix(in srgb, var(--accent-primary) 6%, var(--bg-surface));
}

.staff-title-row--static {
  align-items: flex-start;
  cursor: default;
}

.staff-title-row--static:hover,
.staff-title-row--static:focus-visible {
  border-color: var(--border-subtle, #e2e8f0);
  background: var(--bg-surface);
}

.tabir-registration-question-row__body {
  flex: 1 1 auto;
  min-width: 0;
}

.tabir-registration-question-row {
  align-items: center;
  gap: 0.45rem;
  padding: 0.4rem 0.55rem;
}

.tabir-registration-question-row__label {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 0.9rem;
  font-weight: 600;
  line-height: 1.25;
}

.tabir-registration-question-row__type {
  flex: 0 1 9.5rem;
  min-width: 7rem;
}

.tabir-registration-question-add__type {
  min-width: 9.5rem;
}

.staff-title-palette {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.staff-title-palette__option {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  margin: 0;
  padding: 0.3rem 0.55rem 0.3rem 0.35rem;
  border: 1px solid var(--border-subtle, #e2e8f0);
  border-radius: 999px;
  background: var(--bg-surface);
  cursor: pointer;
  user-select: none;
}

.staff-title-palette__option:hover {
  border-color: color-mix(in srgb, var(--accent-primary) 35%, var(--border-subtle, #e2e8f0));
}

.staff-title-palette__input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.staff-title-palette__option:has(.staff-title-palette__input:focus-visible) {
  outline: 2px solid var(--accent-primary);
  outline-offset: 2px;
}

.staff-title-palette__option:has(.staff-title-palette__input:checked) {
  border-color: var(--accent-primary);
  background: color-mix(in srgb, var(--accent-primary) 8%, var(--bg-surface));
}

.staff-title-palette__swatch {
  display: inline-block;
  width: 0.95rem;
  height: 0.95rem;
  border-radius: 50%;
  flex-shrink: 0;
  border: 1px solid color-mix(in srgb, #000 12%, transparent);
}

.staff-title-palette__swatch--accent { background: var(--accent-primary); }
.staff-title-palette__swatch--info { background: var(--info); }
.staff-title-palette__swatch--warning { background: var(--warning); }
.staff-title-palette__swatch--success,
.staff-title-palette__swatch--teal { background: var(--success); }
.staff-title-palette__swatch--plum { background: #6f42c1; }
.staff-title-palette__swatch--rose { background: #c94f7c; }
.staff-title-palette__swatch--berry { background: var(--icon-red); }
.staff-title-palette__swatch--slate { background: var(--text-tertiary); }

.staff-title-palette__name {
  font-size: 0.8125rem;
  line-height: 1.2;
  color: var(--text-primary);
}

/*
 * Tabir workspace — section spacing, framed lists (vmilosti/bulava), roster table chrome.
 * Secondary section rails: shared/workspace_sub_nav + components/workspace.css.
 */

.tabir-framed-list {
  margin-bottom: 0;
  background: var(--bg-surface);
}

.tabir-framed-list > .list-group-item {
  background: var(--bg-surface);
}

.tabir-framed-list > .list-group-item.clickable-list-row {
  cursor: pointer;
}

.tabir-framed-list > .list-group-item.tabir-vmilosti-list-row--active,
.tabir-framed-list > .list-group-item.tabir-vmilosti-list-row--active:hover,
.tabir-framed-list > .list-group-item.tabir-vmilosti-list-row--active:focus-within {
  background: var(--list-row-active-bg);
}

.tabir-vmilist-nav__chevron--current::after {
  transform: rotate(45deg);
}

.tabir-vmilist-nav__row.tabir-vmilosti-list-row--active .tabir-vmilist-nav__chevron {
  color: var(--link-content-color);
  opacity: 1;
}

.tabir-distribution-workspace {
  margin-top: var(--space-5);
  padding-top: var(--space-5);
  border-top: 1px solid var(--border-primary);
}

.tabir-vmilist-history-pending-badge {
  background: color-mix(in srgb, var(--warning) 22%, var(--bg-surface)) !important;
  border-color: color-mix(in srgb, var(--warning) 50%, var(--border-primary)) !important;
  color: var(--text-primary) !important;
}

.tabir-vmilist-history-row__summary {
  cursor: pointer;
  padding: var(--space-4);
  transition: background-color var(--transition-fast);
}

.tabir-vmilist-history-row__summary:hover,
.tabir-vmilist-history-row__summary:focus-within:has(:focus-visible),
.tabir-vmilist-history-row:has(.treasury-row-expand-trigger:not(.collapsed)) .tabir-vmilist-history-row__summary {
  background: var(--list-row-hover-bg);
}

.tabir-vmilist-history-row__header {
  pointer-events: none;
}

.tabir-vmilist-history-row__summary .tabir-roster-row__chevron {
  pointer-events: none;
}

.tabir-vmilist-history-row__summary:hover .tabir-roster-row__chevron,
.tabir-vmilist-history-row__summary:focus-within:has(:focus-visible) .tabir-roster-row__chevron,
.tabir-vmilist-history-row:has(.treasury-row-expand-trigger:not(.collapsed)) .tabir-roster-row__chevron {
  color: var(--list-row-link-hover-fg);
  opacity: 1;
}

.tabir-vmilist-history-row:has(.treasury-row-expand-trigger:not(.collapsed)) .tabir-roster-row__chevron::after {
  transform: rotate(45deg);
}

.tabir-vmilist-history-row__detail {
  border-top: 1px solid color-mix(in srgb, var(--border-primary) 70%, transparent);
  background: color-mix(in srgb, var(--accent-primary) 2%, var(--bg-surface));
}

.tabir-vmilist-history-detail-row {
  padding: var(--space-3) var(--space-4);
  padding-inline-start: calc(var(--space-4) + 1.6rem);
  border-bottom: 1px solid color-mix(in srgb, var(--border-primary) 55%, transparent);
}

.tabir-vmilist-history-detail-row:last-child {
  border-bottom: 0;
}

@media (max-width: 575.98px) {
  .tabir-overview-stat-cards--no-warnings {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-2);
  }

  .tabir-overview-stat-cards--no-warnings .treasury-stat-card--compact .card-body {
    padding: var(--space-3) var(--space-2);
  }

  .tabir-overview-stat-cards--no-warnings .treasury-stat-card__label {
    font-size: 0.68rem;
    line-height: 1.15;
    margin-bottom: var(--space-1);
  }

  .tabir-overview-stat-cards--no-warnings .treasury-stat-card--compact .treasury-stat-card__value {
    font-size: 1.25rem;
  }
}

.tabir-vmilosti-modal-results {
  display: flex;
  flex-direction: column;
  min-height: 12rem;
  max-height: 12rem;
  overflow-y: auto;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-lg);
  background: var(--bg-surface);
}

.tabir-vmilosti-modal-results__placeholder {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-3);
  text-align: center;
}

.tabir-vmilosti-modal-results__placeholder[hidden] {
  display: none !important;
}

.tabir-vmilosti-modal-results .list-group-item {
  background: var(--bg-surface);
}

.tabir-setup-vmilosti-search {
  position: relative;
}

.tabir-setup-vmilosti-search__dropdown {
  position: absolute;
  z-index: 20;
  left: 0;
  right: 0;
  top: calc(100% + 0.25rem);
  max-height: 14rem;
  overflow-y: auto;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-md);
  background: var(--bg-elevated, var(--bg-surface));
  box-shadow: var(--shadow-dropdown);
}

.tabir-setup-vmilosti-search__dropdown[hidden] {
  display: none !important;
}

.tabir-setup-vmilosti-search__placeholder {
  padding: 0.75rem 1rem;
}

.tabir-setup-vmilosti-search__placeholder[hidden] {
  display: none !important;
}

.tabir-setup-vmilosti-search__dropdown .list-group-item {
  background: transparent;
}

.tabir-vmilosti-pick-row > .d-flex {
  pointer-events: none;
}

.tabir-vmilosti-pick-row .list-row-actions a,
.tabir-vmilosti-pick-row .list-row-actions button {
  pointer-events: auto;
}

.tabir-vmilosti-pick-row__select {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.tabir-vmilosti-pick-row__select:focus-visible {
  outline: 2px solid var(--accent-primary);
  outline-offset: -2px;
}

.tabir-vmilosti-pick-row__select:disabled {
  cursor: not-allowed;
}

.tabir-vmilosti-pick-row .list-row-actions {
  position: relative;
  z-index: 2;
}

.tabir-vmilosti-added-row > .d-flex {
  opacity: 0.92;
}

.tabir-vmilosti-list-row__detail {
  border-top: 1px solid var(--border-subtle);
}

/* Vmilist badge art is large SVG (~512pt intrinsic); constrain thumbnails in tabir UI. */
.tabir-vmilosti-list-row .achievement-catalog-vmilist-badge,
.tabir-vmilosti-pick-row .achievement-catalog-vmilist-badge,
.tabir-vmilist-workspace-definition .achievement-catalog-vmilist-badge,
.tabir-roster-detail .achievement-catalog-vmilist-badge {
  display: block;
  flex-shrink: 0;
  object-fit: contain;
  object-position: center;
}

.tabir-vmilosti-list-row .achievement-catalog-vmilist-badge-slot,
.tabir-vmilosti-pick-row .achievement-catalog-vmilist-badge-slot,
.tabir-vmilist-workspace-definition .achievement-catalog-vmilist-badge-slot,
.tabir-roster-detail .achievement-catalog-vmilist-badge-slot {
  position: relative;
  display: block;
  flex-shrink: 0;
}

.tabir-vmilosti-list-row .achievement-catalog-vmilist-badge--upn.achievement-catalog-vmilist-badge--index,
.tabir-vmilosti-pick-row .achievement-catalog-vmilist-badge--upn.achievement-catalog-vmilist-badge--index,
.tabir-roster-detail .achievement-catalog-vmilist-badge--upn.achievement-catalog-vmilist-badge--index {
  width: 3.25rem;
  height: 2.5rem;
}

.tabir-vmilosti-list-row .achievement-catalog-vmilist-badge-slot--upn.achievement-catalog-vmilist-badge-slot--index,
.tabir-vmilosti-pick-row .achievement-catalog-vmilist-badge-slot--upn.achievement-catalog-vmilist-badge-slot--index,
.tabir-roster-detail .achievement-catalog-vmilist-badge-slot--upn.achievement-catalog-vmilist-badge-slot--index {
  width: 3.25rem;
  height: 2.5rem;
}

.tabir-vmilist-workspace-definition .achievement-catalog-vmilist-badge--upn.achievement-catalog-vmilist-badge--show,
.tabir-vmilist-workspace-definition .achievement-catalog-vmilist-badge-slot--upn.achievement-catalog-vmilist-badge-slot--show {
  width: 5.5rem;
  height: 4.25rem;
}

.tabir-vmilosti-list-row .achievement-catalog-vmilist-badge--upyu.achievement-catalog-vmilist-badge--index,
.tabir-vmilosti-pick-row .achievement-catalog-vmilist-badge--upyu.achievement-catalog-vmilist-badge--index,
.tabir-roster-detail .achievement-catalog-vmilist-badge--upyu.achievement-catalog-vmilist-badge--index {
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
}

.tabir-vmilosti-list-row .achievement-catalog-vmilist-badge-slot--upyu.achievement-catalog-vmilist-badge-slot--index,
.tabir-vmilosti-pick-row .achievement-catalog-vmilist-badge-slot--upyu.achievement-catalog-vmilist-badge-slot--index,
.tabir-roster-detail .achievement-catalog-vmilist-badge-slot--upyu.achievement-catalog-vmilist-badge-slot--index {
  width: 2.75rem;
  height: 2.75rem;
}

.tabir-vmilist-workspace-definition .achievement-catalog-vmilist-badge--upyu.achievement-catalog-vmilist-badge--show,
.tabir-vmilist-workspace-definition .achievement-catalog-vmilist-badge-slot--upyu.achievement-catalog-vmilist-badge-slot--show {
  width: 5rem;
  height: 5rem;
  border-radius: 50%;
}

.tabir-vmilosti-panel__actions {
  padding-top: var(--space-2);
  border-top: 1px solid var(--border-subtle);
}

.tabir-bulava-row__summary {
  padding: var(--space-4);
}

.tabir-bulava-row__header {
  gap: var(--space-3);
}

.tabir-bulava-form__camp-admin--locked {
  cursor: not-allowed;
  opacity: 0.72;
}

.tabir-bulava-form__camp-admin--locked:focus-visible {
  outline: 2px solid rgb(var(--accent-primary-rgb));
  outline-offset: 2px;
  border-radius: var(--radius-sm);
}

.manage-members-edit-toggle[aria-expanded="true"] {
  color: #fff;
  background-color: var(--bs-secondary);
  border-color: var(--bs-secondary);
}

.tabir-gear-toggle {
  width: 2rem;
  height: 2rem;
  padding: 0;
  transition:
    background-color var(--transition-fast),
    border-color var(--transition-fast),
    color var(--transition-fast);
}

.tabir-gear-toggle__icon {
  display: block;
  font-size: 1.05rem;
  line-height: 1;
}

/* Bootstrap sets aria-expanded on the collapse trigger when the panel is open. */
.tabir-gear-toggle[aria-expanded="true"] {
  background: var(--accent-primary);
  border-color: var(--accent-primary);
  color: #fff;
}

.tabir-gear-toggle[aria-expanded="true"]:hover,
.tabir-gear-toggle[aria-expanded="true"]:focus-visible {
  background: color-mix(in srgb, var(--accent-primary) 88%, #000 12%);
  border-color: color-mix(in srgb, var(--accent-primary) 88%, #000 12%);
  color: #fff;
}

.tabir-workspace-settings-panel {
  background: var(--bg-surface);
  border-color: var(--border-primary);
}

.tabir-overview-details {
  margin-bottom: 0;
  background: var(--bg-surface);
  border-color: var(--border-primary);
  box-shadow: var(--shadow-card);
}

.tabir-overview-details__layout {
  display: grid;
  grid-template-columns: minmax(7.5rem, 10.5rem) minmax(0, 1fr);
  gap: var(--space-5);
  padding: var(--space-5);
}

.tabir-overview-details__main {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  min-width: 0;
}

.tabir-overview-details__ulad {
  font-size: var(--font-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-tertiary);
  line-height: 1.4;
}

.tabir-overview-details__ulad + .tabir-overview-details__schedule {
  margin-top: calc(var(--space-4) * -1 + var(--space-1));
}

.tabir-overview-details__schedule {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.4;
}

.tabir-overview-detail-item__label {
  font-size: var(--font-xs);
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-tertiary);
  margin-bottom: var(--space-1);
}

.tabir-overview-detail-item__value {
  font-weight: 600;
  color: var(--text-primary);
  line-height: 1.4;
}

.tabir-overview-details__notes {
  padding-top: var(--space-4);
  border-top: 1px solid var(--border-primary);
  font-size: var(--font-sm);
  line-height: 1.6;
  color: var(--text-primary);
}

.tabir-overview-details__notes p:last-child {
  margin-bottom: 0;
}

@media (max-width: 767.98px) {
  .tabir-overview-details__layout {
    grid-template-columns: minmax(0, 1fr);
  }

  .tabir-overview-details__layout > .attachment-media-slot {
    max-width: 10.5rem;
  }
}

.tabir-roster-list-shell {
  min-width: 0;
  max-width: 100%;
}

.tabir-roster-list .tabir-roster-camper + .tabir-roster-camper {
  border-top: 1px solid var(--border-primary);
}

/* Bare <button> defaults to system blue; keep row text body-colored.
 * Full-row modal openers: mint highlight only — global :focus-visible outline is clipped
 * by framed-list overflow and reads as a stray top accent after modal close. */
.tabir-roster-camper__trigger {
  color: inherit;
  border-radius: 0;
}

.tabir-roster-camper__trigger:hover,
.tabir-roster-camper__trigger:focus-visible {
  color: inherit;
  background: var(--list-row-hover-bg, color-mix(in srgb, var(--bg-surface) 92%, var(--accent-primary) 8%));
  outline: none;
}

.tabir-roster-camper__trigger:focus:not(:focus-visible) {
  background: transparent;
  outline: none;
}

.tabir-roster-detail-row > td {
  border-top: 0;
}

.tabir-roster-group-heading__bar {
  line-height: 1.2;
}

.tabir-roster-kurin-heading .tabir-roster-group-heading__bar {
  padding-block: 0.4rem;
  background: color-mix(in srgb, var(--accent-primary) 18%, var(--bg-surface));
  color: var(--text-primary);
  font-weight: 700;
}

.tabir-roster-hurtok-heading .tabir-roster-group-heading__bar {
  padding-block: 0.22rem;
  padding-inline-start: calc(var(--space-3) + 0.75rem);
  background: color-mix(in srgb, var(--accent-primary) 7%, var(--bg-surface));
  color: var(--text-secondary);
  font-weight: 600;
}

.tabir-roster-birthday {
  color: var(--accent-pink);
}

.small.text-muted .tabir-roster-birthday {
  color: var(--accent-pink);
}

.tabir-roster-birthday--today {
  font-weight: 700;
}

.tabir-roster-birthday--tomorrow {
  font-weight: 600;
}

.tabir-birthdays__highlights .tabir-birthdays__today-callout,
.tabir-birthdays__highlights .tabir-birthdays__tomorrow-callout {
  margin-bottom: 0;
}

.tabir-birthdays__highlights .tabir-birthdays__today-callout + .tabir-birthdays__tomorrow-callout {
  margin-top: 0.25rem;
}

.tabir-birthdays__today-callout {
  color: var(--accent-pink);
  font-weight: 700;
}

.tabir-birthdays__tomorrow-callout {
  color: var(--accent-pink);
  font-weight: 600;
}

.tabir-birthdays-list__item--today {
  background: color-mix(in srgb, var(--accent-pink) 8%, var(--bg-surface));
}

.tabir-birthdays-list__item--tomorrow {
  background: color-mix(in srgb, var(--accent-pink) 4%, var(--bg-surface));
}

.tabir-roster-sheet-name--locked {
  background: color-mix(in srgb, var(--text-muted) 8%, var(--bg-surface)) !important;
  cursor: not-allowed;
}

.tabir-roster-sheet-toolbar__row-count {
  width: 4.5rem;
}

.tabir-roster-sheet-column-panel__options {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.tabir-roster-sheet-column-item {
  display: inline-flex;
  align-items: center;
  gap: 0.15rem;
  max-width: 100%;
}

.tabir-roster-sheet-column-toggle {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0.35rem 0.65rem;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-sm);
  background: var(--bg-surface);
  color: var(--text-primary);
  font-size: 0.8125rem;
  line-height: 1.2;
  cursor: pointer;
  user-select: none;
  transition:
    background-color var(--transition-fast),
    border-color var(--transition-fast),
    opacity var(--transition-fast),
    box-shadow var(--transition-fast);
}

.tabir-roster-sheet-column-toggle:has(.tabir-roster-sheet-column-toggle__input:checked) {
  background: color-mix(in srgb, var(--accent-primary) 10%, var(--bg-surface));
  border-color: color-mix(in srgb, var(--accent-primary) 38%, var(--border-primary));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-primary) 14%, transparent);
}

.tabir-roster-sheet-column-toggle:has(.tabir-roster-sheet-column-toggle__input:not(:checked)) {
  opacity: 0.68;
  color: var(--text-secondary);
}

.tabir-roster-sheet-column-toggle:hover,
.tabir-roster-sheet-column-toggle:focus-within {
  opacity: 1;
  border-color: color-mix(in srgb, var(--accent-primary) 28%, var(--border-primary));
}

.tabir-roster-sheet-column-toggle__input {
  margin: 0;
  flex-shrink: 0;
  cursor: pointer;
}

.tabir-roster-sheet-column-toggle__text {
  min-width: 0;
}

.tabir-roster-sheet-column-delete {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--text-muted);
  font-size: 1.1rem;
  line-height: 1;
  cursor: pointer;
}

.tabir-roster-sheet-column-delete:hover {
  color: var(--bs-danger);
  background: color-mix(in srgb, var(--bs-danger) 10%, transparent);
}

.sheet-settings-stack {
  margin-top: var(--space-3);
  min-width: 0;
  overflow-anchor: none;
}

.sheet-settings-panel {
  display: grid;
  grid-template-rows: 0fr;
  overflow: hidden;
  overflow-anchor: none;
  transition: grid-template-rows 0.28s ease;
  margin-bottom: 0;
}

.sheet-settings-panel.is-open {
  grid-template-rows: 1fr;
}

.sheet-settings-panel__inner {
  min-height: 0;
  overflow: hidden;
  padding-bottom: 0;
  transition: padding-bottom 0.28s ease;
}

.sheet-settings-panel.is-open .sheet-settings-panel__inner {
  padding-bottom: var(--space-3);
}

.sheet-settings-panel__inner > .card {
  min-height: 0;
  margin-bottom: 0;
}

@media (prefers-reduced-motion: reduce) {
  .sheet-settings-panel,
  .sheet-settings-panel__inner {
    transition: none;
  }
}

.tabir-roster-sheet-shell {
  /* framing provided by .tabir-distribution-body-scroll */
  border-radius: var(--sheet-frame-radius, var(--radius-md));
  overflow: hidden;
}

.tabir-roster-sheet-scroll {
  scrollbar-gutter: stable;
}

.tabir-roster-sheet-grid th,
.tabir-roster-sheet-grid td {
  white-space: nowrap;
  vertical-align: middle;
}

.tabir-roster-sheet-grid thead th {
  z-index: 2;
  background: var(--sheet-thead-bg, var(--bg-surface));
  border-bottom: 1px solid var(--border-primary);
  font-size: 0.8125rem;
  font-weight: 600;
  padding: 0.35rem 0.5rem;
  cursor: grab;
}

.tabir-roster-sheet-grid thead th:active {
  cursor: grabbing;
}

.tabir-roster-sheet-grid tbody td {
  padding: 0;
  border-bottom: 1px solid color-mix(in srgb, var(--border-primary) 70%, transparent);
}

/* Soften the browser mm/dd/yyyy hint on empty DOB cells until focus/value. */
.tabir-roster-sheet-grid input.tabir-roster-sheet-date.is-empty:not(:focus)::-webkit-datetime-edit {
  color: transparent;
}

.tabir-roster-sheet-grid input.tabir-roster-sheet-date.is-empty:not(:focus)::-webkit-calendar-picker-indicator {
  opacity: 0.28;
}

.tabir-roster-sheet-grid input.tabir-roster-sheet-date.is-empty:not(:focus) {
  color: transparent;
}

.tabir-roster-sheet-grid .tabir-roster-sheet-sticky-column {
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--sheet-sticky-bg, var(--bg-surface));
  background-clip: padding-box;
}

.tabir-roster-sheet-grid thead .tabir-roster-sheet-sticky-column {
  z-index: 3;
  background: var(--sheet-thead-bg, var(--bg-surface));
  background-clip: padding-box;
}

.tabir-roster-sheet-grid .tabir-roster-sheet-sticky-column--tier-1 {
  left: 0;
  /* Seal subpixel gaps so scrolling headers cannot show between sticky name columns. */
  box-shadow: 1px 0 0 var(--sheet-sticky-bg, var(--bg-surface));
}

.tabir-roster-sheet-grid thead .tabir-roster-sheet-sticky-column--tier-1 {
  box-shadow: 1px 0 0 var(--sheet-thead-bg, var(--bg-surface));
}

.tabir-roster-sheet-grid .tabir-roster-sheet-sticky-column--tier-2 {
  left: var(--tabir-roster-sheet-sticky-name-1-width, 7.5rem);
  z-index: 2;
  box-shadow: 1px 0 0 var(--border-primary);
}

.tabir-roster-sheet-grid thead .tabir-roster-sheet-sticky-column--tier-2 {
  z-index: 4;
}

.tabir-distribution-head-wrap .tabir-roster-sheet-grid thead th {
  position: static;
  top: auto;
  background: var(--sheet-thead-bg, var(--bg-elevated));
}

.tabir-distribution-head-wrap .tabir-roster-sheet-grid thead .tabir-roster-sheet-sticky-column {
  position: sticky;
  left: 0;
  z-index: 4;
  background: var(--sheet-thead-bg, var(--bg-elevated)) !important;
  background-clip: padding-box;
}

.tabir-distribution-head-wrap .tabir-roster-sheet-grid thead .tabir-roster-sheet-sticky-column--tier-1 {
  box-shadow: 1px 0 0 var(--sheet-thead-bg, var(--bg-elevated));
}

.tabir-distribution-head-wrap .tabir-roster-sheet-grid thead .tabir-roster-sheet-sticky-column--tier-2 {
  left: var(--tabir-roster-sheet-sticky-name-1-width, 7.5rem);
  z-index: 5;
}

.tabir-roster-sheet-name-cell--locked {
  position: relative;
}

.tabir-registration-sheet {
  margin-bottom: var(--space-3);
}

.tabir-registration-grid th,
.tabir-registration-grid td {
  vertical-align: middle;
}

.tabir-registration-grid .tabir-registration-text-column {
  min-width: 8rem;
  white-space: nowrap;
}

.tabir-registration-grid .tabir-registration-text-question-column {
  min-width: 8rem;
  max-width: 12rem;
  padding: 0 !important;
  font-size: 0.8125rem;
}

.tabir-registration-grid .tabir-registration-text-question-cell {
  padding: 0.2rem 0.35rem !important;
  vertical-align: middle;
}

.tabir-registration-grid .tabir-registration-check-column {
  min-width: 4.5rem;
  max-width: 9rem;
  padding: 0 !important;
  font-size: 0.8125rem;
}

.tabir-registration-grid .tabir-registration-check-column.has-inline-input {
  min-width: 7rem;
  max-width: 11rem;
}

.tabir-registration-grid .tabir-registration-notes-column {
  min-width: 3.25rem;
  max-width: 4rem;
  padding: 0 !important;
}

.tabir-registration-column-heading {
  justify-content: center;
  text-align: center;
  line-height: 1.2;
}

.tabir-registration-column-heading > span {
  overflow-wrap: anywhere;
}

.tabir-registration-grid .tabir-registration-check-cell,
.tabir-registration-grid .tabir-registration-notes-cell {
  padding: 0.2rem 0.35rem !important;
}

.tabir-registration-cell-content {
  display: inline-grid;
  grid-template-columns: 1.25rem;
  gap: 0.25rem;
  align-items: center;
  justify-items: center;
  min-height: 1.75rem;
  margin-inline: auto;
}

.tabir-registration-cell-content.has-inline-note {
  grid-template-columns: 1.25rem minmax(3.75rem, 4.75rem);
  justify-items: stretch;
}

.tabir-registration-cell-content.has-inline-note .tabir-registration-state-control {
  justify-self: center;
}

.tabir-registration-state-control {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.tabir-registration-note-input {
  width: 100%;
  min-width: 0;
  height: 1.25rem;
  padding: 0 0.2rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  font-size: 0.7rem;
  line-height: 1.2;
  text-align: start;
}

.tabir-registration-note-input::placeholder {
  color: var(--text-tertiary);
  opacity: 0.35;
}

.tabir-registration-note-input:focus {
  border: 0;
  background: var(--bg-elevated);
  box-shadow: inset 0 -1px 0 var(--accent-primary);
}

.tabir-registration-note-input:focus::placeholder {
  opacity: 0.22;
}

.tabir-registration-state-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 1.25rem;
  width: 1.25rem;
  height: 1.25rem;
  padding: 0;
  border: 1.5px solid var(--border-primary);
  border-radius: 0.25em;
  background: var(--bg-surface);
  color: transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
  font-weight: 700;
  font-size: 0.9rem;
  line-height: 1;
  cursor: pointer;
}

.tabir-registration-state-toggle:not(:disabled):hover,
.tabir-registration-state-toggle:not(:disabled):focus-visible {
  border-color: var(--accent-primary);
  box-shadow: 0 0 0 0.15rem color-mix(in srgb, var(--accent-primary) 18%, transparent);
}

.tabir-registration-state-toggle.is-yes {
  border-color: var(--accent-primary);
  background: var(--accent-primary);
  color: #fff;
  box-shadow: none;
}

.tabir-registration-state-toggle.is-no {
  border-color: var(--danger, #b42318);
  background: var(--bg-surface);
  color: var(--danger, #b42318);
  box-shadow: none;
}

.tabir-registration-state-toggle.is-outbox-pending,
.tabir-registration-state-toggle.is-yes.is-outbox-pending,
.tabir-registration-state-toggle.is-no.is-outbox-pending {
  outline: 2px dashed var(--warning, #ca8a04);
  outline-offset: 2px;
}

.tabir-registration-note-input.is-outbox-pending {
  box-shadow: inset 0 -2px 0 var(--warning, #ca8a04);
  background: color-mix(in srgb, var(--warning, #ca8a04) 8%, transparent);
}

.tabir-registration-notes-btn.is-outbox-pending {
  outline: 2px dashed var(--warning, #ca8a04);
  outline-offset: 1px;
  opacity: 1;
}

.tabir-registration-state-toggle:disabled {
  cursor: default;
  opacity: 0.8;
}

.tabir-registration-notes-btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  border: 1px solid transparent;
  border-radius: var(--radius-sm);
  background: transparent;
  color: var(--bs-secondary-color, #6c757d);
  opacity: 0.55;
  cursor: pointer;
}

.tabir-registration-notes-btn:not(:disabled):hover,
.tabir-registration-notes-btn:not(:disabled):focus-visible,
.tabir-registration-notes-btn.is-set {
  color: var(--accent-primary);
  opacity: 1;
}

.tabir-registration-notes-btn:not(:disabled):focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent-primary) 45%, transparent);
  outline-offset: 1px;
}

.tabir-registration-notes-btn:disabled {
  cursor: default;
}

.tabir-registration-notes-btn__glyph {
  font-size: 0.95rem;
  line-height: 1;
}

.tabir-registration-notes-fields .form-label {
  font-size: 0.875rem;
  margin-bottom: 0.25rem;
}

.tabir-roster-sheet-name-lock {
  position: absolute;
  left: 0.2rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--text-muted);
  pointer-events: none;
  z-index: 1;
}

.tabir-roster-sheet-name-cell--locked input {
  padding-left: 1.25rem !important;
}

.tabir-roster-sheet-toolbar__hint {
  flex: 1 1 100%;
}

@media (min-width: 768px) {
  .tabir-roster-sheet-toolbar__hint {
    flex: 1 1 auto;
  }
}

.tabir-roster-sheet-row-remove {
  width: 1.35rem;
  height: 1.35rem;
  line-height: 1;
}

.tabir-roster-sheet-column-panel__section + .tabir-roster-sheet-column-panel__section {
  padding-top: var(--space-3);
  border-top: 1px solid var(--border-primary);
}

.tabir-roster-sheet-name-controls {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-2);
}

.tabir-roster-sheet-name-order-toggle {
  flex-shrink: 0;
}

.tabir-roster-sheet-name-mode-split .btn:last-child {
  white-space: nowrap;
}

.tabir-roster-sheet-footer__summary {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.tabir-roster-sheet-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid var(--border-primary);
}

.tabir-roster-row__name a {
  position: relative;
  z-index: 2;
}

.tabir-roster-group-settings {
  color: inherit;
  background: inherit;
  border: 0;
  box-shadow: none;
  cursor: pointer;
  transition: filter var(--transition-fast);
}

.tabir-roster-group-settings:hover,
.tabir-roster-group-settings:focus-visible {
  filter: brightness(0.97);
}

.tabir-roster-group-settings:focus-visible {
  outline: 2px solid var(--accent-primary);
  outline-offset: -2px;
}

.tabir-roster-group-settings .tabir-roster-row__chevron {
  color: var(--text-secondary);
}

.tabir-roster-group-settings:hover .tabir-roster-row__chevron,
.tabir-roster-group-settings:focus-visible .tabir-roster-row__chevron {
  color: var(--text-primary);
}

.tabir-roster-group-settings:not(.collapsed) .tabir-roster-row__chevron::after {
  transform: rotate(45deg);
}

.tabir-roster-grouping-toggle {
  min-height: 1.5rem;
}

.tabir-roster-detail-panel {
  border-top: 1px solid var(--border-primary);
  background: color-mix(in srgb, var(--accent-primary) 4%, var(--bg-surface));
}

.tabir-roster-detail {
  padding: var(--space-3) var(--space-4);
}

.tabir-roster-detail__grid {
  display: grid;
  gap: var(--space-3);
  grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr));
}

.tabir-roster-detail__item--wide {
  grid-column: 1 / -1;
}

.tabir-roster-detail__item dt {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-muted);
  margin-bottom: 0.15rem;
}

.tabir-roster-detail__item dd {
  margin-bottom: 0;
}

.tabir-roster-detail__toolbar {
  padding-bottom: var(--space-2);
  border-bottom: 1px solid color-mix(in srgb, var(--border-primary) 55%, transparent);
}

.tabir-roster-detail__toolbar--flush {
  padding-bottom: 0;
  border-bottom: 0;
}

.tabir-roster-detail__meta-item {
  display: inline-flex;
  align-items: baseline;
  gap: 0.35rem;
  font-size: 0.875rem;
}

.tabir-roster-detail__meta-label {
  color: var(--text-muted);
}

.tabir-roster-detail__meta-label::after {
  content: ":";
}

.tabir-roster-detail__meta-below-name {
  color: var(--text-secondary);
}

.tabir-roster-detail__names {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  font-size: 0.9375rem;
  line-height: 1.35;
}

.tabir-roster-detail__names .tabir-roster-detail__meta-item {
  display: flex;
}

.tabir-roster-detail__block + .tabir-roster-detail__block {
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid color-mix(in srgb, var(--border-primary) 55%, transparent);
}

.tabir-roster-detail__block-label {
  color: var(--text-muted);
  font-size: 0.875rem;
  margin-bottom: 0.5rem;
}

.tabir-paperwork-toggle-list > li:last-child {
  border-bottom: 0 !important;
}

.tabir-paperwork-toggle-row {
  cursor: pointer;
}

.tabir-paperwork-toggle-row:hover {
  background: var(--list-row-hover-bg, var(--bg-elevated));
}

.tabir-roster-tochkuvannya-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  font-size: 0.875rem;
}

.tabir-roster-tochkuvannya-row {
  padding: 0.4rem 0;
  border-bottom: 1px solid color-mix(in srgb, var(--border-primary) 35%, transparent);
}

.tabir-roster-tochkuvannya-row:last-child {
  border-bottom: 0;
}

.tabir-roster-tochkuvannya-row__label {
  min-width: 0;
  flex: 1 1 auto;
}

.tabir-roster-tochkuvannya-row__values {
  text-align: end;
}

.tabir-roster-tochkuvannya-row__grade {
  min-width: 2.5rem;
  text-align: end;
}

.tabir-roster-tochkuvannya-table__avg {
  font-variant-numeric: tabular-nums;
  font-weight: 600;
}

.tabir-roster-parent-contact-trigger {
  max-width: 100%;
}

.tabir-roster-parent-contact-trigger__email {
  max-width: 14rem;
}

.tabir-recognition-context__meta dt {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-muted);
  margin-bottom: 0.15rem;
}

.tabir-recognition-context__meta dd {
  margin-bottom: 0;
  font-size: 0.9375rem;
}

.tabir-recognition-adopt {
  border-color: color-mix(in srgb, var(--border-primary) 55%, transparent) !important;
}

.tabir-recognition-review__actions .btn {
  width: auto;
  flex: 0 0 auto;
  max-width: 100%;
}

.tabir-recognition-review__actions > form {
  display: inline-flex;
  margin: 0;
}

.tabir-recognition-reject {
  margin-top: var(--space-2);
}

.tabir-recognition-reject__summary {
  display: inline-block;
  list-style: none;
}

.tabir-recognition-reject__summary::-webkit-details-marker {
  display: none;
}

.tabir-recognition-reject[open] .tabir-recognition-reject__summary {
  margin-bottom: var(--space-3);
}

.tabir-recognition-reject__form {
  margin-top: var(--space-3);
  max-width: 28rem;
}

.tabir-hurtok-group--highlight > .list-row-expandable__summary {
  animation: tabir-hurtok-highlight 1.5s ease-out;
}

@keyframes tabir-hurtok-highlight {
  0% {
    background-color: rgba(var(--bs-success-rgb), 0.18);
  }

  100% {
    background-color: transparent;
  }
}

/* Nested member lists sit flush; skip the shared open-state bottom padding
   that softens empty/form expands (forms.css .expandable-panel__inner). */
.tabir-hurtok-group > .expandable-panel.is-open > .expandable-panel__inner,
.tabir-kurin-group > .expandable-panel.is-open > .expandable-panel__inner {
  padding-bottom: 0;
}

.tabir-hurtok-members__list > .tabir-hurtok-members__item {
  border-bottom: 1px solid color-mix(in srgb, var(--border-primary) 70%, transparent);
}

.tabir-hurtok-members__open {
  color: inherit;
}

.tabir-hurtok-members__open:hover .tabir-hurtok-members__name,
.tabir-hurtok-members__open:focus-visible .tabir-hurtok-members__name {
  color: var(--list-row-link-hover-fg, var(--accent-primary));
}

.tabir-hurtok-members__item .tabir-hurtok-member-assign .form-select {
  width: auto;
  min-width: 8.5rem;
  max-width: 12rem;
}

.tabir-kurin-hurtoks-preview__item + .tabir-kurin-hurtoks-preview__item {
  border-top: 1px solid color-mix(in srgb, var(--border-primary) 70%, transparent);
}

.tabir-kurin-hurtoks-preview__item a:hover .fw-semibold,
.tabir-kurin-hurtoks-preview__item a:focus-visible .fw-semibold {
  color: var(--list-row-link-hover-fg, var(--accent-primary));
}

.tabir-bulava-detail__section:last-child {
  margin-bottom: 0;
}

/* Tochkuvannya dimension list — live reorder (world-cup-rankings pattern) */
.tochkuvannya-dimension-list {
  display: grid;
  gap: var(--space-2);
  min-height: 2.5rem;
}

.tochkuvannya-dimension-row {
  user-select: none;
  transition: border-color 120ms ease, background 120ms ease, opacity 120ms ease;
}

.tochkuvannya-dimension-row__remove {
  flex-shrink: 0;
  border: 0;
  background: transparent;
  padding: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--danger, #dc3545);
  text-decoration: none;
  cursor: pointer;
}

.tochkuvannya-dimension-row__remove:hover,
.tochkuvannya-dimension-row__remove:focus-visible {
  color: color-mix(in srgb, var(--danger, #dc3545) 82%, #000);
  text-decoration: none;
}

.tochkuvannya-dimension-row__handle {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.75rem;
  height: 1.75rem;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: var(--radius-sm, 0.25rem);
  background: transparent;
  color: #94a3b8;
  text-decoration: none;
  cursor: grab;
  touch-action: none;
}

.tochkuvannya-dimension-row__handle:hover,
.tochkuvannya-dimension-row__handle:focus-visible {
  background: color-mix(in srgb, var(--accent-primary) 8%, var(--bg-surface));
  color: #64748b;
}

.tochkuvannya-dimension-row__handle:active {
  cursor: grabbing;
}

.tochkuvannya-dimension-row__grip {
  display: block;
  width: 0.75rem;
  height: 1.25rem;
  background-image: radial-gradient(circle, currentColor 1.5px, transparent 1.75px);
  background-position: 0 0;
  background-size: 0.4375rem 0.4375rem;
}

.tochkuvannya-dimension-row--source {
  opacity: 0.35;
  border-style: dashed;
  border-color: var(--accent-primary);
  background: color-mix(in srgb, var(--accent-primary) 6%, var(--bg-surface));
}

.tochkuvannya-dimension-row--ghost {
  position: fixed;
  z-index: 1080;
  margin: 0;
  pointer-events: none;
  opacity: 0.96;
  border-color: var(--accent-primary);
  background: var(--bg-elevated, var(--bg-surface));
  box-shadow: var(--shadow-lg, 0 12px 28px rgba(15, 23, 42, 0.2));
}

body.tochkuvannya-dimension-dragging {
  cursor: grabbing;
  user-select: none;
}

body.tochkuvannya-dimension-dragging .tochkuvannya-dimension-row__handle {
  cursor: grabbing;
}

.tochkuvannya-grades-settings {
  padding: var(--space-3);
  margin-bottom: 0;
}

.tochkuvannya-grades-collapsible[hidden] {
  display: none !important;
}

.tochkuvannya-grades-collapsible:not(.is-open) .sheet-settings-panel__inner {
  visibility: hidden;
}

.tochkuvannya-threshold-field {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}

.tochkuvannya-threshold-field label {
  font-size: 0.75rem;
  font-weight: 600;
  margin: 0;
}

.tochkuvannya-threshold-input {
  width: 5.5rem;
}

.tochkuvannya-dimension-custom-fields .mb-3:last-of-type {
  margin-bottom: var(--space-3) !important;
}

.tochkuvannya-daily-log__camper-select {
  font-weight: 600;
}

.tochkuvannya-daily-log__camper-picker-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-2);
  margin-bottom: var(--space-2);
}

.tochkuvannya-daily-log__pad-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.tochkuvannya-daily-log__camper-hurtok {
  min-height: 1.25rem;
  margin-top: var(--space-1);
}

.tochkuvannya-daily-log__pad-panel {
  background: var(--bg-surface);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  padding: var(--space-4);
}

.tochkuvannya-daily-log__save-status {
  font-variant-numeric: tabular-nums;
}

.tochkuvannya-daily-log__score-pad {
  display: grid;
  grid-template-columns: repeat(5, minmax(2.75rem, 1fr));
  gap: var(--space-2);
}

.tochkuvannya-daily-log__score-btn {
  min-height: 2.75rem;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}

.tochkuvannya-daily-log__nav-position {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

.tochkuvannya-daily-log-dock .sheet-action-dock__summary {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.75rem;
  color: inherit;
  font-size: inherit;
  min-width: 0;
}

.tabir-index-section .catalog-browse__toolbar {
  padding: var(--space-3) var(--space-4);
}

.roster-add-stanytsia-picker {
  position: relative;
}

.roster-add-stanytsia-picker__menu {
  position: fixed;
  z-index: 1060;
  max-height: 12rem;
  overflow-y: auto;
  margin: 0;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  background: var(--bs-body-bg);
  box-shadow: var(--bs-box-shadow);
}

.roster-add-stanytsia-picker__menu .list-group-item {
  border-left: 0;
  border-right: 0;
}

.roster-add-stanytsia-picker__option {
  width: 100%;
  text-align: left;
  border-radius: 0;
}

.roster-add-stanytsia-picker__empty {
  cursor: default;
}

.tabir-posvidky-readiness__status {
  display: inline-block;
  font-size: 0.75rem;
  line-height: 1;
  margin-top: 0.2rem;
  flex-shrink: 0;
}

.tabir-posvidky-readiness__sections {
  display: grid;
  gap: 1rem;
}

.tabir-posvidky-readiness__section {
  margin: 0;
}

.tabir-posvidky-readiness__general .list-group-item,
.tabir-posvidky-readiness__vmilists .list-group-item,
.tabir-posvidky-readiness__section .list-group-item {
  border-color: var(--border-subtle, rgba(0, 0, 0, 0.08));
}

.tabir-posvidky-readiness__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem 1rem;
  align-items: end;
}

.tabir-posvidky-readiness__body {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  min-width: 0;
}

.tabir-posvidky-readiness__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  min-height: 1.9rem;
}

.tabir-posvidky-readiness__details > summary {
  list-style: none;
  cursor: pointer;
}

.tabir-posvidky-readiness__details > summary::-webkit-details-marker {
  display: none;
}

.tabir-posvidky-readiness__details[open] .collapse-disclosure-icons .when-expanded {
  display: inline;
}

.tabir-posvidky-readiness__details[open] .collapse-disclosure-icons .when-collapsed {
  display: none;
}

.tabir-posvidky-readiness__summary,
.tabir-posvidky-readiness__section-summary,
.tabir-posvidky-readiness__clear-summary {
  align-items: center;
}

.tabir-posvidky-readiness__section-summary,
.tabir-posvidky-readiness__clear-summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.75rem;
}

.tabir-posvidky-readiness__sublist {
  display: grid;
  gap: 0.15rem;
  margin-top: 0.15rem;
}

.tabir-posvidky-readiness__mini-table {
  width: max-content;
  max-width: 100%;
  margin-top: 0.35rem;
  border-collapse: collapse;
  font-size: 0.875rem;
  color: var(--bs-secondary-color, #6c757d);
}

.tabir-posvidky-readiness__mini-table th,
.tabir-posvidky-readiness__mini-table td {
  padding: 0.05rem 0;
  vertical-align: baseline;
  font-weight: 400;
}

.tabir-posvidky-readiness__mini-table th {
  padding-right: 0.85rem;
  text-align: left;
  white-space: nowrap;
}

.tabir-posvidky-readiness__mini-table-filled,
.tabir-posvidky-readiness__mini-table-total {
  text-align: right;
  font-variant-numeric: tabular-nums;
}

.tabir-posvidky-readiness__mini-table-sep {
  padding-left: 0.3rem;
  padding-right: 0.3rem;
  text-align: center;
}

.tabir-posvidky-readiness__highlight {
  margin-top: 0.55rem;
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--border-primary, rgba(0, 0, 0, 0.12));
  border-radius: var(--radius-md, 0.4rem);
  background: var(--bg-primary, #f8f9fa);
  color: var(--text-primary, #212529);
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.35;
  text-align: center;
}

.tabir-posvidky-readiness__inline-form {
  max-width: 22rem;
}

.tabir-posvidky-readiness__row--inline-edit .tabir-posvidky-readiness__body {
  width: 100%;
}

/* Nested rows under a readiness <details> summary — same idea as
   tabir-vmilist-history-row__detail / tabir-roster-detail-panel. */
.tabir-posvidky-readiness__panel {
  margin-top: 0.5rem;
  border-top: 1px solid color-mix(in srgb, var(--border-primary) 70%, transparent);
  border-radius: 0 0 var(--bs-border-radius, 0.375rem) var(--bs-border-radius, 0.375rem);
  background: color-mix(in srgb, var(--accent-primary) 3%, var(--bg-surface, #fff));
  padding: 0.35rem 0.75rem 0.5rem;
  padding-inline-start: calc(0.75rem + 1.35rem);
}

.tabir-posvidky-readiness__panel .list-group-item {
  background: transparent;
}

.tabir-posvidky-readiness__vmilist.is-ready .fw-semibold {
  color: var(--bs-success-text-emphasis, #0f5132);
}

.tabir-posvidky-readiness__looks-good {
  margin: 0 0 0.75rem;
  text-align: center;
  font-weight: 600;
  color: var(--success);
}

.ceremony-flow-steps {
  margin: 0;
}

.ceremony-flow-steps__list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.ceremony-flow-steps__item {
  display: flex;
  align-items: center;
  min-width: 0;
}

.ceremony-flow-steps__item:not(:last-child)::after {
  content: "";
  display: inline-block;
  width: 0.75rem;
  height: 1px;
  margin-left: 0.5rem;
  background: var(--border-primary, rgba(0, 0, 0, 0.18));
  flex-shrink: 0;
}

/* Narrow: grid so wrapped steps share columns (flex wrap only left-aligns each row). */
@media (max-width: 575.98px) {
  .ceremony-flow-steps__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.25rem 0.35rem;
  }

  .ceremony-flow-steps__item {
    min-width: 0;
  }

  .ceremony-flow-steps__item:not(:last-child)::after {
    display: none;
  }

  .ceremony-flow-steps__button {
    width: 100%;
    max-width: none;
    padding-inline: 0.2rem;
  }
}

.ceremony-flow-steps__button {
  appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  max-width: 100%;
  margin: 0;
  padding: 0.2rem 0.35rem;
  border: 0;
  border-radius: 0.4rem;
  background: transparent;
  color: var(--text-secondary, #6c757d);
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.2;
  text-align: start;
  cursor: pointer;
}

.ceremony-flow-steps__button:hover,
.ceremony-flow-steps__button:focus-visible {
  color: var(--text-primary, #212529);
  background: var(--bg-hover, rgba(0, 0, 0, 0.04));
}

.ceremony-flow-steps__button:focus-visible {
  outline: 2px solid rgba(var(--bs-primary-rgb, 13, 110, 253), 0.45);
  outline-offset: 1px;
}

.ceremony-flow-steps__button.is-active {
  color: var(--text-primary, #212529);
  font-weight: 600;
}

.ceremony-flow-steps__button.is-attention {
  color: var(--warning, #d97706);
}

.ceremony-flow-steps__button.is-attention:hover,
.ceremony-flow-steps__button.is-attention:focus-visible {
  color: var(--warning, #d97706);
  background: color-mix(in srgb, var(--warning, #d97706) 10%, transparent);
}

.ceremony-flow-steps__index {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  border-radius: 999px;
  border: 1px solid var(--border-primary, rgba(0, 0, 0, 0.18));
  background: var(--bg-elevated, #fff);
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
  flex-shrink: 0;
}

.ceremony-flow-steps__button.is-active .ceremony-flow-steps__index {
  border-color: var(--accent-primary, #0d6efd);
  background: var(--accent-primary, #0d6efd);
  color: #fff;
}

.ceremony-flow-steps__button.is-attention .ceremony-flow-steps__index {
  border-color: var(--warning, #d97706);
  color: var(--warning, #d97706);
  background: color-mix(in srgb, var(--warning, #d97706) 12%, var(--bg-elevated, #fff));
}

.ceremony-flow-steps__button.is-attention.is-active .ceremony-flow-steps__index {
  border-color: var(--warning, #d97706);
  background: var(--warning, #d97706);
  color: #fff;
}

.ceremony-flow-steps__label {
  min-width: 0;
}

.finalize-send-grid,
.finalize-send-audience-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2, 0.5rem);
}

.finalize-send-component {
  display: flex;
  flex-direction: column;
  min-width: 0;
  gap: 0;
}

.finalize-send-component .selectable-check-option {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}

.finalize-send-component__extra {
  margin: 0;
  padding: 0.5rem 0.85rem 0.65rem;
  border: 1px solid var(--border-primary);
  border-top: 0;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  background: color-mix(in srgb, var(--bg-elevated) 88%, var(--bg-primary, #f8f9fa));
}

.finalize-send-component:has(.form-check-input:checked) .finalize-send-component__extra {
  border-color: color-mix(in srgb, var(--accent-primary, #0d6efd) 45%, var(--border-primary));
}

.finalize-send-audience-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-md);
  background: var(--bg-elevated);
  overflow: hidden;
}

.finalize-send-audience-card__main {
  display: flex;
  gap: 0.75rem;
  align-items: flex-start;
  margin: 0;
  padding: 0.65rem 0.85rem;
  cursor: pointer;
}

.finalize-send-audience-card__main .form-check-input {
  margin-top: 0.2rem;
  flex-shrink: 0;
}

.finalize-send-audience-card__body {
  min-width: 0;
  flex-grow: 1;
}

.finalize-send-audience-card:has(.finalize-send-audience-card__main .form-check-input:checked) {
  border-color: color-mix(in srgb, var(--accent-primary, #0d6efd) 45%, var(--border-primary));
  background: color-mix(in srgb, var(--accent-primary, #0d6efd) 6%, var(--bg-elevated));
}

.finalize-send-audience-card__extra {
  margin: 0;
  padding: 0.5rem 0.85rem 0.65rem;
  border-top: 1px solid var(--border-primary);
  background: color-mix(in srgb, var(--bg-elevated) 88%, var(--bg-primary, #f8f9fa));
}

.finalize-send-pane .selectable-check-option {
  min-width: 0;
}

.finalize-confirm-summary__row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1.25rem;
  padding: 0.55rem 0;
  border-bottom: 1px solid var(--border-primary);
}

.finalize-confirm-summary__row:first-child {
  padding-top: 0;
}

.finalize-confirm-summary__row:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.finalize-confirm-summary__label {
  flex: 0 1 auto;
  font-weight: 600;
}

.finalize-confirm-summary__detail {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--text-secondary, #5c636a);
  font-size: 0.875rem;
  line-height: 1.35;
  text-align: end;
}

.finalize-confirm-summary__detail.is-missing {
  color: var(--warning, #d97706);
}

.finalize-confirm-summary__detail--mark {
  font-size: 1rem;
  line-height: 1.2;
  color: var(--text-primary);
}

.finalize-confirm-summary__audiences {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.15rem 0.65rem;
  margin-top: 0.2rem;
}

.posvidky-context-alert {
  appearance: none;
  -webkit-appearance: none;
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  max-width: 100%;
  margin: 0;
  padding: 0.15rem 0.35rem 0.15rem 0.2rem;
  border: 0;
  border-radius: 0.35rem;
  background: transparent;
  color: var(--bs-warning-text-emphasis, #997404);
  font: inherit;
  font-size: 0.75rem;
  line-height: 1.25;
  text-align: start;
  text-decoration: none;
  cursor: pointer;
}

.posvidky-context-alert:hover,
.posvidky-context-alert:focus-visible {
  color: var(--bs-warning-text-emphasis, #997404);
  background: rgba(var(--bs-warning-rgb, 255, 193, 7), 0.14);
  text-decoration: none;
}

.posvidky-context-alert:focus-visible {
  outline: 2px solid rgba(var(--bs-warning-rgb, 255, 193, 7), 0.7);
  outline-offset: 1px;
}

.posvidky-context-alert__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 1.1rem;
  height: 1.1rem;
  border-radius: 999px;
  background: rgba(var(--bs-warning-rgb, 255, 193, 7), 0.95);
  color: #1a1a1a;
  font-size: 0.7rem;
  font-weight: 700;
  line-height: 1;
}

.posvidky-context-alert__text {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.posvidky-context-alert--danger {
  color: var(--bs-danger-text-emphasis, #842029);
}

.posvidky-context-alert--danger:hover,
.posvidky-context-alert--danger:focus-visible {
  color: var(--bs-danger-text-emphasis, #842029);
  background: rgba(var(--bs-danger-rgb, 220, 53, 69), 0.12);
}

.posvidky-context-alert--danger:focus-visible {
  outline: 2px solid rgba(var(--bs-danger-rgb, 220, 53, 69), 0.55);
  outline-offset: 1px;
}

.posvidky-context-alert--danger .posvidky-context-alert__mark {
  background: rgba(var(--bs-danger-rgb, 220, 53, 69), 0.95);
  color: #fff;
}

.posvidky-carousel__nav-row {
  display: grid;
  grid-template-columns: 1fr;
  align-items: center;
  justify-items: center;
  width: 100%;
  max-width: 100%;
}

.posvidky-carousel__nav-row--with-sides {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.posvidky-carousel__leading {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  justify-self: start;
  padding-right: 1rem;
  min-width: 0;
}

.posvidky-carousel__trailing {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  padding-left: 1rem;
  min-width: 0;
}

.posvidky-carousel__nav {
  display: grid;
  grid-template-columns: 2.5rem minmax(12rem, 16rem) 2.5rem;
  align-items: center;
  gap: 0.75rem;
  width: fit-content;
  max-width: 100%;
  margin-inline: auto;
  justify-self: center;
}

.posvidky-document-switch-bar {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: var(--space-2);
}

.posvidky-action-dock .sheet-action-dock__summary {
  color: inherit;
  font-size: inherit;
}

/* Dock / preview bar: compact; settings modal passes full: true (w-100). Never wrap — short
   labels + nowrap avoid the mobile capsule white-space:normal height stickiness on resize. */
.posvidky-document-switch:not(.segmented-toggle--capsule--full) {
  width: auto;
  max-width: 100%;
}

.posvidky-document-switch > .btn {
  white-space: nowrap;
}

.posvidky-preview-chrome {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  width: 100%;
  max-width: 100%;
}

.posvidky-preview-chrome .posvidky-carousel__leading {
  min-width: 0;
}

.posvidky-preview-chrome .posvidky-carousel__trailing {
  justify-self: end;
  padding-left: 1rem;
}

.posvidky-preview-chrome .posvidky-carousel__meta {
  justify-self: center;
}

.posvidky-carousel__meta {
  width: 100%;
  min-width: 0;
}

.posvidky-carousel__camper-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.posvidky-config-visibility {
  display: grid;
  grid-template-columns: max-content max-content;
  column-gap: 1rem;
  row-gap: 0.35rem;
  align-items: center;
}

.posvidky-config-visibility__group {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
  align-items: center;
  column-gap: inherit;
  margin-bottom: 0;
}

.posvidky-config-visibility__group > input[type="hidden"] {
  display: none;
}

.posvidky-config-visibility__group:last-child {
  margin-bottom: 0;
}

.vfv-anketa-fill-settings__include-list {
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.vfv-anketa-fill-settings__include-row {
  display: grid;
  grid-template-columns: minmax(8.5rem, 11rem) minmax(0, 1fr);
  gap: 0.5rem 0.75rem;
  align-items: center;
}

.vfv-anketa-fill-settings__include-row--checks {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 1.25rem;
  grid-template-columns: unset;
}

.vfv-anketa-fill-settings__include-row--checks > .vfv-anketa-fill-settings__include-row {
  display: block;
  grid-template-columns: unset;
}

.vfv-anketa-fill-settings__include-label {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  min-width: 0;
  font-weight: inherit;
  cursor: pointer;
}

.vfv-anketa-fill-settings__include-label .form-check-input {
  float: none;
  margin: 0;
  flex: 0 0 auto;
}

.vfv-anketa-fill-settings__include-label .field-hint {
  flex: 0 0 auto;
}

@media (max-width: 575.98px) {
  .vfv-anketa-fill-settings__include-row {
    grid-template-columns: 1fr;
  }
}

.posvidky-watermark-opacity {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  max-width: 20rem;
}

.posvidky-watermark-opacity__swatch {
  position: relative;
  flex: 0 0 5.5rem;
  width: 5.5rem;
  height: 3.5rem;
  border-radius: 0.4rem;
  border: 1px solid color-mix(in srgb, var(--border-primary) 80%, var(--accent-primary) 20%);
  background: #fff;
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent-primary) 8%, transparent);
  display: grid;
  place-items: center;
  overflow: hidden;
}

.posvidky-watermark-opacity__mark {
  grid-area: 1 / 1;
  width: 70%;
  height: 70%;
  object-fit: contain;
  opacity: var(--posvidka-watermark-opacity, 0.1);
  pointer-events: none;
}

.posvidky-watermark-opacity__mark--placeholder {
  display: block;
  border-radius: 50%;
  background:
    radial-gradient(circle at 50% 42%, color-mix(in srgb, var(--accent-primary) 72%, #fff) 0 28%, transparent 29%),
    conic-gradient(from 210deg, color-mix(in srgb, var(--accent-primary) 55%, #fff), transparent 55%, color-mix(in srgb, var(--accent-primary) 55%, #fff));
  border: 2px solid color-mix(in srgb, var(--accent-primary) 55%, #fff);
}

.posvidky-watermark-opacity__label {
  grid-area: 1 / 1;
  z-index: 1;
  max-width: 92%;
  padding: 0 0.2rem;
  font-family: "Posvidka Serif", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  font-size: 0.58rem;
  font-weight: 700;
  line-height: 1.15;
  letter-spacing: 0.01em;
  color: #111;
  text-align: center;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  word-break: break-word;
  pointer-events: none;
}

.posvidky-watermark-opacity__controls {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.posvidky-watermark-opacity__slider {
  flex: 1 1 auto;
  min-width: 0;
  accent-color: var(--accent-primary);
  height: 0.5rem;
}

.posvidky-watermark-opacity__slider:focus-visible {
  outline: none;
  box-shadow: 0 0 0 3px rgba(var(--accent-primary-rgb), 0.25);
}

.posvidky-watermark-opacity__slider::-webkit-slider-runnable-track {
  height: 0.4rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent-primary) 22%, var(--border-subtle, #e2e8f0));
}

.posvidky-watermark-opacity__slider::-webkit-slider-thumb {
  -webkit-appearance: none;
  appearance: none;
  width: 1rem;
  height: 1rem;
  margin-top: -0.3rem;
  border-radius: 50%;
  background: var(--accent-primary);
  border: 2px solid var(--bg-surface, #fff);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent-primary) 45%, var(--border-primary));
}

.posvidky-watermark-opacity__slider::-moz-range-track {
  height: 0.4rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent-primary) 22%, var(--border-subtle, #e2e8f0));
  border: none;
}

.posvidky-watermark-opacity__slider::-moz-range-progress {
  height: 0.4rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent-primary) 70%, var(--border-subtle, #e2e8f0));
}

.posvidky-watermark-opacity__slider::-moz-range-thumb {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: var(--accent-primary);
  border: 2px solid var(--bg-surface, #fff);
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--accent-primary) 45%, var(--border-primary));
}

.posvidky-watermark-opacity__value {
  min-width: 2.5rem;
  text-align: end;
}

.posvidky-gender-forms-list {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.posvidky-gender-forms-bulk__select {
  width: auto;
  max-width: 100%;
  min-width: 13.5rem;
}

.posvidky-gender-forms-list__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(13.5rem, 16rem);
  align-items: center;
  gap: 0.35rem 0.65rem;
  padding: 0.2rem 0;
  border-bottom: 1px solid var(--bs-border-color-translucent, rgba(0, 0, 0, 0.08));
}

.posvidky-gender-forms-list__row:last-child {
  border-bottom: 0;
}

.posvidky-gender-forms-list__name {
  font-weight: 600;
  min-width: 0;
}

.posvidky-gender-forms-list__gender {
  font-size: 0.875rem;
  white-space: nowrap;
}

.posvidky-gender-forms-list__control .form-select {
  width: 100%;
  min-width: 0;
}

@media (max-width: 575.98px) {
  .posvidky-gender-forms-list__row {
    grid-template-columns: minmax(0, 1fr) auto;
  }

  .posvidky-gender-forms-list__control {
    grid-column: 1 / -1;
    justify-self: stretch;
    max-width: 16rem;
  }

  .posvidky-gender-forms-bulk__select {
    min-width: 0;
    width: 100%;
    max-width: 16rem;
  }
}

.posvidky-carousel__stage {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr) 2.5rem;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
}

.posvidky-carousel__stage-btn {
  align-self: center;
}

.posvidky-carousel__side-btn {
  flex-shrink: 0;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.25rem;
  line-height: 1;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-md);
  background: var(--bg-surface);
  color: var(--text-primary);
  transition:
    background-color var(--transition-fast),
    border-color var(--transition-fast),
    color var(--transition-fast);
}

.posvidky-carousel__side-btn:hover:not(:disabled),
.posvidky-carousel__side-btn:focus-visible:not(:disabled) {
  background: color-mix(in srgb, var(--bg-surface) 88%, var(--accent-primary) 12%);
  border-color: color-mix(in srgb, var(--border-primary) 70%, var(--accent-primary) 30%);
  color: var(--text-primary);
}

.posvidky-carousel__side-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}

.posvidky-carousel__slides {
  min-width: 0;
}

/* Compact branch/ulad picker — same tile language as games / ulad hubs */
.tabir-branch-picker {
  max-width: 28rem;
}

.tabir-branch-picker__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-3);
}

.tabir-branch-picker__option {
  --branch-accent: var(--accent-primary);
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.2rem;
  min-width: 0;
  min-height: 4.75rem;
  padding: var(--space-4) var(--space-3);
  border: 2px solid var(--border-primary);
  border-radius: var(--radius-xl);
  background: var(--bg-surface);
  box-shadow: var(--shadow-card);
  color: inherit;
  text-align: center;
  text-decoration: none;
  transition:
    border-color var(--transition-base),
    box-shadow var(--transition-base),
    background-color var(--transition-base);
}

.tabir-branch-picker__option:hover,
.tabir-branch-picker__option:focus-visible {
  text-decoration: none;
  color: inherit;
  border-color: var(--branch-accent);
  background: color-mix(in srgb, var(--branch-accent) 7%, var(--bg-surface));
  box-shadow:
    var(--shadow-card),
    0 0 0 1px color-mix(in srgb, var(--branch-accent) 28%, transparent),
    0 0 22px color-mix(in srgb, var(--branch-accent) 32%, transparent);
}

.tabir-branch-picker__option:focus-visible {
  outline: none;
  box-shadow:
    var(--shadow-card),
    0 0 0 2px var(--bg-elevated),
    0 0 0 4px color-mix(in srgb, var(--branch-accent) 55%, transparent),
    0 0 22px color-mix(in srgb, var(--branch-accent) 28%, transparent);
}

body.pointer-nav-hover-locked .tabir-branch-picker__option:hover:not(:focus-visible) {
  border-color: var(--border-primary);
  background: var(--bg-surface);
  box-shadow: var(--shadow-card);
}

.tabir-branch-picker__title {
  color: var(--text-primary);
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.2;
}

.tabir-branch-picker__subtitle {
  color: var(--text-secondary);
  font-size: var(--font-sm, 0.8rem);
  line-height: 1.3;
}

.tabir-branch-picker__option--ptashata {
  --branch-accent: #64748b;
}

.tabir-branch-picker__option--upn {
  --branch-accent: var(--ulad-upn-badge-border);
}

.tabir-branch-picker__option--upyu {
  --branch-accent: var(--ulad-upyu-badge-border);
}

.tabir-branch-picker__option--usp {
  --branch-accent: var(--ulad-usp-badge-border);
}

@media (max-width: 419.98px) {
  .tabir-branch-picker__grid {
    grid-template-columns: 1fr;
  }
}

.tabir-branch-picker--modal {
  max-width: none;
}

.tabir-branch-picker__option:has(input:checked) {
  border-color: var(--branch-accent);
  background: color-mix(in srgb, var(--branch-accent) 7%, var(--bg-surface));
  box-shadow:
    var(--shadow-card),
    0 0 0 1px color-mix(in srgb, var(--branch-accent) 28%, transparent),
    0 0 18px color-mix(in srgb, var(--branch-accent) 28%, transparent);
}

.tabir-branch-picker__option--location {
  --branch-accent: var(--accent-primary);
}

.tabir-branch-picker__option--upyu-kind {
  --branch-accent: var(--ulad-upyu-badge-border);
}

/*
 * Ceremony modals: fixed pane stage so step changes do not resize the modal.
 * Overflow scrolls when a step has long content (e.g. posvidky readiness warnings).
 * Inline padding keeps choice-tile glows from being clipped by overflow.
 */
#tabirCreateModal .ceremony-flow-panes,
#tabirSetupModal .ceremony-flow-panes,
#orgUnitSetupModal .ceremony-flow-panes,
#posvidkyFinalizeModal .ceremony-flow-panes {
  --ceremony-pane-height: 22rem;
  height: var(--ceremony-pane-height);
  overflow: auto;
  padding: 0.35rem 0.75rem 0.85rem;
}

#orgUnitSetupModal .ceremony-flow-panes {
  --ceremony-pane-height: 26rem;
}

#tabirCreateModal .tabir-branch-picker--modal .tabir-branch-picker__option:hover,
#tabirCreateModal .tabir-branch-picker--modal .tabir-branch-picker__option:focus-visible,
#tabirCreateModal .tabir-branch-picker--modal .tabir-branch-picker__option:has(input:checked) {
  box-shadow:
    var(--shadow-card),
    0 0 0 1px color-mix(in srgb, var(--branch-accent) 28%, transparent),
    0 0 12px color-mix(in srgb, var(--branch-accent) 24%, transparent);
}

.tabir-setup-next-list {
  display: grid;
  gap: var(--space-2);
}

.tabir-setup-next-list__item {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  padding: 0.85rem 1rem;
  border: 1px solid var(--border-primary);
  border-radius: var(--radius-md);
  background: var(--bg-elevated);
  color: inherit;
}

.tabir-setup-next-list__title {
  font-weight: 600;
  color: var(--text-primary);
}

.tabir-setup-next-list__help {
  color: var(--text-secondary);
  font-size: var(--font-sm, 0.8rem);
  line-height: 1.35;
}

.tabir-setup-reasons {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--text-secondary);
  font-size: var(--font-sm, 0.875rem);
  line-height: 1.45;
}

.tabir-setup-reasons li + li {
  margin-top: 0.35rem;
}

/* Setup program features: short labels fit two-up even on phones. */
.selectable-check-list--compact {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: var(--space-2);
}

#tabirSetupModal .selectable-check-list--compact .selectable-check-option,
#orgUnitSetupModal .selectable-check-list--compact .selectable-check-option {
  padding: 0.55rem 0.65rem;
  gap: 0.5rem;
  min-width: 0;
}

#tabirSetupModal .selectable-check-list--compact .selectable-check-option__body,
#orgUnitSetupModal .selectable-check-list--compact .selectable-check-option__body {
  min-width: 0;
}

#orgUnitSetupModal .org-unit-setup-progress-list {
  max-height: 16rem;
  overflow: auto;
  border: 1px solid var(--bs-border-color);
  border-radius: var(--bs-border-radius);
  padding: 0.35rem;
}

/* Setup nudge: whole banner opens setup; keep Finish / Dismiss on one row. */
.ceremony-setup-banner {
  cursor: pointer;
}

.ceremony-setup-banner:focus-visible {
  outline: 2px solid var(--accent-warning, #ffc107);
  outline-offset: 2px;
}

.tabir-draft-activate-banner__actions .btn,
.ceremony-setup-banner__actions .btn {
  width: auto;
  max-width: none;
}

.tabir-draft-activate-banner__dismiss,
.ceremony-setup-banner__dismiss {
  display: inline-flex;
  flex: 0 0 auto;
  width: auto;
}

.tabir-create-location__other {
  visibility: hidden;
  pointer-events: none;
}

.tabir-create-location:has(input[value="other"]:checked) .tabir-create-location__other {
  visibility: visible;
  pointer-events: auto;
}

@media (max-width: 419.98px) {
  #tabirCreateModal .ceremony-flow-panes,
  #tabirSetupModal .ceremony-flow-panes,
  #orgUnitSetupModal .ceremony-flow-panes,
  #posvidkyFinalizeModal .ceremony-flow-panes {
    --ceremony-pane-height: min(32rem, calc(100dvh - 14rem));
  }

  #orgUnitSetupModal .ceremony-flow-panes {
    --ceremony-pane-height: min(36rem, calc(100dvh - 12rem));
  }
}

@media (prefers-reduced-motion: reduce) {
  .tabir-branch-picker__option {
    transition: none;
  }
}
