/* Scoped additions: existing landing page and success card remain unchanged. */
.registration-form label[for="no_company"] { justify-content: flex-start; gap: 10px; min-height: 44px; margin: 6px 0; }
.registration-form #company-help { display: block; color: #b9c1d2; font-size: .75rem; line-height: 1.6; }
.registration-form #company:disabled { opacity: .55; }
.thank-you-page .success-screen { row-gap: 46px; }
.thank-you-page--invite .success-screen { row-gap: 22px; align-content: start; padding-top: 100px; }
.invite-confirmation { position: relative; z-index: 2; display: flex; align-items: center; gap: 9px; margin: 0; color: #c5f7e8; font-size: .88rem; font-weight: 600; }
.invite-confirmation span { display: grid; place-items: center; width: 25px; height: 25px; border-radius: 50%; background: #163b32; color: #77f1c8; }
.thank-you-page--invite .success-card { width: min(1100px, 100%); margin-top: 8px; }
.thank-you-page--invite .success-card h2 { margin-bottom: 20px; font-size: clamp(1.6rem, 3vw, 2.3rem); line-height: 1.15; }
.invite-panel { position: relative; z-index: 2; width: min(1100px, 100%); padding: clamp(22px, 4vw, 46px); border: 1px solid var(--line); border-radius: var(--radius-lg); background: #101521; }
.invite-panel__heading { max-width: 860px; margin-bottom: 32px; }
.thank-you-page--invite .invite-panel { border-color: #3e7c83; background: radial-gradient(ellipse at 90% 0, rgba(51,212,194,.13), transparent 52%), #101521; box-shadow: 0 0 0 1px rgba(111,241,220,.08); }
.invite-panel h1 { font-size: clamp(2rem, 4.3vw, 3.5rem); line-height: 1.08; letter-spacing: -.04em; margin: 14px 0 20px; }
.invite-panel h1 span { color: #7df5e8; }
.invite-prizes { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.invite-prizes > div { display: flex; align-items: center; gap: 9px; min-height: 48px; padding: 10px 14px; border: 1px solid #776039; border-radius: 10px; background: #2a251d; color: #ffe0a3; font-size: .84rem; }
.invite-prizes svg { flex-shrink: 0; width: 23px; height: 23px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.invite-heading-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px 24px; margin-top: 22px; }
.invite-heading-actions .button { font-size: .88rem; min-height: 50px; }
#invite-link, #invite-card-editor { scroll-margin-top: 24px; }
.invite-panel h2 { font-size: clamp(1.8rem, 4vw, 2.7rem); line-height: 1.12; margin: 12px 0 16px; }
.invite-panel h3 { margin: 10px 0 14px; font-size: 1.5rem; line-height: 1.2; }
.invite-panel p, .invite-panel small { color: #b9c1d2; }
.invite-panel .eyebrow { color: #61e6ec; font-size: .7rem; }
.invite-panel__layout { display: grid; gap: 32px; align-items: start; }
.invite-actions-panel { grid-row: 1; }
.invite-reward h2 { font-size: 1.35rem; margin: 8px 0 10px; }
.invite-panel__layout > * { min-width: 0; }
#invite-card { display: block; width: 100%; height: auto; background: #090f20; border-radius: 16px; border: 1px solid #2f4358; }
.invite-photo-controls { margin: 20px 0 12px; display: grid; gap: 10px; }
.invite-photo-controls label { font-weight: 600; }
.invite-photo-controls label span { font-weight: 400; color: #b9c1d2; font-size: .85rem; }
.invite-photo-controls input { width: 100%; min-width: 0; font: inherit; font-size: .8rem; color: #ccd6e5; }
.invite-photo-controls input::file-selector-button { min-height: 44px; border: 1px solid #43566e; border-radius: 8px; background: #1a293b; color: white; padding: 9px 14px; margin-right: 10px; cursor: pointer; }
.invite-panel small { display: block; font-size: .75rem; line-height: 1.7; }
.invite-reward { padding: 22px; border: 1px solid #32485b; border-radius: 14px; background: #152231; }
.invite-reward > p:not(.eyebrow) { font-size: .88rem; }
.invite-progress-label { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-top: 22px; }
.invite-progress-label strong { color: #7df5e8; font-size: 1.6rem; white-space: nowrap; }
.invite-progress-label span { color: #b9c1d2; font-size: .75rem; text-align: right; }
.invite-reward progress { display: block; appearance: none; width: 100%; height: 9px; margin: 10px 0 14px; border: 0; border-radius: 20px; overflow: hidden; background: #2c3b4e; accent-color: #62e7d6; }
.invite-reward progress::-webkit-progress-bar { background: #2c3b4e; }
.invite-reward progress::-webkit-progress-value { background: #62e7d6; border-radius: 20px; }
.invite-reward progress::-moz-progress-bar { background: #62e7d6; border-radius: 20px; }
.invite-panel .text-link { font-size: .8rem; min-height: 44px; display: inline-flex; align-items: center; }
.invite-link-label { display: block; font-size: .85rem; margin: 24px 0 10px; }
.invite-link-row { display: flex; gap: 8px; }
.invite-link-row input { min-width: 0; width: 100%; border: 1px solid #43566e; background: #09111e; border-radius: 8px; padding: 12px; color: #e0e7f3; font: inherit; font-size: .78rem; }
.invite-link-row button, .invite-socials a { min-height: 44px; border: 1px solid #43566e; border-radius: 8px; background: #1a293b; color: #f1f5fc; padding: 10px 14px; font: inherit; font-size: .8rem; cursor: pointer; }
.invite-primary-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.invite-primary-actions .button { padding: 13px 18px; min-height: 48px; flex: 1 1 160px; font-size: .83rem; }
.invite-primary-actions .button--outline { border: 1px solid #43566e; background: transparent; color: #f1f5fc; }
.invite-primary-actions button:disabled { opacity: .5; cursor: wait; }
.invite-socials { display: flex; flex-wrap: wrap; gap: 8px; }
.invite-socials a { display: inline-flex; align-items: center; text-decoration: none; }
.invite-panel .invite-share-note { font-size: .75rem; line-height: 1.7; margin-top: 16px; }
.invite-panel .invite-status { color: #7df5e8; min-height: 24px; font-size: .82rem; margin: 12px 0; }
.invite-panel :focus-visible { outline: 3px solid #7df5e8; outline-offset: 4px; }
.invite-panel [hidden] { display: none !important; }
.invite-service-note { position: relative; z-index: 2; max-width: 650px; text-align: center; }
@media (min-width: 850px) { .invite-panel__layout { grid-template-columns: 1fr 1fr; gap: 38px; } .invite-actions-panel { grid-column: 1; } .invite-card-editor { grid-column: 2; grid-row: 1; } }
@media (max-width: 420px) { .invite-panel { padding: 18px; } .invite-reward { padding: 17px; } }
