/* Trainer chips (schedule: who leads a class) */
.trainer-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 3px 4px 3px 10px;
    border: 1px solid var(--c-border);
    border-radius: 999px;
    background: #fff;
    font-size: 0.85rem;
    line-height: 1.3;
}
.trainer-chip--left { background: #F6F8FA; }
.trainer-chip__note { font-size: 0.75rem; color: #57606A; }
.trainer-chip__remove {
    border: 0;
    background: transparent;
    color: #57606A;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    line-height: 1;
    font-size: 1.1rem;
    padding: 0;
}
.trainer-chip__remove:hover { background: #EAEEF2; color: #1F2328; }
.schedule-block-trainers { font-size: 0.7rem; opacity: 0.85; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* A prefilled person (e.g. the fuzzy payer-name match on "Nadawcy") can be longer than the combo,
   and .is-valid's check icon eats more of it — cut with an ellipsis instead of a hard clip. */
.member-combo-input { text-overflow: ellipsis; }

/* ─── Live Play card on the home page, above the game list (fragments/live-play/home-card) ─── */
.dink-lp-card-slot { margin-bottom: 14px; }
.dink-lp-card {
    background: var(--c-bg-card); border: 1px solid var(--c-border); border-radius: 16px;
    padding: 16px 18px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px;
    color: var(--c-text);
}
.dink-lp-card__icon {
    width: 48px; height: 48px; border-radius: 12px; flex-shrink: 0;
    background: var(--c-accent-tint); color: var(--c-accent-deep);
    display: flex; align-items: center; justify-content: center;
}
.dink-lp-card__body { flex: 1 1 200px; min-width: 0; }
.dink-lp-card__title { margin: 0; font-size: var(--fs-md); font-weight: 700; line-height: 1.3; }
.dink-lp-card__text { margin: 2px 0 0; font-size: var(--fs-sm); color: var(--c-text-2); line-height: 1.4; }
.dink-lp-card__cta {
    display: inline-flex; align-items: center; justify-content: center; min-height: 44px;
    padding: 10px 16px; border-radius: 10px; white-space: nowrap; text-decoration: none;
    background: var(--c-accent); color: var(--c-accent-ink); font-size: var(--fs-base); font-weight: 700;
}
.dink-lp-card__cta:hover, .dink-lp-card__cta:focus-visible { background: var(--c-accent-light); color: var(--c-accent-ink); }
.dink-lp-card--live { background: var(--c-primary); border-color: var(--c-primary); color: #fff; flex-direction: column; align-items: stretch; }
.dink-lp-card--live .dink-lp-card__text { color: #DCE6EF; }
.dink-lp-card__kicker {
    margin: 0; display: flex; align-items: center; gap: 8px;
    font-size: var(--fs-xs); font-weight: 700; letter-spacing: 0.04em; text-transform: uppercase; color: var(--c-accent-light);
}
.dink-lp-card__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--c-accent-light); flex-shrink: 0; }
.dink-lp-card__actions { display: flex; flex-wrap: wrap; gap: 10px; }
.dink-lp-card__ghost {
    display: inline-flex; align-items: center; min-height: 44px; padding: 10px 14px; border-radius: 10px;
    border: 1px solid #5A86B3; color: #fff; text-decoration: none; font-size: var(--fs-base); font-weight: 600;
}
.dink-lp-card__ghost:hover, .dink-lp-card__ghost:focus-visible { background: var(--c-primary-deep); color: #fff; }
@media (max-width: 575.98px) {
    /* Fills its row: alone under the text in the start card, beside "Tabela" in the live card. */
    .dink-lp-card__cta { flex: 1 1 auto; }
}

/* Hall "Korty" screen (docs/hala-open-play-plan.md Etap 2): a block = courts with their people. */
.dink-chip--warn {
    background: var(--c-warn-bg);
    color: var(--c-warn);
}
.hall-court__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 6px 0 4px;
}
.hall-court__actions form { margin: 0; }
.hall-day-switch {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
}

/* QA-118: a 30-character nick without spaces (a long surname) must not push hall screens sideways on a phone. */
.hall-page { overflow-wrap: anywhere; }

/* Hall "Rozliczenie" screen (docs/hala-open-play-plan.md Etap 3). */
.hall-totals {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px 16px;
    margin: 0;
}
.hall-totals dt { font-weight: 400; color: var(--c-text-sub); font-size: .85rem; }
.hall-totals dd { margin: 0; font-weight: 600; font-size: 1.05rem; }
.hall-totals__balance { grid-column: 1 / -1; border-top: 1px solid var(--c-border); padding-top: 8px; }
.hall-pay-list { list-style: none; margin: 0 0 12px; padding: 0; }
.hall-pay-cell {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    border-top: 1px solid var(--c-border);
    padding: 4px 0;
}
.hall-pay-cell__date { min-width: 5.5em; flex-shrink: 0; color: var(--c-text-sub); }
.hall-pay-cell__amount { flex: 1; min-width: 0; white-space: nowrap; }
.hall-pay-cell__amount small { white-space: normal; }
.hall-pay-cell form { margin: 0; }
.hall-pay-cell .btn { min-width: 7.5em; }
@media (max-width: 360px) {
    .hall-pay-cell .btn { min-width: 0; }
}
/* QA-115: the redirect lands on the person's row (#pay-…). */
.hall-pay-row { scroll-margin-top: 16px; }
/* QA-112: "Opłacone" opens a second, explicit "Tak, cofnij" instead of undoing on one tap. */
.hall-pay-cell:has(.hall-pay-undo[open]) { flex-wrap: wrap; }
.hall-pay-undo { text-align: right; }
.hall-pay-undo[open] { flex-basis: 100%; }
.hall-pay-undo > summary { list-style: none; min-width: 7.5em; }
.hall-pay-undo > summary::-webkit-details-marker { display: none; }
.hall-pay-undo__confirm {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-size: .9rem;
}
@media (max-width: 360px) {
    .hall-pay-undo > summary { min-width: 0; }
}
/* Korty v2 Etap 7: a day split into its blocks, each with "bez opłaty"; the money of every block. */
.hall-pay-cell { flex-wrap: wrap; }
.hall-pay-parts { flex-basis: 100%; list-style: none; margin: 0; padding: 0 0 2px; }
.hall-pay-part { display: flex; align-items: center; gap: 8px; min-height: 36px; font-size: .85rem; color: var(--c-text-sub); }
.hall-pay-part__text { flex: 1; min-width: 0; }
.hall-pay-part form { margin: 0; }
.hall-pay-cell .hall-pay-part__free { min-width: 0; min-height: 32px; }
.hall-settle-block { display: flex; flex-direction: column; gap: 8px; padding: 12px 0; border-top: 1px solid var(--c-border); }

/* Hall "Korty" v2 (docs/hala-korty-v2-plan.md §1 A) — the approved mockup docs/design/hall-courts-v2/ is the contract. */
.hall-days { display: flex; align-items: center; gap: 6px; margin-bottom: 12px; }
.hall-days__list { flex-grow: 1; display: flex; gap: 6px; min-width: 0; }
.hall-days__arrow {
    width: 44px; height: 44px; flex-shrink: 0;
    display: flex; align-items: center; justify-content: center;
    border: 1px solid #D5DCE4; border-radius: 10px; background: var(--c-bg-card);
    text-decoration: none; font-size: 20px;
}
.hall-days__arrow--off { color: var(--c-border-2); }
.hall-days__day {
    flex: 1 1 0; min-width: 0; height: 44px;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    border: 1px solid #D5DCE4; border-radius: 10px; background: var(--c-bg-card);
    color: var(--c-text); text-decoration: none; line-height: 1.15;
}
.hall-days__day span { font-size: 12px; color: var(--c-text-sub); }
.hall-days__day strong { font-size: 15px; }
.hall-days__day--on { background: var(--c-primary); border-color: var(--c-primary); color: #fff; }
.hall-days__day--on span { color: #fff; }
/* QA-145: "Usuń dzień 23.10" under the day switch — open = the confirmation step. */
.hall-day-remove { margin: -4px 0 12px; text-align: right; }
.hall-day-remove summary {
    display: inline-flex; align-items: center; min-height: 32px;
    color: var(--c-text-sub); font-size: 14px; cursor: pointer; list-style: none;
}
.hall-day-remove summary::-webkit-details-marker { display: none; }
.hall-day-remove[open] {
    text-align: left; padding: 8px 12px 12px; border: 1px solid var(--c-border); border-radius: 10px;
    background: var(--c-bg-card);
}
.hall-day-remove__text { margin: 4px 0 8px; font-size: 14px; color: var(--c-text); }
/* QA-146: "Dodano tydzień od pon. 16.11" + "Cofnij". */
.hall-undo { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.hall-undo__btn { white-space: nowrap; }

.hall-blocks {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px;
    background: var(--c-border); padding: 4px; border-radius: 12px; margin-bottom: 12px;
}
.hall-blocks__tab {
    min-height: 52px; border-radius: 9px; color: var(--c-text); text-decoration: none;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
}
.hall-blocks__time { font-weight: 600; }
.hall-blocks__count { font-size: 12px; color: var(--c-text-sub); }
.hall-blocks__tab--on { background: var(--c-bg-card); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.hall-blocks__tab--on .hall-blocks__time { font-weight: 700; }

.hall-block { display: flex; flex-direction: column; gap: 12px; margin-bottom: 12px; }
.hall-block[hidden] { display: none; }
.hall-panel {
    background: var(--c-bg-card); border: 1px solid var(--c-border); border-radius: 14px; padding: 12px 16px;
    display: flex; flex-direction: column; gap: 8px;
}
.hall-panel__head { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.hall-panel__title { margin: 0; font-size: 15px; font-weight: 800; }
.hall-panel__hint { font-size: 12px; color: var(--c-text-sub); }
.hall-panel__text { margin: 0; font-size: 13px; line-height: 1.45; color: var(--c-text-sub); }

.hall-layout { display: grid; gap: 6px; }
.hall-tile {
    min-height: 64px; border-radius: 10px; border: 2px solid; text-decoration: none;
    display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px;
    font-size: 12px; min-width: 0; text-align: center;
}
.hall-tile strong { font-size: 13px; }
.hall-tile--game { background: var(--c-primary-tint); color: var(--c-primary); border-color: var(--c-primary); }
.hall-tile--exclusive { background: var(--c-accent-tint); color: var(--c-warn-ink); border-color: var(--c-warn); }
.hall-tile--training { background: var(--c-training-tint); color: var(--c-training); border-color: var(--c-training); }
.hall-bracket {
    height: 22px; border: 2px solid var(--c-primary); border-top: 0; border-radius: 0 0 10px 10px;
    display: flex; align-items: flex-end; justify-content: center; margin-bottom: 8px; min-width: 0;
}
.hall-bracket span {
    background: var(--c-bg-card); color: var(--c-primary); font-size: 12px; font-weight: 700; padding: 0 6px;
    transform: translateY(9px); white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis;
}
.hall-layout__note { margin: 0; font-size: 12px; color: var(--c-text-sub); text-align: center; }

.hall-money { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.hall-money > div { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hall-money span { font-size: 12px; color: var(--c-text-sub); }
.hall-money strong { font-size: 18px; }
.hall-money .hall-money--plus { color: var(--c-success); }
.hall-money .hall-money--minus { color: var(--c-error); }

.hall-card { background: var(--c-bg-card); border: 1px solid var(--c-border); border-radius: 14px; overflow: hidden; }
.hall-card__head { padding: 12px 16px; display: flex; flex-direction: column; gap: 4px; }
.hall-card__head p { margin: 0; font-size: 13px; line-height: 1.45; color: #3E4C5A; }
.hall-card__head h2 { margin: 0; font-size: 17px; font-weight: 800; }
.hall-card__head--row { flex-direction: row; align-items: center; gap: 10px; padding: 10px 12px 10px 16px; }
.hall-card__head--game { background: var(--c-primary-tint); }
.hall-card__head--exclusive { background: var(--c-accent-tint); }
.hall-card__head--training { background: var(--c-training-tint); }
.hall-card__title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.hall-card__count { margin-left: auto; font-weight: 700; }
.hall-card__change {
    margin-left: auto; min-height: 44px; display: flex; align-items: center; padding: 0 10px;
    font-size: 14px; font-weight: 600; text-decoration: none;
}
.hall-card__head--exclusive .hall-card__change { color: var(--c-warn); }
.hall-card__head--training .hall-card__change { color: var(--c-training); }
.hall-card__rule { margin: 0; padding: 10px 16px 4px; font-size: 13px; line-height: 1.45; color: #3E4C5A; }
.hall-card__hints { margin: 10px 16px 4px; display: flex; flex-direction: column; gap: 8px; }
.hall-hint {
    background: var(--c-warn-bg); color: var(--c-warn-ink); border-radius: 12px; padding: 12px 14px;
    font-size: 14px; line-height: 1.45;
}
.hall-hint--info { background: var(--c-primary-tint); color: var(--c-primary-deep); }
.hall-card__add {
    display: flex; align-items: center; justify-content: center; min-height: 44px;
    border-top: 1px solid #F0F3F6; font-weight: 600; text-decoration: none;
}
.hall-card__start { padding: 12px 16px; border-top: 1px solid #F0F3F6; }
.hall-badge {
    color: #fff; font-size: 12px; font-weight: 700; padding: 3px 9px; border-radius: 999px; white-space: nowrap;
}
.hall-badge--game { background: var(--c-primary); }
.hall-badge--exclusive { background: var(--c-warn); }
.hall-badge--training { background: var(--c-training); }
.hall-badge--coach { background: var(--c-training-tint); color: var(--c-training); padding: 2px 8px; }

.hall-forecast {
    margin: 12px 16px 4px; display: flex; gap: 10px; align-items: center;
    background: var(--c-bg-hover); border-radius: 10px; padding: 10px 12px; font-size: 13px; line-height: 1.4;
}
.hall-forecast > strong { font-size: 20px; color: var(--c-primary); }

.hall-people { list-style: none; margin: 0; padding: 4px 0; }
.hall-person {
    display: flex; align-items: center; gap: 8px; padding: 0 4px 0 16px;
    border-top: 1px solid #F0F3F6; min-height: 44px;
}
.hall-person__name { flex-grow: 1; min-width: 0; }
.hall-person__amount { display: flex; flex-direction: column; align-items: flex-end; min-width: 52px; text-align: right; }
.hall-person__amount > span { font-size: 11px; color: var(--c-text-sub); }
.hall-person__amount--none strong { font-weight: 400; color: var(--c-text-sub); }
.hall-person__amount > .hall-person__paid { color: var(--c-success); font-weight: 600; }
.hall-person__more {
    width: 44px; height: 44px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
    color: var(--c-text-sub); text-decoration: none; font-size: 20px;
}

.hall-start__btn {
    min-height: 48px; display: flex; align-items: center; justify-content: center; font-weight: 700;
    --bs-btn-bg: var(--c-primary); --bs-btn-border-color: var(--c-primary);
    --bs-btn-hover-bg: var(--c-primary-deep); --bs-btn-hover-border-color: var(--c-primary-deep);
    --bs-btn-active-bg: var(--c-primary-deep); --bs-btn-active-border-color: var(--c-primary-deep);
}
.hall-start__btn--rotation {
    border-width: 2px; border-radius: 10px;
    --bs-btn-color: var(--c-primary); --bs-btn-bg: #fff;
    --bs-btn-hover-color: #fff; --bs-btn-active-color: #fff;
}
.hall-schedule { padding: 0 16px; }
.hall-schedule > summary { min-height: 48px; display: flex; align-items: center; font-weight: 700; cursor: pointer; }
.hall-schedule[open] { padding-bottom: 12px; }
.hall-footer { margin: 4px 0 16px; font-size: 12px; color: var(--c-text-sub); text-align: center; }


/* Hall "Korty" bottom panels (docs/hala-korty-v2-plan.md Etap 4; mockups TypeSheet / PersonSheet / AddSheet).
   The same .hall-sheet markup is the plain page without JS and the body of the offcanvas. */
.hall-offcanvas.offcanvas-bottom {
    height: auto; max-height: 92vh; max-height: 92dvh; border-radius: 18px 18px 0 0; border-top: 0;
}
.hall-offcanvas__body { padding: 0; }
.hall-offcanvas__status { margin: 0; padding: 24px 16px; color: var(--c-text-sub); text-align: center; }

.hall-sheet {
    background: var(--c-bg-card); border: 1px solid var(--c-border); border-radius: 14px;
    padding: 12px 16px 20px; display: flex; flex-direction: column; gap: 10px;
}
.hall-sheet--panel { border: 0; border-radius: 0; padding: 8px 16px 24px; }
.hall-sheet__handle { width: 40px; height: 4px; border-radius: 2px; background: #D5DCE4; align-self: center; margin-bottom: 6px; }
.hall-sheet__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.hall-sheet__head--top { align-items: flex-start; }
.hall-sheet__heading { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.hall-sheet__title { margin: 0; font-size: 19px; font-weight: 800; }
.hall-sheet__sub { font-size: 14px; color: var(--c-text-sub); }
.hall-sheet__close {
    width: 44px; height: 44px; flex-shrink: 0; display: flex; align-items: center; justify-content: center;
    border: 0; background: none; color: var(--c-text-sub); font-size: 22px; line-height: 1;
}
.hall-sheet__body { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.hall-sheet__lead { margin: 0 0 4px; font-size: 14px; color: var(--c-text-sub); }
.hall-sheet__section {
    margin: 8px 0 0; padding: 0; font-size: 13px; font-weight: 700; color: var(--c-text-sub);
    letter-spacing: .04em; text-transform: uppercase;
}
.hall-sheet__note { margin: 0; font-size: 13px; color: var(--c-text-sub); }
.hall-sheet__options { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.hall-sheet__submit {
    margin-top: 6px; min-height: 48px; font-weight: 700;
    --bs-btn-bg: var(--c-primary); --bs-btn-border-color: var(--c-primary);
    --bs-btn-hover-bg: var(--c-primary-deep); --bs-btn-hover-border-color: var(--c-primary-deep);
    --bs-btn-active-bg: var(--c-primary-deep); --bs-btn-active-border-color: var(--c-primary-deep);
}
.hall-sheet__summary {
    margin: 0; font-size: 13px; line-height: 1.45; background: var(--c-bg-hover); border-radius: 10px; padding: 10px 12px;
}

/* "Zmień rodzaj kortu": a card per option; the chosen one takes its type's colour. */
.hall-option {
    display: flex; gap: 12px; border: 1px solid #D5DCE4; border-radius: 12px; padding: 14px; cursor: pointer;
}
.hall-option__radio { width: 22px; height: 22px; margin: 2px 0 0; flex-shrink: 0; }
.hall-option__text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.hall-option__text strong { font-size: 16px; }
.hall-option__text span { font-size: 13px; line-height: 1.45; color: #3E4C5A; }
.hall-option--game .hall-option__radio { accent-color: var(--c-primary); }
.hall-option--exclusive .hall-option__radio { accent-color: var(--c-warn); }
.hall-option--training .hall-option__radio { accent-color: var(--c-training); }
.hall-option:has(:checked) { border-width: 2px; padding: 13px; }
.hall-option--game:has(:checked) { border-color: var(--c-primary); background: var(--c-primary-tint); }
.hall-option--exclusive:has(:checked) { border-color: var(--c-warn); background: var(--c-accent-tint); }
.hall-option--training:has(:checked) { border-color: var(--c-training); background: var(--c-training-tint); }
.hall-option:has(:focus-visible) { outline: 2px solid var(--c-primary); outline-offset: 2px; }
.hall-option__extra { display: none; padding: 0 4px; }
.hall-option:has(:checked) + .hall-option__extra { display: block; }
.hall-sheet__rotations { border-top: 1px solid var(--c-border); padding-top: 10px; }
.hall-sheet__rotations > summary { min-height: 44px; display: flex; align-items: center; font-weight: 700; cursor: pointer; }
.hall-rotation-row { display: flex; flex-direction: column; gap: 8px; padding: 10px 0; border-top: 1px solid #F0F3F6; }
.hall-rotation-row form { margin: 0; }
.hall-rotation-row__remove { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }
.hall-rotation-row__remove span { font-size: 13px; color: var(--c-text-sub); }

/* "Osoba": every action is a full-width button with what it does under it. */
.hall-action {
    width: 100%; min-height: 64px; display: flex; flex-direction: column; justify-content: center; gap: 4px;
    padding: 8px 14px; border: 1px solid #D5DCE4; border-radius: 12px; background: var(--c-bg-card);
    font: inherit; color: inherit; text-align: left;
}
.hall-action:hover { border-color: var(--c-border-2); }
.hall-action__row { display: flex; align-items: center; gap: 8px; width: 100%; flex-wrap: wrap; }
.hall-action__amount { margin-left: auto; font-size: 14px; }
.hall-action__effect { font-size: 13px; color: var(--c-text-sub); }
.hall-action--on { border: 2px solid var(--c-primary); background: var(--c-primary-tint); padding: 7px 13px; }
.hall-action--danger { border-color: #F1C4C4; background: #FDF1F1; color: var(--c-error); }
.hall-action--danger .hall-action__effect { color: #8E2A2A; }

/* "Dopisz": where (segmented), who (checkbox rows with the amount). */
.hall-segments {
    display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px;
    background: var(--c-border); padding: 4px; border-radius: 12px;
}
.hall-segment {
    min-height: 52px; border-radius: 9px; display: flex; flex-direction: column; align-items: center;
    justify-content: center; gap: 2px; padding: 4px 6px; cursor: pointer; text-align: center; min-width: 0;
}
.hall-segment:has(:checked) { background: var(--c-bg-card); box-shadow: 0 1px 2px rgba(0, 0, 0, .08); }
.hall-segment:has(:focus-visible) { outline: 2px solid var(--c-primary); outline-offset: 1px; }
.hall-segment__row { display: flex; align-items: center; gap: 6px; }
.hall-segment__note { font-size: 12px; color: var(--c-text-sub); }
.hall-segment--game input { accent-color: var(--c-primary); }
.hall-segment--exclusive input { accent-color: var(--c-warn); }
.hall-segment--training input { accent-color: var(--c-training); }
.hall-candidates {
    border: 1px solid var(--c-border); border-radius: 12px; overflow: hidden; margin: 0; padding: 0; min-width: 0;
}
.hall-candidate {
    min-height: 48px; display: flex; align-items: center; gap: 12px; padding: 4px 14px;
    border-bottom: 1px solid #F0F3F6; cursor: pointer;
}
.hall-candidate:last-child { border-bottom: 0; }
.hall-candidate input { width: 20px; height: 20px; flex-shrink: 0; accent-color: var(--c-primary); }
.hall-candidate__name { flex-grow: 1; min-width: 0; }
.hall-candidate__rate { font-size: 13px; color: var(--c-text-sub); white-space: nowrap; }
