/* Football registration wizard — independent from the selected panel theme. */
.tcc-football-wizard {
    --tcc-football-accent: #e4003a;
    --tcc-football-accent-dark: #bd002f;
    --tcc-football-ink: #101827;
    --tcc-football-muted: #667085;
    --tcc-football-border: #e4e7ec;
    --tcc-football-soft: #f7f8fa;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
    direction: rtl;
    color: var(--tcc-football-ink);
    isolation: isolate;
}

.tcc-football-wizard-nav {
    position: relative;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 26px;
    padding: 10px;
    border: 1px solid var(--tcc-football-border);
    border-radius: 22px;
    background: #fff;
    box-shadow: 0 18px 46px rgba(16, 24, 39, .07);
    overflow: hidden;
}

.tcc-football-wizard-nav::before {
    content: "";
    position: absolute;
    top: 37px;
    right: 16.66%;
    left: 16.66%;
    height: 2px;
    background: #eef0f3;
    z-index: 0;
}

.tcc-football-wizard-nav button {
    position: relative;
    z-index: 1;
    appearance: none;
    min-width: 0;
    min-height: 74px;
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    grid-template-rows: auto auto;
    align-items: center;
    gap: 2px 11px;
    padding: 12px 14px;
    border: 1px solid transparent;
    border-radius: 16px;
    background: #fff;
    color: var(--tcc-football-muted);
    text-align: right;
    font-family: inherit;
    cursor: default;
    transition: border-color .18s ease, background .18s ease, box-shadow .18s ease, transform .18s ease;
}

.tcc-football-wizard-nav button b {
    grid-row: 1 / 3;
    width: 42px;
    height: 42px;
    display: grid;
    place-items: center;
    border: 2px solid #e3e6eb;
    border-radius: 50%;
    background: #fff;
    color: #7b8494;
    font-size: 15px;
    font-weight: 950;
}

