.gc-initially-hidden { display: none; }
.join-cont table tbody tr td:last-child span.gc-initially-hidden { display: none; }
.gc-valid { color: #245c50; }
.gc-invalid { color: #b42318; }
.join-cont table tbody tr td:last-child .gc-field-error { display: block; width: 100%; flex-basis: 100%; margin: 7px 0 0; color: #b42318; font-size: 13px; line-height: 1.5; }
.gc-field-invalid { border-color: #b42318 !important; }
.gc-field-invalid:focus { outline: 3px solid #283a67; outline-offset: 1px; }
.gc-membership-choice,
.gc-auth-choice { margin: 16px 0; padding: 16px; border: 1px solid #dce2e7; background: #f9fafb; color: #1f2933; }
.join-cont table tbody tr td.w50 { flex-wrap: wrap; }
.gc-membership-choice legend,
.gc-auth-choice legend { font-weight: 600; }
.gc-membership-choice label,
.gc-auth-choice label,
.gc-recovery-channels label { display: inline-flex; gap: 8px; margin: 8px 20px 4px 0; }
.gc-membership-choice p,
.gc-auth-choice p { margin: 8px 0 0; color: #66737f; font-size: 13px; }
.gc-auth-choice { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.gc-auth-choice fieldset,
.gc-recovery fieldset { margin: 0; padding: 0; border: 0; }
.gc-auth-send,
.gc-auth-verify,
.gc-file-button { min-height: 44px; padding: 10px 14px; border: 1px solid #283a67; background: #283a67; color: #fff; cursor: pointer; white-space: nowrap; word-break: keep-all; }
.gc-auth-code,
.gc-recovery-line { display: flex; align-items: center; gap: 8px; }
.gc-auth-code input { max-width: 140px; }
.gc-auth-verify:disabled { cursor: not-allowed; opacity: .65; }
.gc-auth-code span { color: #283a67; }
.gc-auth-choice [data-gc-status] { flex-basis: 100%; margin: 0; padding: 8px 10px; border-left: 3px solid #66737f; background: #fff; }
.gc-auth-choice [data-gc-status][hidden] { display: none !important; }
.gc-auth-choice [data-status="error"],
[data-recovery-status][data-status="error"] { color: #b42318; border-left-color: #b42318; }
.gc-auth-choice [data-status="success"],
[data-recovery-status][data-status="success"] { color: #245c50; border-left-color: #245c50; }
.gc-file-button + span { overflow-wrap: anywhere; color: #66737f; }
.join-cont table tbody tr td:last-child .gc-file-status { position: static; top: auto; display: flex; align-items: flex-start; gap: 6px; min-width: 0; max-width: 100%; margin: 8px 0 0; overflow-wrap: anywhere; color: #66737f; line-height: 1.5; }
.gc-file-status::before { content: ""; width: 6px; height: 6px; margin-top: .55em; flex: 0 0 6px; border-radius: 50%; background: #66737f; }
.gc-file-help { display: block; margin-top: 4px; line-height: 1.5; }
.gc-file-upload-overlay { position: fixed; inset: 0; z-index: 3000; display: flex; align-items: center; justify-content: center; box-sizing: border-box; padding: max(24px, env(safe-area-inset-top)) max(20px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)); background: rgba(31, 41, 51, .64); cursor: wait; }
.gc-file-uploading { overflow: hidden; }
.gc-file-upload-overlay[hidden] { display: none; }
.gc-file-upload-overlay__panel { display: flex; width: min(360px, 100%); box-sizing: border-box; flex-direction: column; align-items: center; gap: 10px; padding: 28px 24px; border: 1px solid #dce2e7; background: #fff; color: #1f2933; text-align: center; box-shadow: 0 4px 16px rgba(31, 41, 51, .18); }
.gc-file-upload-overlay__panel strong { color: #283a67; font-size: 16px; line-height: 1.5; }
.gc-file-upload-overlay__panel p { margin: 0; color: #66737f; font-size: 13px; line-height: 1.5; }
.gc-file-upload-spinner { width: 42px; height: 42px; box-sizing: border-box; border: 4px solid #dce2e7; border-top-color: #283a67; border-radius: 50%; animation: gc-file-upload-spin .8s linear infinite; }
@keyframes gc-file-upload-spin { to { transform: rotate(360deg); } }
.gc-file-status[data-state="loading"] { color: #283a67; }
.gc-file-status[data-state="loading"]::before { background: #283a67; }
.gc-file-status[data-state="success"] { color: #245c50; }
.gc-file-status[data-state="success"]::before { background: #245c50; }
.gc-file-status[data-state="error"] { color: #b42318; }
.gc-file-status[data-state="error"]::before { background: #b42318; }
.join-cont table tbody tr .phone > .gc-phone-fields { width: 100%; }
.join-cont table tbody tr .phone > .gc-phone-fields input { width: 33.3333%; }
.gc-business-phone { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; gap: 10px; width: 100%; }
.join-cont table tbody tr td:last-child .gc-business-phone input { width: 100%; min-width: 0; margin: 0; text-align: center; }
.gc-business-phone > span { color: #8a94a6; font-weight: 600; }
.join-cont table tbody tr td:last-child .gc-field-hint { position: static; top: auto; display: flex; align-items: flex-start; gap: 7px; margin: 9px 0 0; padding: 9px 11px; border-left: 3px solid #283a67; background: #f5f7fb; color: #66737f; font-size: 13px; line-height: 1.5; }
.gc-field-hint::before { content: "i"; display: inline-flex; width: 16px; height: 16px; flex: 0 0 16px; align-items: center; justify-content: center; margin-top: 1px; border-radius: 50%; background: #283a67; color: #fff; font-size: 10px; font-style: normal; font-weight: 700; line-height: 1; }
#membershipTypeNext,
#membershipSubmit { width: 170px; height: 55px; padding: 0; border: 1px solid #283a67; border-radius: 0 5px 5px 0; background: #283a67; color: #fff; font-size: 17px; font-weight: 600; text-align: center; }
.gc-recovery { color: #1f2933; }
.gc-recovery-table { table-layout: fixed; }
.gc-recovery-table tbody th { width: 150px; }
.gc-recovery-table tbody tr td { display: table-cell !important; }
.gc-recovery-table .gc-recovery-single input { width: 100%; margin-right: 0; }
.gc-recovery-channels { align-items: center; min-height: 40px; }
.gc-recovery-channels label { position: relative; align-items: center; margin-top: 0; margin-bottom: 0; cursor: pointer; }
.gc-recovery-channels input[type="radio"] { position: absolute; width: 1px; height: 1px; margin: 0; overflow: hidden; clip: rect(0 0 0 0); opacity: 0; }
.gc-recovery-channels label span { display: inline-flex; align-items: center; gap: 8px; }
.gc-recovery-channels label span::before { content: ""; box-sizing: border-box; width: 18px; height: 18px; border: 1px solid #8a94a6; border-radius: 50%; background: #fff; }
.gc-recovery-channels input[type="radio"]:checked + span::before { border-color: #283a67; background: #283a67; box-shadow: inset 0 0 0 4px #fff; }
.gc-recovery-channels input[type="radio"]:focus-visible + span::before { outline: 3px solid #f2a900; outline-offset: 2px; }
.gc-recovery-action { display: flex; width: 100%; min-width: 0; justify-content: space-between; flex: 1; }
.gc-recovery-action > input { min-width: 0; flex: 1; }
.gc-recovery-code-input { display: flex; width: calc(100% - 140px); align-items: center; }
.gc-recovery-code-input input { width: calc(100% - 70px) !important; }
.gc-recovery-code-input span { width: 70px; color: #283a67 !important; font-variant-numeric: tabular-nums; text-align: center; }
.gc-recovery-table button,
.gc-recovery .login02_but button { cursor: pointer; white-space: nowrap; word-break: keep-all; }
.gc-recovery-table button:disabled,
.gc-recovery .login02_but button:disabled { cursor: wait; opacity: .65; }
.gc-recovery-status { margin: 16px 0 0; padding: 10px 12px; border-left: 3px solid #66737f; background: #f7f8fa; font-size: 14px; line-height: 1.6; }
.gc-recovery-complete { margin-top: 32px; padding: 32px; border-top: 2px solid #283a67; border-bottom: 1px solid #dce2e7; background: #f7f8fa; text-align: center; }
.gc-visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.add #business_post_code { min-width: 0; }
.gc-membership-choice :focus-visible,
.gc-auth-choice :focus-visible,
.gc-recovery :focus-visible,
.gc-file-button:focus-visible { outline: 3px solid #f2a900; outline-offset: 2px; }
.gc-file-button.gc-field-invalid,
.gc-file-button.gc-field-invalid:focus,
.gc-file-button.gc-field-invalid:focus-visible {
    border-color: #b42318 !important;
    outline: 2px solid #b42318;
    outline-offset: 2px;
}

@media (max-width: 640px) {
    #membershipTypeNext,
    #membershipSubmit { width: 150px; height: 42px; font-size: 15px; font-weight: 500; }
    .gc-auth-choice { align-items: stretch; }
    .gc-auth-code { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
    .gc-auth-code button { grid-column: 1 / -1; }
    .gc-auth-send,
    .gc-recovery .gc-recovery-action button {
        width: 100%;
        min-height: 44px;
        font-size: 14px;
    }
    .gc-recovery-table,
    .gc-recovery-table tbody,
    .gc-recovery-table tr,
    .gc-recovery-table th,
    .gc-recovery-table td { display: block !important; width: 100% !important; }
    .gc-recovery-table th { padding: 10px 12px 6px; border-bottom: 0; }
    .gc-recovery-table td { padding: 8px 12px 12px; }
    .gc-recovery-action { align-items: stretch; flex-direction: column; gap: 8px; }
    .gc-recovery-action > input,
    .gc-recovery-code-input { width: 100% !important; margin-right: 0 !important; }
    .gc-recovery-code-input input { width: auto !important; min-width: 0; margin-right: 0 !important; flex: 1; }
    .gc-recovery-code-input span { flex: 0 0 64px; }
    .gc-recovery-channels { min-height: 34px; }
    .join-cont table tbody tr td:last-child .gc-file-status { display: flex; margin: 8px 0 0; }
    .gc-business-phone { gap: 6px; }
    .join-cont table tbody tr td:last-child .gc-field-hint { padding: 8px 10px; font-size: 12px; }
}
@media (prefers-reduced-motion: reduce) {
    .gc-membership-choice *,
    .gc-auth-choice * { transition: none !important; }
    .gc-file-upload-spinner { animation: none; border-top-color: #283a67; }
}
