/* Campaigns: public availability, personal progress and administration. */
.launch-ui { min-width: 0; overflow-wrap: anywhere; }
.launch-ui .button { max-width: 100%; white-space: normal; text-align: center; }
.launch-ui .button .icon { flex-shrink: 0; }
.launch-ui .button:disabled { cursor: not-allowed; }
.launch-ui .badge { max-width: 100%; white-space: normal; }
.launch-ui .panel-header { align-items: start; flex-wrap: wrap; gap: 12px; }
.launch-ui .form-note, .launch-ui .field-help { line-height: 1.6; }
.launch-ui input, .launch-ui select, .launch-ui textarea { min-width: 0; max-width: 100%; }
.launch-ui input[type="checkbox"] { flex: 0 0 auto; }
.launch-ui .check-label { align-items: start; }
.launch-ui .check-label > span { min-width: 0; }
.launch-ui .page-heading, .launch-ui .section-heading { flex-wrap: wrap; }
.launch-ui .page-heading > div, .launch-ui .section-heading > div { min-width: 0; }
.launch-ui details > summary { cursor: pointer; font-weight: 650; line-height: 1.5; }
.launch-ui details > summary:focus-visible { border-radius: 4px; }
.launch-description, .launch-decision-note p { white-space: pre-line; }
.launch-description { line-height: 1.7; }
.launch-campaign-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); align-items: start; gap: 24px; }
.launch-campaign-card { display: flex; flex-direction: column; min-width: 0; height: 100%; margin: 0; padding: 28px; }
.launch-card-heading { display: flex; gap: 14px; align-items: start; margin-bottom: 20px; }
.launch-card-heading > div { min-width: 0; }
.launch-card-heading h2 { margin: 0 0 10px; font-size: 24px; line-height: 1.3; }
.launch-card-heading .category-icon { flex-shrink: 0; }
.launch-card-promise { font-size: 15px; font-weight: 650; color: #17428e; line-height: 1.6; }
.launch-card-actions { margin-top: auto; padding-top: 22px; }
.launch-banner-wrap { margin-top: 28px; margin-bottom: 40px; }
.launch-banner-wrap > .section-heading { margin-bottom: 20px; }
.launch-banner-wrap > .section-heading h2 { font-size: clamp(23px, 2.7vw, 32px); }
.launch-home-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.launch-home-grid > :only-child { grid-column: 1 / -1; }
.launch-home-grid:has(> :nth-child(2):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.launch-campaign-card-compact { padding: 24px; background: linear-gradient(125deg, #f6f9ff, #fff); border-color: #c9dafe; }
.launch-campaign-card-compact .launch-card-heading h2 { font-size: 22px; }
.launch-campaign-card-compact .launch-scope { margin-top: 16px; }
.launch-campaign-card-compact .launch-scope > div { grid-template-columns: 82px minmax(0, 1fr); }
.launch-campaign-card-compact .launch-description { font-size: 14px; }
.launch-hero { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(270px, 1fr); gap: 40px; align-items: center; padding: 16px 0 36px; }
.launch-hero-copy { min-width: 0; }
.launch-hero h1 { margin: 0 0 18px; font-size: clamp(32px, 4.6vw, 54px); line-height: 1.12; letter-spacing: -1.4px; }
.launch-hero .launch-lead { font-size: 20px; font-weight: 650; color: #17428e; }
.launch-hero .button-row { margin-top: 24px; }
.launch-availability-card { padding: 28px; border: 1px solid #c9dafe; border-radius: var(--radius, 18px); background: #f0f5ff; min-width: 0; }
.launch-availability-card > p:last-child { margin-bottom: 0; }
.launch-allocation { margin: 6px 0 22px; }
.launch-allocation-heading { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 14px; flex-wrap: wrap; }
.launch-allocation-heading p { display: flex; align-items: center; gap: 12px; margin: 0; min-width: 0; }
.launch-allocation-heading p > span { font-size: 13px; line-height: 1.5; max-width: 165px; }
.launch-free-places { color: #17428e; font-size: 44px; line-height: 1; font-weight: 750; letter-spacing: -1px; }
.launch-percent { color: #17428e; font-variant-numeric: tabular-nums; font-size: 15px; white-space: nowrap; }
.launch-allocation-footer { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 8px 14px; color: var(--muted, #53627a); font-size: 12px; }
.launch-extra-count { font-weight: 650; color: var(--success, #11654a); }
.launch-allocation-note { margin: 10px 0 0; font-size: 12px; }
.launch-progress-bar { display: block; width: 100%; height: 11px; margin: 0 0 12px; border: 0; border-radius: 20px; overflow: hidden; background: #e7eefb; accent-color: #2563eb; }
.launch-progress-bar::-webkit-progress-bar { background: #e7eefb; border-radius: 20px; }
.launch-progress-bar::-webkit-progress-value { background: #2563eb; border-radius: 20px; }
.launch-progress-bar::-moz-progress-bar { background: #2563eb; border-radius: 20px; }
.launch-progress-heading { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 10px 16px; margin-bottom: 12px; }
.launch-progress-heading > strong:first-child { font-size: 20px; }
.launch-progress-heading .launch-percent { font-size: 24px; }
.launch-scope { margin: 22px 0; }
.launch-scope > div { display: grid; grid-template-columns: minmax(90px, .38fr) minmax(0, 1fr); gap: 10px 16px; margin-bottom: 10px; }
.launch-scope dt { font-size: 12px; color: var(--muted, #53627a); }
.launch-scope dd { margin: 0; min-width: 0; font-size: 13px; line-height: 1.6; }
.launch-scope-panel h2, .launch-public-participants h2 { font-size: 23px; }
.launch-scope-panel, .launch-public-participants { margin-bottom: 26px; }
.launch-own-summary { margin: 0 0 18px; border-radius: 10px; background: #eef5ff; padding: 16px; }
.launch-own-summary > div { display: flex; gap: 12px; justify-content: space-between; margin-bottom: 10px; }
.launch-own-summary p { margin: 0; font-size: 12px; line-height: 1.6; }
.launch-public-progress { border-top: 1px solid var(--line, #dde4ef); border-bottom: 1px solid var(--line, #dde4ef); padding: 15px 0; margin: 4px 0 0; }
.launch-public-progress > summary { color: var(--ink, #17243d); font-size: 14px; }
.launch-public-progress > summary > span { display: block; color: var(--muted, #53627a); font-size: 12px; font-weight: 400; margin-top: 4px; }
.launch-public-progress > summary > .launch-progress-peek { display: inline-block; color: #17428e; font-weight: 650; margin-right: 12px; }
.launch-public-progress-content { padding-top: 18px; }
.launch-public-progress-content > p:last-child { margin-bottom: 0; }
.launch-anonymous-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 0; margin: 0 0 16px; list-style: none; }
.launch-anonymous-list > li { min-width: 0; border: 1px solid #e2e9f4; border-radius: 9px; padding: 12px; background: #f8faff; }
.launch-anonymous-list li > div { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 6px; font-size: 12px; margin-bottom: 9px; }
.launch-anonymous-list li > div strong { color: #17428e; font-size: 14px; }
.launch-anonymous-list .launch-progress-bar { height: 7px; margin-bottom: 7px; }
.launch-anonymous-list .form-note { font-size: 11px; }
.launch-participant-total { padding-top: 10px; border-top: 1px solid var(--line, #dde4ef); }
.launch-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-bottom: 32px; }
.launch-step { min-width: 0; padding: 24px; border: 1px solid var(--line, #dde4ef); border-radius: 14px; }
.launch-step-number { display: inline-grid; place-items: center; width: 34px; height: 34px; border-radius: 50%; color: #17428e; background: #eaf1ff; font-weight: 750; }
.launch-step h2 { margin: 16px 0 10px; font-size: 20px; line-height: 1.35; }
.launch-step p { margin: 0; }
.launch-terms { scroll-margin-top: 110px; margin-bottom: 28px; }
.launch-terms h2 { font-size: 24px; }
.launch-rules { margin: 0; padding-left: 24px; }
.launch-rules > li { padding: 18px 0 18px 10px; border-top: 1px solid var(--line, #dde4ef); line-height: 1.7; }
.launch-rules > li::marker { color: #17428e; font-weight: 700; }
.launch-own-list { width: 100%; min-width: 0; margin-bottom: 28px; scroll-margin-top: 110px; }
.page-heading:has(> .launch-own-list) { flex-wrap: wrap; }
.page-heading > .launch-own-list { flex: 0 0 100%; }
.launch-own-list > .launch-account:last-of-type { margin-bottom: 20px; }
.launch-account { margin-bottom: 24px; scroll-margin-top: 110px; }
.launch-account .panel-header { margin-bottom: 20px; }
.launch-account .panel-header h2 { margin: 0; font-size: 24px; line-height: 1.3; }
.launch-account .panel-header .eyebrow { margin-bottom: 8px; }
.launch-own-progress-block { margin: 22px 0; }
.launch-own-progress-block > p:last-child { margin-bottom: 0; }
.launch-key-date { margin-bottom: 8px; font-weight: 700; font-size: 17px; }
.launch-free-rate { margin: 0 0 10px; font-size: 40px; font-weight: 750; line-height: 1.2; color: var(--success, #11654a); }
.launch-free-rate span { display: inline-block; font-size: 15px; font-weight: 600; color: var(--ink, #17243d); margin-left: 6px; }
.launch-own-dates, .launch-control-dates, .launch-frozen-rules { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 20px 0; }
.launch-own-dates > div, .launch-control-dates > div, .launch-frozen-rules > div { min-width: 0; }
.launch-own-dates dt, .launch-control-dates dt, .launch-frozen-rules dt { color: var(--muted, #53627a); font-size: 12px; margin-bottom: 5px; }
.launch-own-dates dd, .launch-control-dates dd, .launch-frozen-rules dd { margin: 0; font-size: 14px; font-weight: 650; line-height: 1.5; }
.launch-own-scope { margin-top: 22px; }
.launch-own-scope > summary { font-size: 14px; }
.launch-account-footer { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: 12px; margin-top: 22px; padding-top: 18px; border-top: 1px solid var(--line, #dde4ef); }
.launch-account-footer .form-note { margin-bottom: 0; font-size: 12px; }
.launch-seller-setup { padding: 24px; background: #f7f9fd; }
.launch-seller-setup h2 { margin-top: 0; font-size: 24px; }
.launch-seller-setup form { margin: 16px 0 12px; }
.launch-setup-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 20px; margin: 18px 0; padding: 0; list-style: none; }
.launch-setup-list li { display: flex; align-items: start; gap: 10px; min-width: 0; }
.launch-setup-list a { min-width: 0; line-height: 1.5; }
.launch-step-status { display: inline-flex; flex-shrink: 0; color: var(--muted, #53627a); }
.launch-step-status .icon { width: 20px; height: 20px; }
.launch-setup-list .is-complete .launch-step-status { color: var(--success, #11654a); }
.launch-normal-rate { margin: 0; }
.launch-notice { padding: 14px 16px; border: 1px solid #c9dafe; border-radius: 10px; background: #f1f6ff; font-size: 13px; line-height: 1.6; }
.launch-notice.warm { background: #fff8e9; border-color: #ead8a8; color: #714800; }
.launch-available-actions { margin-top: 34px; }
.launch-available-actions .section-heading h2 { font-size: 26px; }
.launch-available-actions .section-heading p { margin-top: 10px; }
.launch-join-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; align-items: start; }
.launch-join { scroll-margin-top: 110px; min-width: 0; margin: 0 0 24px; }
.launch-join h2 { margin: 0; font-size: 23px; line-height: 1.3; }
.launch-join form .check-label { margin: 20px 0 10px; }
.launch-campaign-switcher { display: flex; align-items: end; gap: 16px; margin-bottom: 28px; }
.launch-campaign-switcher .field { flex: 1; margin: 0; min-width: 0; }
.launch-campaign-switcher select { width: 100%; }
.launch-admin-overview > .section-heading { margin-bottom: 16px; align-items: center; }
.launch-admin-overview > .section-heading h2 { font-size: 29px; }
.launch-admin-overview > .section-heading p { margin: 12px 0 0; }
.launch-admin-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.launch-stat { min-width: 0; padding: 22px; border: 1px solid var(--line, #dde4ef); border-radius: 14px; background: #f7f9fd; }
.launch-stat h3 { font-size: 13px; margin: 0 0 14px; color: var(--muted, #53627a); line-height: 1.5; letter-spacing: 0; }
.launch-stat-value { font-size: 36px; font-weight: 750; margin: 0; line-height: 1.2; }
.launch-stat-value span { font-size: 17px; color: var(--muted, #53627a); }
.launch-admin-controls { margin-bottom: 24px; }
.launch-admin-controls h2 { font-size: 24px; }
.launch-admin-controls .button-row form { margin: 0; }
.launch-admin-controls .button-row { margin: 22px 0 16px; align-items: stretch; }
.launch-admin-controls .button-row .button { height: 100%; }
.launch-admin-controls > p:last-child { margin-bottom: 0; }
.launch-admin-editor { margin-bottom: 32px; }
.launch-admin-editor > summary { font-size: 22px; }
.launch-admin-editor[open] > summary { margin-bottom: 24px; }
.launch-admin-editor .panel-header h2 { font-size: 25px; }
.launch-campaign-fields .field { min-width: 0; }
.launch-campaign-fields textarea { resize: vertical; min-height: 105px; }
.launch-campaign-fields input, .launch-campaign-fields select, .launch-campaign-fields textarea { width: 100%; }
.launch-campaign-fields .field-help { margin-bottom: 0; }
.launch-scope-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin: 26px 0 18px; }
.launch-choice-fieldset { min-width: 0; border: 1px solid var(--line, #dde4ef); border-radius: 12px; padding: 18px; margin: 0; }
.launch-choice-fieldset legend { padding: 0 7px; font-size: 15px; font-weight: 650; }
.launch-choice-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; max-height: 290px; overflow-y: auto; padding: 7px 4px; }
.launch-choice-grid > .check-label { margin: 0; font-size: 13px; min-width: 0; }
.launch-choice-grid > p { grid-column: 1 / -1; }
.launch-participants-section { margin-top: 32px; }
.launch-participants-section > .section-heading { margin-bottom: 18px; }
.launch-participants-section h2 { font-size: 28px; }
.launch-participants-section > .section-heading p { margin: 10px 0 0; }
.launch-total-label { flex-shrink: 0; font-size: 13px; color: var(--muted, #53627a); }
.launch-filter-bar { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
.launch-filter { display: inline-flex; align-items: center; min-height: 39px; padding: 8px 15px; border: 1px solid var(--line, #dde4ef); border-radius: 25px; font-size: 13px; font-weight: 650; background: #fff; }
.launch-filter:hover { background: #f1f6ff; }
.launch-filter.is-active { background: #eaf1ff; border-color: #91b2f5; color: #17428e; }
.launch-participant-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; align-items: start; }
.launch-participant-card { min-width: 0; margin: 0; scroll-margin-top: 110px; }
.launch-campaign-grid > .launch-campaign-card, .launch-participant-grid > .launch-participant-card, .launch-join-grid > .launch-join { margin: 0; }
.launch-participant-heading { display: flex; align-items: start; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.launch-participant-heading h3 { margin: 0; font-size: 22px; min-width: 0; }
.launch-participant-email { margin: 8px 0 22px; font-size: 13px; color: var(--muted, #53627a); }
.launch-participant-details { margin: 0 0 20px; }
.launch-participant-details > div { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--line, #dde4ef); }
.launch-participant-details dt { color: var(--muted, #53627a); font-size: 12px; min-width: 0; }
.launch-participant-details dd { margin: 0; text-align: right; font-weight: 600; font-size: 13px; min-width: 0; }
.launch-participant-details .launch-late-value { color: #8a4e00; }
.launch-participant-actions { margin: 20px 0 0; }
.launch-participant-actions form { margin: 0; }
.launch-manual-decision { margin-top: 22px; border-top: 1px solid var(--line, #dde4ef); padding-top: 18px; }
.launch-manual-decision > summary { font-size: 15px; color: #17428e; }
.launch-manual-decision[open] > summary { margin-bottom: 18px; }
.launch-manual-decision > p { font-size: 13px; }
.launch-manual-decision .field { margin-top: 18px; }
.launch-manual-decision textarea { width: 100%; resize: vertical; }
.launch-manual-decision .button-row { align-items: stretch; }
.launch-manual-decision .button-row > .button { flex: 1 1 180px; }
.launch-decision-note { margin: 18px 0; padding: 16px; border-left: 3px solid #88a8e9; background: #f7f9fd; border-radius: 0 8px 8px 0; }
.launch-decision-note > strong { font-size: 13px; }
.launch-decision-note p { font-size: 13px; margin: 8px 0 0; }
.launch-registration-options { margin: 24px 0; padding: 20px; border: 1px solid #c9dafe; border-radius: 12px; background: #f8faff; min-width: 0; }
.launch-registration-options > legend { padding: 0 7px; font-size: 15px; font-weight: 650; color: #17428e; }
.launch-registration-choice { padding: 18px 0; border-top: 1px solid #dce6f6; }
.launch-registration-choice > .check-label { margin: 0 0 10px; }
.launch-registration-choice p { margin: 0 0 9px; font-size: 12px; }
.launch-registration-choice .launch-availability { color: #17428e; font-weight: 650; }
.launch-registration-choice .text-link { font-size: 12px; }
.launch-registration-options > .check-label { border-top: 1px solid #dce6f6; padding-top: 18px; margin-top: 0; }
.launch-registration-options > p:last-child { margin-bottom: 0; }
@media (max-width: 1050px) {
    .launch-home-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .launch-home-grid > :last-child:nth-child(3) { grid-column: 1 / -1; }
    .launch-campaign-card, .launch-availability-card { padding: 24px; }
    .launch-hero { gap: 28px; }
    .launch-admin-stats { gap: 12px; }
    .launch-stat { padding: 18px; }
    .launch-stat-value { font-size: 32px; }
}
@media (max-width: 800px) {
    .launch-hero { grid-template-columns: minmax(0, 1fr); padding-top: 4px; }
    .launch-hero h1 { max-width: 26ch; }
    .launch-campaign-grid, .launch-home-grid, .launch-home-grid:has(> :nth-child(2):last-child), .launch-join-grid, .launch-participant-grid { grid-template-columns: minmax(0, 1fr); }
    .launch-home-grid > :last-child:nth-child(3) { grid-column: auto; }
    .launch-admin-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .launch-scope-fields { grid-template-columns: minmax(0, 1fr); }
    .launch-steps { gap: 12px; }
    .launch-step { padding: 18px; }
    .launch-step h2 { font-size: 18px; }
    .launch-step p { font-size: 13px; }
    .launch-own-dates { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) {
    .launch-ui .section-heading, .launch-ui .page-heading { align-items: start; }
    .launch-campaign-card, .launch-availability-card, .launch-ui.panel, .launch-ui .panel { padding: 20px; }
    .launch-card-heading h2 { font-size: 22px; }
    .launch-card-heading .category-icon { width: 38px; height: 38px; }
    .launch-card-heading .category-icon .icon { width: 21px; height: 21px; }
    .launch-hero h1 { font-size: 34px; letter-spacing: -1px; }
    .launch-hero .launch-lead { font-size: 18px; }
    .launch-hero .button-row > .button { width: 100%; }
    .launch-steps, .launch-setup-list { grid-template-columns: minmax(0, 1fr); }
    .launch-step { padding: 20px; }
    .launch-step h2 { font-size: 20px; }
    .launch-step p { font-size: 14px; }
    .launch-campaign-switcher { flex-direction: column; align-items: stretch; }
    .launch-admin-controls .button-row { flex-direction: column; align-items: stretch; }
    .launch-admin-controls .button-row form .button { width: 100%; }
    .launch-choice-grid { grid-template-columns: minmax(0, 1fr); }
    .launch-progress-heading > strong:first-child { font-size: 18px; }
    .launch-progress-heading .launch-percent { font-size: 21px; }
    .launch-own-dates, .launch-control-dates, .launch-frozen-rules { grid-template-columns: minmax(0, 1fr); }
    .launch-participant-details > div { grid-template-columns: minmax(0, 1fr); gap: 4px; }
    .launch-participant-details dd { text-align: left; }
    .launch-registration-options { padding: 16px; }
    .launch-rules { padding-left: 19px; }
    .launch-rules > li { padding-left: 6px; }
}
@media (max-width: 360px) {
    .launch-anonymous-list { grid-template-columns: minmax(0, 1fr); }
    .launch-stat { padding: 14px; }
    .launch-stat-value { font-size: 28px; }
    .launch-scope > div, .launch-campaign-card-compact .launch-scope > div { grid-template-columns: minmax(0, 1fr); gap: 3px; }
}

/* A prominent, compact offer above the marketplace. */
.launch-home-promo { margin-top: 24px; margin-bottom: 20px; }
.launch-promo-hero { position: relative; isolation: isolate; overflow: hidden; border: 1px solid #bbcee9; border-radius: 22px; background: linear-gradient(115deg, #edf4ff 0%, #f8fbff 58%, #e7f0ff 100%); box-shadow: 0 10px 30px rgba(30, 65, 116, .06); }
.launch-promo-hero::before { content: ""; position: absolute; z-index: -1; top: -180px; right: -110px; width: 500px; height: 500px; border-radius: 50%; border: 1px solid rgba(37, 99, 235, .09); box-shadow: 0 0 0 60px rgba(37, 99, 235, .025), 0 0 0 120px rgba(37, 99, 235, .02); pointer-events: none; }
.launch-promo-topline { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 10px 20px; padding: 15px 30px; border-bottom: 1px solid rgba(114, 148, 196, .22); background: rgba(255, 255, 255, .56); }
.launch-promo-campaign-name { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; min-width: 0; font-size: 14px; font-weight: 650; }
.launch-promo-campaign-name > a { color: #233e69; }
.launch-promo-tag { display: inline-flex; flex-shrink: 0; color: #2563eb; }
.launch-promo-tag .icon { width: 19px; height: 19px; }
.launch-promo-admin-link { flex-shrink: 0; font-size: 13px; }
.launch-promo-main { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(290px, .9fr); align-items: center; gap: 30px; padding: 28px 30px; }
.launch-promo-copy { min-width: 0; }
.launch-promo-copy .eyebrow { margin: 0 0 10px; color: #335780; font-size: 11px; }
.launch-promo-copy h2 { margin: 0; max-width: 680px; color: #16396f; font-size: clamp(32px, 3.5vw, 49px); line-height: 1.08; letter-spacing: -1.8px; text-wrap: balance; }
.launch-promo-lead { margin: 16px 0 7px; color: #203f68; font-size: 18px; font-weight: 650; line-height: 1.45; }
.launch-promo-deadline { margin: 0; color: #52647e; font-size: 13px; line-height: 1.5; }
.launch-promo-actions { margin-top: 22px; gap: 12px 18px; }
.launch-promo-actions .button { min-height: 46px; }
.launch-promo-actions .text-link { font-size: 13px; line-height: 1.5; }
.launch-promo-availability { min-width: 0; padding: 23px 24px; background: #fff; border: 1px solid rgba(174, 193, 220, .6); border-radius: 16px; box-shadow: 0 8px 22px rgba(32, 66, 116, .055); }
.launch-promo-availability > .eyebrow { margin: 0 0 19px; color: #465b78; font-size: 11px; }
.launch-promo-availability .launch-allocation { margin: 0; }
.launch-promo-availability .launch-allocation-heading { gap: 10px; margin-bottom: 17px; }
.launch-promo-availability .launch-allocation-heading p { flex: 1 1 180px; }
.launch-promo-availability .launch-allocation-heading p > span { max-width: 125px; }
.launch-promo-availability .launch-free-places { font-size: 65px; letter-spacing: -2.5px; }
.launch-promo-availability .launch-percent { color: #1c4b98; font-size: 14px; }
.launch-promo-availability .launch-allocation-footer { margin-top: 0; gap: 7px 12px; }
.launch-promo-availability .launch-own-summary { margin: 17px 0 0; padding: 12px 14px; }
.launch-promo-availability .launch-own-summary > div { font-size: 13px; }
.launch-promo-place-note { display: flex; align-items: start; gap: 8px; margin: 16px 0 0; padding-top: 13px; border-top: 1px solid #e5ebf4; color: #53637c; font-size: 12px; line-height: 1.5; }
.launch-promo-place-note .icon { flex: 0 0 17px; width: 17px; height: 17px; margin-top: 1px; color: #1b6596; }
.launch-promo-detail-row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; gap: 0 28px; padding: 0 30px 18px; }
.launch-promo-detail-row > details { margin: 0; padding: 14px 0 0; border-top: 1px solid #cedcf0; border-bottom: 0; }
.launch-promo-detail-row > details > summary { color: #233e69; font-size: 13px; }
.launch-promo-scope > summary > span { display: block; margin: 4px 0 0; color: #53627a; font-size: 12px; font-weight: 400; }
.launch-promo-scope .launch-scope { margin: 18px 0; }
.launch-promo-scope .form-note { font-size: 12px; }
.launch-promo-detail-row .launch-public-progress > summary > span { display: inline-block; margin: 4px 10px 0 0; }
.launch-promo-detail-row .launch-public-progress > summary > span:first-of-type { display: block; }
.launch-promo-detail-row .launch-public-progress-content .form-note { font-size: 12px; }
.launch-promo-detail-row .launch-anonymous-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.launch-promo-overview-heading { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin: 15px 2px 0; }
.launch-promo-overview-heading h3 { margin: 0; color: #405675; font-size: 13px; font-weight: 650; }
.launch-promo-overview-heading > a { margin-left: auto; font-size: 13px; }
.launch-promo-more-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 13px; margin: 12px 0 0; padding: 0; list-style: none; }
.launch-promo-more-list > li { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(135px, .85fr); align-items: center; gap: 18px; min-width: 0; padding: 17px 20px; border: 1px solid #dce5f2; border-radius: 13px; background: #fff; }
.launch-promo-more-list > li:only-child { grid-column: 1 / -1; }
.launch-promo-more-copy { min-width: 0; }
.launch-promo-more-copy h4 { margin: 0; font-size: 14px; line-height: 1.4; }
.launch-promo-more-copy h4 a { display: inline-flex; gap: 7px; align-items: center; color: #1d4380; }
.launch-promo-more-copy h4 .icon { flex: 0 0 15px; width: 15px; height: 15px; }
.launch-promo-more-copy p { margin: 4px 0; font-size: 12px; line-height: 1.5; color: #405675; }
.launch-promo-more-status { display: block; font-size: 11px; color: #68788f; line-height: 1.4; }
.launch-promo-more-places { min-width: 0; }
.launch-promo-more-places > strong { display: block; font-size: 12px; color: #284e87; line-height: 1.5; }
.launch-promo-more-places > .launch-progress-bar { height: 6px; margin: 8px 0 5px; }
.launch-promo-more-places > span { display: block; font-size: 11px; color: #63738a; line-height: 1.45; }
.launch-promo-admin-empty { display: flex; align-items: start; gap: 22px; padding: 28px 30px; border: 1px solid #aec6e9; border-left: 5px solid #2563eb; border-radius: 18px; background: linear-gradient(115deg, #eef5ff, #fff); }
.launch-promo-admin-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 48px; height: 48px; border-radius: 14px; background: #dce9ff; color: #2257ae; }
.launch-promo-admin-icon .icon { width: 24px; height: 24px; }
.launch-promo-admin-copy { min-width: 0; }
.launch-promo-admin-copy .eyebrow { margin: 0 0 8px; font-size: 11px; }
.launch-promo-admin-copy h2 { margin: 0 0 10px; color: #173f78; font-size: 28px; line-height: 1.2; letter-spacing: -.7px; }
.launch-promo-admin-copy > p { max-width: 750px; margin: 0 0 16px; color: #52647e; font-size: 14px; line-height: 1.6; }
.launch-promo-admin-copy > .launch-promo-draft-count { margin: -5px 0 16px; color: #2d588c; font-size: 12px; font-weight: 650; }
@media (max-width: 1050px) {
    .launch-promo-main { grid-template-columns: minmax(0, 1.15fr) minmax(270px, .9fr); gap: 22px; padding: 25px; }
    .launch-promo-copy h2 { font-size: 39px; }
    .launch-promo-topline { padding: 14px 25px; }
    .launch-promo-detail-row { padding: 0 25px 18px; gap: 22px; }
    .launch-promo-availability { padding: 20px; }
    .launch-promo-more-list > li { grid-template-columns: minmax(0, 1fr); gap: 10px; }
}
@media (max-width: 760px) {
    .launch-home-promo { margin-top: 18px; margin-bottom: 16px; }
    .launch-promo-main { grid-template-columns: minmax(0, 1fr); gap: 22px; }
    .launch-promo-copy h2 { max-width: 600px; font-size: clamp(32px, 6.6vw, 42px); letter-spacing: -1.3px; }
    .launch-promo-lead { font-size: 17px; margin-top: 14px; }
    .launch-promo-actions { margin-top: 18px; }
    .launch-promo-availability { padding: 19px 20px; }
    .launch-promo-availability > .eyebrow { margin-bottom: 12px; }
    .launch-promo-availability .launch-allocation-heading p { flex-basis: 150px; }
    .launch-promo-availability .launch-allocation-heading p > span { max-width: 150px; }
    .launch-promo-availability .launch-free-places { font-size: 53px; letter-spacing: -2px; }
    .launch-promo-detail-row { grid-template-columns: minmax(0, 1fr); gap: 14px; }
    .launch-promo-more-list { grid-template-columns: minmax(0, 1fr); }
    .launch-promo-more-list > li { grid-template-columns: minmax(0, 1.15fr) minmax(120px, .85fr); gap: 16px; }
    .launch-promo-admin-empty { padding: 24px; gap: 16px; }
    .launch-promo-admin-copy h2 { font-size: 25px; }
}
@media (max-width: 480px) {
    .launch-promo-hero { border-radius: 16px; }
    .launch-promo-topline { padding: 13px 18px; }
    .launch-promo-campaign-name { gap: 8px; font-size: 12px; }
    .launch-promo-campaign-name > .badge { font-size: 10px; }
    .launch-promo-main { padding: 22px 18px; gap: 20px; }
    .launch-promo-copy h2 { font-size: 32px; letter-spacing: -1.1px; }
    .launch-promo-lead { font-size: 16px; }
    .launch-promo-actions { align-items: stretch; flex-direction: column; gap: 13px; }
    .launch-promo-actions > .button { width: 100%; }
    .launch-promo-actions > .text-link { align-self: flex-start; }
    .launch-promo-availability { padding: 17px 16px; }
    .launch-promo-availability .launch-allocation-heading p { flex-basis: 145px; }
    .launch-promo-availability .launch-free-places { font-size: 49px; }
    .launch-promo-detail-row { padding: 0 18px 18px; }
    .launch-promo-detail-row .launch-anonymous-list { grid-template-columns: minmax(0, 1fr); }
    .launch-promo-more-list > li { grid-template-columns: minmax(0, 1fr); padding: 15px 17px; gap: 11px; }
    .launch-promo-more-places > .launch-progress-bar { max-width: 220px; }
    .launch-promo-admin-empty { padding: 22px 18px; gap: 0; }
    .launch-promo-admin-icon { display: none; }
    .launch-promo-admin-copy h2 { font-size: 25px; }
    .launch-promo-admin-copy .button-row { flex-direction: column; align-items: stretch; }
}

/* The saved standard promotion can be activated directly from either admin entry. */
.launch-standard-template { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(280px, 1fr); align-items: center; gap: 30px; padding: 28px 30px; margin-bottom: 28px; border: 1px solid #b7ccec; border-radius: 18px; background: linear-gradient(115deg, #edf4ff, #fafcff); }
.launch-standard-copy, .launch-standard-action { min-width: 0; }
.launch-standard-copy > .eyebrow { margin: 0 0 8px; color: #476284; font-size: 10px; }
.launch-standard-copy > h2 { margin: 0; color: #1c427d; font-size: 29px; line-height: 1.2; letter-spacing: -.8px; }
.launch-standard-language { display: flex; gap: 7px; align-items: start; margin: 11px 0 0; color: #3f5f86; font-size: 12px; line-height: 1.5; }
.launch-standard-language > .icon { flex: 0 0 16px; width: 16px; height: 16px; margin-top: 1px; color: #23634f; }
.launch-standard-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 15px; margin: 24px 0 15px; }
.launch-standard-facts > div { min-width: 0; }
.launch-standard-facts dt { min-height: 32px; margin: 0 0 6px; color: #536986; font-size: 11px; line-height: 1.45; }
.launch-standard-facts dd { margin: 0; color: #1b488c; font-size: 26px; line-height: 1.15; font-weight: 750; letter-spacing: -.8px; }
.launch-standard-scope { margin: 0; color: #536986; font-size: 12px; line-height: 1.6; }
.launch-standard-action { padding: 22px; border: 1px solid #d9e4f3; border-radius: 13px; background: #fff; }
.launch-standard-action form { margin: 0; }
.launch-standard-action .button { width: 100%; min-height: 48px; }
.launch-standard-immediate { margin: 12px 0 16px; color: #365b8c; text-align: center; font-size: 12px; font-weight: 650; line-height: 1.5; }
.launch-standard-action .form-note { margin: 9px 0 0; color: #62728a; font-size: 12px; }
.launch-standard-scope-editor { grid-column: 1 / -1; min-width: 0; margin: 0; padding-top: 24px; border-top: 1px solid #c5d5eb; }
.launch-standard-scope-editor h3 { margin: 0 0 10px; color: #1c427d; font-size: 21px; line-height: 1.35; }
.launch-standard-scope-editor > .form-note { margin: 0 0 12px; }
.launch-standard-scope-editor .launch-scope-fields { margin: 18px 0; }
.launch-standard-scope-editor .launch-choice-fieldset { background: rgba(255, 255, 255, .8); border-color: #c5d5eb; }
.launch-standard-scope-editor .button-row { margin-top: 18px; }
#launch-standard-heading { scroll-margin-top: 120px; }
.launch-promo-admin-copy > .launch-promo-template-summary { margin-top: -6px; color: #274f88; font-weight: 650; }
.launch-promo-admin-copy .button-row > form { margin: 0; max-width: 100%; }
.launch-promo-admin-copy > .launch-promo-standard-note { max-width: 850px; margin: 15px 0 0; color: #65758c; font-size: 12px; }
@media (max-width: 850px) {
    .launch-standard-template { grid-template-columns: minmax(0, 1fr); gap: 22px; padding: 25px; }
    .launch-standard-action { padding: 20px; }
    .launch-standard-action .button { width: auto; }
    .launch-standard-immediate { text-align: left; }
}
@media (max-width: 480px) {
    .launch-standard-template { padding: 22px 19px; gap: 20px; border-radius: 15px; }
    .launch-standard-copy > h2 { font-size: 25px; }
    .launch-standard-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 20px; margin: 20px 0 16px; }
    .launch-standard-facts dt { min-height: 0; }
    .launch-standard-facts dd { font-size: 25px; }
    .launch-standard-action { padding: 17px; }
    .launch-standard-action .button, .launch-promo-admin-copy .button-row > form, .launch-promo-admin-copy .button-row > form > .button { width: 100%; }
    .launch-standard-scope-editor .launch-scope-fields { grid-template-columns: minmax(0, 1fr); gap: 18px; }
    .launch-standard-scope-editor .button-row > .button { width: 100%; }
}