.tcc-football-wizard-nav button span {
    min-width: 0;
    color: #354052;
    font-size: 14px;
    font-weight: 950;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tcc-football-wizard-nav button small {
    min-width: 0;
    color: #8a94a4;
    font-size: 11px;
    line-height: 1.6;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.tcc-football-wizard-nav button.is-active {
    border-color: rgba(228, 0, 58, .22);
    background: linear-gradient(145deg, #fff1f4, #fff 75%);
    box-shadow: 0 10px 28px rgba(228, 0, 58, .10);
}

.tcc-football-wizard-nav button.is-active b {
    border-color: var(--tcc-football-accent);
    background: var(--tcc-football-accent);
    color: #fff;
    box-shadow: 0 7px 18px rgba(228, 0, 58, .24);
}

.tcc-football-wizard-nav button.is-active span { color: var(--tcc-football-accent-dark); }
.tcc-football-wizard-nav button.is-done { cursor: pointer; }
.tcc-football-wizard-nav button.is-done b { border-color: #0c9b61; background: #0c9b61; color: #fff; }
.tcc-football-wizard-nav button.is-done b::before { content: "✓"; }
.tcc-football-wizard-nav button.is-done b { font-size: 0; }
.tcc-football-wizard-nav button.is-done b::before { font-size: 16px; }

/* CSS and HTML safety net: never expose more than one stage. */
.tcc-football-wizard-step,
.tcc-football-wizard-step[hidden] { display: none !important; }
.tcc-football-wizard[data-current-step="1"] .tcc-football-wizard-step[data-wizard-step="1"],
.tcc-football-wizard[data-current-step="2"] .tcc-football-wizard-step[data-wizard-step="2"],
.tcc-football-wizard[data-current-step="3"] .tcc-football-wizard-step[data-wizard-step="3"],
.tcc-football-wizard-step.is-active:not([hidden]) {
    display: block !important;
    animation: tccFootballStageIn .24s ease both;
}

@keyframes tccFootballStageIn {
    from { opacity: 0; transform: translateY(9px); }
    to { opacity: 1; transform: translateY(0); }
}

.tcc-football-wizard-message {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 18px;
    padding: 15px 18px;
    border: 1px solid #f6b3c3;
    border-right: 5px solid var(--tcc-football-accent);
    border-radius: 15px;
    background: #fff4f6;
    color: #9f1239;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.9;
}

.tcc-football-wizard-message[hidden] { display: none !important; }
.tcc-football-wizard-message::before { content: "!"; flex: 0 0 25px; width: 25px; height: 25px; display: grid; place-items: center; border-radius: 50%; background: var(--tcc-football-accent); color: #fff; }

.tcc-football-wizard .chub-register-block {
    margin: 0 0 18px !important;
    padding: clamp(18px, 2.7vw, 30px) !important;
    border: 1px solid var(--tcc-football-border) !important;
    border-radius: 22px !important;
    background: #fff !important;
    box-shadow: 0 16px 42px rgba(16, 24, 39, .055) !important;
    overflow: visible !important;
}

.tcc-football-wizard .chub-register-block-title {
    display: flex !important;
    align-items: center !important;
    gap: 13px !important;
    margin: 0 0 23px !important;
    padding: 0 0 18px !important;
    border-bottom: 1px solid #edf0f3 !important;
}

.tcc-football-wizard .chub-register-block-title > span {
    flex: 0 0 42px;
    width: 42px !important;
    height: 42px !important;
    display: grid !important;
    place-items: center !important;
    margin: 0 !important;
    border: 0 !important;
    border-radius: 14px !important;
    background: var(--tcc-football-ink) !important;
    color: #fff !important;
    font-size: 15px !important;
    font-weight: 950 !important;
}

.tcc-football-wizard .chub-register-block-title h2 {
    margin: 0 !important;
    color: var(--tcc-football-ink) !important;
    font-size: clamp(18px, 2vw, 23px) !important;
    line-height: 1.5 !important;
}

.tcc-football-wizard .chub-register-block-title p {
    margin: 4px 0 0 !important;
    color: var(--tcc-football-muted) !important;
    font-size: 12px !important;
    line-height: 1.9 !important;
}

.tcc-football-wizard .chub-form-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: 18px !important;
}

.tcc-football-wizard input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
.tcc-football-wizard select,
.tcc-football-wizard textarea {
    width: 100% !important;
    min-height: 50px !important;
    box-sizing: border-box !important;
    border: 1px solid #d7dce3 !important;
    border-radius: 12px !important;
    background: #fff !important;
    color: var(--tcc-football-ink) !important;
    box-shadow: none !important;
    font-family: inherit !important;
    transition: border-color .18s ease, box-shadow .18s ease !important;
}

.tcc-football-wizard input:focus,
.tcc-football-wizard select:focus,
.tcc-football-wizard textarea:focus {
    outline: 0 !important;
    border-color: var(--tcc-football-accent) !important;
    box-shadow: 0 0 0 4px rgba(228, 0, 58, .09) !important;
}

.tcc-football-document-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.tcc-football-document-card {
    min-width: 0;
    padding: 18px;
    border: 1px solid var(--tcc-football-border);
    border-radius: 18px;
    background: linear-gradient(180deg, #fff, #fafbfc);
    box-shadow: 0 9px 24px rgba(16, 24, 39, .045);
}

.tcc-football-document-card[hidden] { display: none !important; }
.tcc-football-document-card header { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 16px; padding: 0 0 14px; border-bottom: 1px solid #eaecf0; }
.tcc-football-document-card header span { padding: 6px 10px; border-radius: 99px; background: #fff0f3; color: var(--tcc-football-accent-dark); font-size: 11px; font-weight: 900; }
.tcc-football-document-card header strong { min-width: 0; color: var(--tcc-football-ink); font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.tcc-football-document-fields { display: grid; grid-template-columns: 145px minmax(0, 1fr); gap: 14px; align-items: start; }
.tcc-football-document-fields label { min-width: 0; display: flex; flex-direction: column; gap: 8px; color: #344054; font-size: 12px; font-weight: 900; }
.tcc-football-document-fields label > b { color: var(--tcc-football-accent); }

.tcc-football-document-fields input[type="file"] {
    width: 100%;
    min-height: 50px;
    box-sizing: border-box;
    padding: 5px;
    border: 1px dashed #c9cfd8;
    border-radius: 12px;
    background: #fff;
    color: #667085;
    font-family: inherit;
    font-size: 11px;
}

.tcc-football-document-fields input[type="file"]::file-selector-button {
    height: 38px;
    margin-left: 9px;
    padding: 0 14px;
    border: 0;
    border-radius: 9px;
    background: var(--tcc-football-ink);
    color: #fff;
    font-family: inherit;
    font-size: 11px;
    font-weight: 850;
    cursor: pointer;
}

.tcc-football-insurance-field small { min-height: 20px; color: #7b8494; font-size: 10px; line-height: 1.8; }
.tcc-football-insurance-field small a { color: #087a4d; font-weight: 900; }
.tcc-football-documents-note { margin-top: 17px; padding: 14px 16px; border: 1px solid #b8dfcf; border-right: 4px solid #0c9b61; border-radius: 13px; background: #f1fbf7; color: #176548; font-size: 12px; font-weight: 750; line-height: 1.9; }

.tcc-football-wizard-actions {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 20px 0 0 !important;
    padding: 16px !important;
    border: 1px solid var(--tcc-football-border) !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: 0 12px 30px rgba(16, 24, 39, .06) !important;
}

.tcc-football-wizard-actions button,
.tcc-football-wizard-actions a {
    min-height: 48px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    margin: 0 !important;
    padding: 0 22px !important;
    border-radius: 11px !important;
    font-family: inherit !important;
    font-size: 13px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
}

.tcc-football-wizard-actions .chub-save-btn {
    border: 1px solid var(--tcc-football-accent) !important;
    background: var(--tcc-football-accent) !important;
    color: #fff !important;
    box-shadow: 0 9px 22px rgba(228, 0, 58, .20) !important;
}

.tcc-football-wizard-actions .chub-mini-btn {
    border: 1px solid #d5dae1 !important;
    background: #fff !important;
    color: #344054 !important;
}

.tcc-football-review-summary { display: grid; gap: 16px; }
.tcc-football-review-team { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px 14px; align-items: center; padding: 18px; border: 1px solid var(--tcc-football-border); border-radius: 15px; background: var(--tcc-football-soft); }
.tcc-football-review-team span, .tcc-football-review-team small { color: var(--tcc-football-muted); font-size: 12px; }
.tcc-football-review-team strong { color: var(--tcc-football-ink); font-size: 17px; }
.tcc-football-review-table { overflow: auto; border: 1px solid var(--tcc-football-border); border-radius: 15px; background: #fff; }
.tcc-football-review-table table { width: 100%; min-width: 560px; border-collapse: collapse; }
.tcc-football-review-table th, .tcc-football-review-table td { padding: 14px 16px; border-bottom: 1px solid #eaecf0; text-align: right; font-size: 12px; }
.tcc-football-review-table th { background: var(--tcc-football-soft); color: #475467; font-weight: 900; }
.tcc-football-review-table tr:last-child td { border-bottom: 0; }
.tcc-football-review-table .is-ready { display: inline-flex; padding: 5px 9px; border-radius: 99px; background: #eafaf3; color: #087a4d; font-size: 10px; font-weight: 900; }
.tcc-football-wizard .tcc-football-leadership-note { border-color: #f5becb !important; border-right-color: var(--tcc-football-accent) !important; background: #fff5f7 !important; color: #9f1239 !important; }

@media (max-width: 800px) {
    .tcc-football-wizard-nav { gap: 5px; padding: 7px; border-radius: 16px; }
    .tcc-football-wizard-nav::before { top: 27px; }
    .tcc-football-wizard-nav button { min-height: 68px; display: flex; flex-direction: column; justify-content: center; gap: 5px; padding: 8px 4px; text-align: center; border-radius: 12px; }
    .tcc-football-wizard-nav button b { flex: 0 0 30px; width: 30px; height: 30px; font-size: 12px; }
    .tcc-football-wizard-nav button span { width: 100%; font-size: 10px; }
    .tcc-football-wizard-nav button small { display: none; }
    .tcc-football-wizard .chub-register-block { padding: 17px 14px !important; border-radius: 17px !important; }
    .tcc-football-wizard .chub-register-block-title { align-items: flex-start !important; gap: 10px !important; margin-bottom: 18px !important; padding-bottom: 14px !important; }
    .tcc-football-wizard .chub-register-block-title > span { flex-basis: 36px; width: 36px !important; height: 36px !important; border-radius: 11px !important; }
    .tcc-football-wizard .chub-register-block-title h2 { font-size: 17px !important; }
    .tcc-football-wizard .chub-form-grid,
    .tcc-football-document-list,
    .tcc-football-document-fields { grid-template-columns: minmax(0, 1fr) !important; }
    .tcc-football-document-card { padding: 14px; border-radius: 15px; }
    .tcc-football-document-card header { align-items: flex-start; flex-direction: column; gap: 8px; }
    .tcc-football-document-card header strong { width: 100%; }
    .tcc-football-wizard-actions { align-items: stretch !important; flex-direction: column-reverse !important; padding: 10px !important; border-radius: 14px !important; }
    .tcc-football-wizard-actions > * { width: 100% !important; box-sizing: border-box !important; }
    .tcc-football-review-team { grid-template-columns: minmax(0, 1fr); }
}

@media (prefers-reduced-motion: reduce) {
    .tcc-football-wizard-step.is-active:not([hidden]) { animation: none; }
    .tcc-football-wizard-nav button { transition: none; }
}
.tcc-pantomime-members-block .tcc-pantomime-self-member{margin:18px 0;padding:18px;border:1px solid #dbe4ef;border-right:4px solid #e4003b;background:#fff}.tcc-pantomime-members-block .tcc-pantomime-members-stack{display:grid;gap:14px}.tcc-pantomime-member-note{display:flex;align-items:flex-start;gap:14px;margin-top:18px;padding:15px 17px;border:1px solid #dbe4ef;border-right:4px solid #111827;background:#f8fafc}.tcc-pantomime-member-note strong{flex:0 0 auto;color:#111827}.tcc-pantomime-member-note p{margin:0;color:#64748b;line-height:1.9}.tcc-pantomime-role-options{display:grid;grid-template-columns:minmax(260px,560px);justify-content:center;padding:16px 0 8px}.tcc-pantomime-role-options label{display:grid;gap:10px;font-weight:900}.tcc-pantomime-role-options select{width:100%;min-height:54px;border:1px solid #cbd5e1;background:#fff;padding:0 14px;font:inherit}.tcc-pantomime-role-options small{color:#64748b;font-weight:600;line-height:1.8}.tcc-pantomime-role-step .chub-register-block{max-width:820px;margin-inline:auto}@media(max-width:700px){.tcc-pantomime-member-note{display:block}.tcc-pantomime-member-note strong{display:block;margin-bottom:7px}.tcc-pantomime-members-block .tcc-pantomime-self-member{padding:13px}}
