/* The campaign's sharing workspace, inside the existing native dialog. */
#dialog.is-campaign-share {
  max-width: 960px;
  width: calc(100% - 32px);
  max-height: calc(100dvh - 40px);
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: var(--panel);
  color: var(--text);
  overflow-x: hidden;
  overflow-y: auto;
  scrollbar-gutter: stable;
  box-shadow: 0 28px 100px #0006;
}
#dialog.is-campaign-share::backdrop { background: #09090fba; backdrop-filter: blur(8px); }
#dialog.is-campaign-share .dialog-head {
  position: sticky;
  top: 0;
  z-index: 3;
  gap: 16px;
  padding: 14px 24px;
  background: var(--panel);
  border-bottom: 1px solid var(--line);
}
#dialog.is-campaign-share .dialog-head h2 { font-size: 18px; font-weight: 650; letter-spacing: -.45px; }
#dialog.is-campaign-share .dialog-head .close {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 7px;
  color: var(--muted);
  background: transparent;
}
#dialog.is-campaign-share .dialog-head .close:hover { color: var(--text); background: var(--panel2); }
#dialog.is-campaign-share .dialog-body { padding: 24px; overflow: visible; }
#dialog.is-campaign-share .share-workspace {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 24px 28px;
  align-items: start;
}
#dialog.is-campaign-share .share-workspace > * { min-width: 0; }
#dialog.is-campaign-share .share-visual {
  display: grid;
  align-content: start;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: #15151b;
}
#dialog.is-campaign-share .share-art { position: relative; aspect-ratio: 16 / 10; overflow: hidden; background: #25232b; }
#dialog.is-campaign-share .share-art img { display: block; width: 100%; height: 100%; object-fit: contain; }
#dialog.is-campaign-share .share-poster-copy { padding: 24px; border-top: 3px solid #e02744; }
#dialog.is-campaign-share .share-kicker { display: block; font-size: 9px; line-height: 1.5; font-weight: 750; letter-spacing: 1.7px; text-transform: uppercase; color: var(--theme-accent); }
#dialog.is-campaign-share .share-poster-copy .share-kicker { color: #ff8695; }
#dialog.is-campaign-share .share-poster-copy .share-title { margin: 10px 0 13px; color: #fff; font-size: 30px; line-height: 1.12; letter-spacing: -1.1px; overflow-wrap: anywhere; }
#dialog.is-campaign-share .share-poster-copy .share-reward { margin: 0; color: #f5d9df !important; font-size: 15px; font-weight: 550; line-height: 1.5; overflow-wrap: anywhere; }
#dialog.is-campaign-share .share-poster-copy .share-meta { margin: 11px 0 0; color: #bcb8c4 !important; font-size: 10px; line-height: 1.65; overflow-wrap: anywhere; }
#dialog.is-campaign-share .share-brand { display: inline-block; margin-top: 22px; padding-top: 12px; border-top: 1px solid #ffffff24; color: #ddd9e3; font-size: 10px; font-weight: 750; letter-spacing: 2px; text-transform: uppercase; }
#dialog.is-campaign-share .share-brand span { color: #ff8695; }
#dialog.is-campaign-share .share-downloads { display: flex; align-items: end; gap: 10px; padding: 15px; border-top: 1px solid var(--line); background: var(--panel2); }
#dialog.is-campaign-share .share-format { flex: 1; min-width: 0; font-size: 10px; font-weight: 600; }
#dialog.is-campaign-share .share-format select { min-height: 44px; margin-top: 5px; border-radius: 6px; padding: 10px 28px 10px 10px; font-size: 12px; }
#dialog.is-campaign-share .share-downloads .btn { flex: 0 0 auto; padding-inline: 14px; font-size: 12px; }
#dialog.is-campaign-share .share-tools { display: grid; gap: 18px; }
#dialog.is-campaign-share .share-intro h3 { margin: 7px 0 8px; font-size: 31px; line-height: 1.1; letter-spacing: -1.15px; color: var(--text); }
#dialog.is-campaign-share .share-intro p { margin: 0; font-size: 12px; line-height: 1.6; color: var(--muted); }
#dialog.is-campaign-share .share-referral { display: flex; align-items: flex-start; gap: 10px; padding: 12px 0 12px 12px; border-left: 2px solid var(--theme-accent); background: var(--theme-selected); }
#dialog.is-campaign-share .share-referral > svg { flex: 0 0 18px; width: 18px; height: 18px; margin-top: 2px; color: var(--theme-accent); }
#dialog.is-campaign-share .share-referral p { margin: 0; padding-right: 12px; font-size: 11px; line-height: 1.6; }
#dialog.is-campaign-share :is(.share-link-section > label, .share-section-head label) { font-size: 11px; font-weight: 650; }
#dialog.is-campaign-share .share-link-row { display: flex; gap: 8px; margin-top: 8px; }
#dialog.is-campaign-share .share-link-row input { flex: 1; min-width: 0; min-height: 46px; margin: 0; padding: 12px; border-radius: 6px; font-size: 12px; text-overflow: ellipsis; }
#dialog.is-campaign-share .btn { min-height: 44px; border-radius: 6px; padding: 11px 15px; font-size: 12px; gap: 7px; }
#dialog.is-campaign-share :is(.btn, .share-text-button) svg { width: 18px; height: 18px; flex: none; vertical-align: middle; }
#dialog.is-campaign-share .share-text-button { border: 0; }
#dialog.is-campaign-share .share-link-row .btn { flex: 0 0 auto; min-height: 46px; }
#dialog.is-campaign-share .share-link-note { margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
#dialog.is-campaign-share .share-channel-grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 7px; }
#dialog.is-campaign-share .share-channel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-height: 66px;
  min-width: 0;
  padding: 11px 3px;
  border: 1px solid var(--line);
  border-radius: 6px;
  color: var(--theme-text);
  background: var(--theme-panel2);
  text-decoration: none;
}
#dialog.is-campaign-share .share-channel svg { flex: none; width: 20px; height: 20px; }
#dialog.is-campaign-share .share-channel span { max-width: 100%; font-size: 10px; line-height: 1.2; font-weight: 550; }
#dialog.is-campaign-share .share-channel:hover { background: var(--theme-hover); border-color: var(--theme-accent); color: var(--theme-accent); text-decoration: none; }
#dialog.is-campaign-share .share-channel:active { background: var(--theme-selected); }
#dialog.is-campaign-share .share-native { width: 100%; margin-top: -8px; background: transparent; }
#dialog.is-campaign-share .share-caption-section { border-top: 1px solid var(--line); padding-top: 12px; }
#dialog.is-campaign-share .share-section-head, #dialog.is-campaign-share .share-caption-footer { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
#dialog.is-campaign-share .share-section-head { margin: -7px 0 2px; }
#dialog.is-campaign-share .share-text-button { min-height: 44px; padding: 8px 0 8px 8px; flex-shrink: 0; background: transparent; color: var(--theme-accent); font-size: 11px; font-weight: 650; border-radius: 3px; text-align: right; }
#dialog.is-campaign-share .share-text-button:hover { text-decoration: underline; text-underline-offset: 3px; }
#dialog.is-campaign-share #shareCaption { display: block; width: 100%; min-height: 116px; max-height: 300px; padding: 12px; border-radius: 6px; font-size: 12px; line-height: 1.65; resize: vertical; }
#dialog.is-campaign-share .share-caption-footer { margin-bottom: -10px; }
#dialog.is-campaign-share .share-caption-footer small { font-size: 10px; line-height: 1.5; color: var(--muted); }
#dialog.is-campaign-share .share-extras { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; padding-top: 2px; }
#dialog.is-campaign-share .share-extra { min-width: 0; margin: 0; padding: 0; border-top: 1px solid var(--line); border-bottom: 0; }
#dialog.is-campaign-share .share-extra summary { min-height: 48px; padding: 14px 0; color: var(--text); font-size: 12px; font-weight: 600; line-height: 1.6; cursor: pointer; }
#dialog.is-campaign-share .share-extra summary::marker { color: var(--muted); }
#dialog.is-campaign-share .share-extra summary span { display: block; margin-left: 15px; color: var(--muted); font-size: 10px; font-weight: 400; }
#dialog.is-campaign-share .share-extra[open] summary { color: var(--theme-accent); }
#dialog.is-campaign-share .share-extra > :not(summary) { margin-bottom: 13px; }
#dialog.is-campaign-share .share-extra :is(label, p) { font-size: 11px; line-height: 1.6; }
#dialog.is-campaign-share .share-extra textarea { margin-top: 7px; border-radius: 6px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 10px; line-height: 1.6; overflow-wrap: anywhere; }
#dialog.is-campaign-share .share-qr-content { display: grid; grid-template-columns: 132px minmax(0, 1fr); align-items: center; gap: 16px; padding: 5px 0; }
#dialog.is-campaign-share #shareQr { width: 132px; max-width: 100%; aspect-ratio: 1; background: #fff; color: #111; border-radius: 4px; overflow: hidden; }
#dialog.is-campaign-share #shareQr svg { display: block; width: 100%; height: 100%; }
#dialog.is-campaign-share .share-qr-content h4 { margin: 0 0 6px; font-size: 13px; line-height: 1.4; color: var(--text); }
#dialog.is-campaign-share .share-qr-content p { margin: 0 0 10px; font-size: 11px; line-height: 1.6; }
#dialog.is-campaign-share .share-qr-content .btn { padding-inline: 12px; font-size: 11px; }
#dialog.is-campaign-share .share-feedback { grid-column: 1 / -1; margin: -12px 0 0; color: var(--theme-accent) !important; font-size: 12px; line-height: 1.5; overflow-wrap: anywhere; }
#dialog.is-campaign-share .share-feedback:empty { display: none; }
#dialog.is-campaign-share .share-draft { margin: 0; padding: 20px; border-left: 3px solid var(--theme-accent); background: var(--panel2); font-size: 13px; line-height: 1.7; }
#dialog.is-campaign-share :is(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--theme-accent); outline-offset: 3px; }

@media (max-width: 820px) {
  #dialog.is-campaign-share .dialog-body { padding: 20px; }
  #dialog.is-campaign-share .share-workspace { gap: 22px; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); }
  #dialog.is-campaign-share .share-poster-copy { padding: 20px; }
  #dialog.is-campaign-share .share-poster-copy .share-title { font-size: 26px; }
  #dialog.is-campaign-share .share-intro h3 { font-size: 27px; }
  #dialog.is-campaign-share .share-downloads { flex-wrap: wrap; }
  #dialog.is-campaign-share .share-downloads .share-format { flex-basis: 100%; }
  #dialog.is-campaign-share .share-downloads .btn { width: 100%; }
  #dialog.is-campaign-share .share-qr-content { grid-template-columns: 110px minmax(0, 1fr); gap: 12px; }
  #dialog.is-campaign-share #shareQr { width: 110px; }
}
@media (max-width: 680px) {
  #dialog.is-campaign-share { width: calc(100% - 20px); max-height: calc(100dvh - 20px); border-radius: 12px; }
  #dialog.is-campaign-share .dialog-head { padding: 8px 16px; gap: 9px; }
  #dialog.is-campaign-share .dialog-head h2 { font-size: 17px; }
  #dialog.is-campaign-share .dialog-body { padding: 16px; }
  #dialog.is-campaign-share .share-workspace { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  #dialog.is-campaign-share .share-visual { grid-template-columns: 116px minmax(0, 1fr); }
  #dialog.is-campaign-share .share-art { aspect-ratio: auto; min-height: 170px; }
  #dialog.is-campaign-share .share-poster-copy { padding: 17px; border-top: 0; border-left: 3px solid #e02744; }
  #dialog.is-campaign-share .share-poster-copy .share-title { font-size: 22px; letter-spacing: -.6px; margin: 7px 0 9px; }
  #dialog.is-campaign-share .share-poster-copy .share-reward { font-size: 12px; line-height: 1.5; }
  #dialog.is-campaign-share .share-poster-copy .share-meta { margin-top: 8px; font-size: 9px; }
  #dialog.is-campaign-share .share-brand { margin-top: 14px; padding-top: 8px; font-size: 8px; letter-spacing: 1.7px; }
  #dialog.is-campaign-share .share-downloads { grid-column: 1 / -1; flex-wrap: nowrap; padding: 11px 12px; align-items: center; }
  #dialog.is-campaign-share .share-downloads .share-format { display: flex; align-items: center; gap: 8px; flex-basis: auto; }
  #dialog.is-campaign-share .share-format select { margin: 0; flex: 1; width: auto; }
  #dialog.is-campaign-share .share-downloads .btn { width: auto; }
  #dialog.is-campaign-share .share-tools { grid-row: 1; gap: 16px; }
  #dialog.is-campaign-share .share-visual { grid-row: 2; }
  #dialog.is-campaign-share .share-extras { grid-row: 3; }
  #dialog.is-campaign-share .share-feedback { grid-row: 4; }
  #dialog.is-campaign-share .share-intro h3 { font-size: 29px; margin-top: 5px; }
  #dialog.is-campaign-share .share-extras { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 0; }
  #dialog.is-campaign-share .share-channel { min-height: 62px; }
  #dialog.is-campaign-share .share-qr-content { grid-template-columns: 132px minmax(0, 1fr); gap: 16px; }
  #dialog.is-campaign-share #shareQr { width: 132px; }
  #dialog.is-campaign-share .share-feedback { margin-top: -14px; }
  #dialog.is-campaign-share :is(#shareCaption, #shareLink, .share-format select) { font-size: 16px; }
}
@media (max-width: 380px) {
  #dialog.is-campaign-share .dialog-body { padding: 13px; }
  #dialog.is-campaign-share .dialog-head { padding-inline: 13px; }
  #dialog.is-campaign-share .dialog-head h2 { font-size: 16px; }
  #dialog.is-campaign-share .share-visual { grid-template-columns: 80px minmax(0, 1fr); }
  #dialog.is-campaign-share .share-poster-copy { padding: 14px; }
  #dialog.is-campaign-share .share-poster-copy .share-title { font-size: 20px; }
  #dialog.is-campaign-share .share-downloads { gap: 8px; padding: 10px; }
  #dialog.is-campaign-share .share-downloads .share-format { gap: 5px; font-size: 9px; }
  #dialog.is-campaign-share .share-format select { font-size: 11px; padding-left: 8px; }
  #dialog.is-campaign-share .share-downloads .btn { padding-inline: 10px; font-size: 11px; }
  #dialog.is-campaign-share .share-intro h3 { font-size: 27px; }
  #dialog.is-campaign-share .share-channel-grid { gap: 5px; }
  #dialog.is-campaign-share .share-channel span { font-size: 9px; }
  #dialog.is-campaign-share .share-link-row .btn { padding-inline: 11px; }
  #dialog.is-campaign-share .share-qr-content { grid-template-columns: 110px minmax(0, 1fr); gap: 12px; }
  #dialog.is-campaign-share #shareQr { width: 110px; }
}


/* Sharing is a primary campaign action in both visitor and participant views. */
.campaign-page [data-action="share"],
#participantWorkspace.campaign-page [data-action="share"],
.creator-dashboard [data-action="creator-share"] {
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:46px;padding:10px 15px;border:1px solid #c91932;border-radius:7px;
  background:#c91932;color:#fff;font-size:12px;font-weight:700;line-height:1.25;
  cursor:pointer;box-shadow:0 3px 0 #8c1022;text-decoration:none;
}
.campaign-page [data-action="share"]:hover,
#participantWorkspace.campaign-page [data-action="share"]:hover,
.creator-dashboard [data-action="creator-share"]:hover {
  background:#ac1229;border-color:#ac1229;color:#fff;
}
.campaign-page [data-action="share"]:active,
#participantWorkspace.campaign-page [data-action="share"]:active {
  background:#971023;box-shadow:0 1px 0 #760c1c;transform:translateY(1px);
}
.campaign-page [data-action="share"]:focus-visible,
#participantWorkspace.campaign-page [data-action="share"]:focus-visible,
.creator-dashboard [data-action="creator-share"]:focus-visible {
  outline:2px solid var(--text);outline-offset:4px;
}
.campaign-page .campaign-quick-actions .campaign-share>.icon {width:19px;height:19px;flex:none;}
.campaign-page .campaign-share>span {display:block;min-width:0;text-align:left;}
.campaign-page .campaign-share strong {display:block;font-size:12px;font-weight:750;line-height:1.3;}
.campaign-page .campaign-share small {display:block;font-size:9px;font-weight:500;line-height:1.4;margin-top:2px;color:#fff;}
@media(max-width:480px) {
  .campaign-page .campaign-topline {flex-wrap:wrap;gap:9px;}
  .campaign-page .campaign-quick-actions {margin-left:auto;min-width:0;}
  .campaign-page .campaign-share,
  #participantWorkspace.campaign-page .campaign-share {padding:8px 11px;gap:7px;min-height:46px;}
  .campaign-page .campaign-share strong {font-size:11px;}
  .campaign-page .campaign-share small {font-size:8px;}
}

/* Published referral rewards are entry counts, with earned progress kept personal. */
#dialog.is-campaign-share .share-referral {
  display:block;padding:17px;border:1px solid var(--theme-selected-border,var(--line));
  border-top:3px solid #c91932;border-radius:8px;background:var(--theme-selected,var(--panel2));
}
#dialog.is-campaign-share .share-referral-head {display:flex;align-items:center;justify-content:space-between;gap:14px;}
#dialog.is-campaign-share .share-referral-head>div {min-width:0;}
#dialog.is-campaign-share .share-referral-head h4 {margin:5px 0 0;font-size:20px;line-height:1.15;letter-spacing:-.5px;color:var(--text);}
#dialog.is-campaign-share .share-referral-cap {flex:none;text-align:right;max-width:95px;}
#dialog.is-campaign-share .share-referral-cap strong {display:block;color:var(--theme-accent);font-size:30px;line-height:1;font-weight:800;letter-spacing:-1px;}
#dialog.is-campaign-share .share-referral-cap small {display:block;margin-top:4px;font-size:9px;line-height:1.4;color:var(--muted);}
#dialog.is-campaign-share .share-referral-tiers {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));list-style:none;padding:0;margin:17px 0 13px;}
#dialog.is-campaign-share .share-referral-tiers li {position:relative;min-width:0;padding:0 10px;text-align:center;}
#dialog.is-campaign-share .share-referral-tiers li:first-child {padding-left:0;}
#dialog.is-campaign-share .share-referral-tiers li:last-child {padding-right:0;}
#dialog.is-campaign-share .share-referral-tiers li+li {border-left:1px solid var(--theme-selected-border,var(--line));}
#dialog.is-campaign-share .share-tier-step {display:block;color:var(--muted);font-size:8px;font-weight:700;letter-spacing:1px;line-height:1.5;}
#dialog.is-campaign-share .share-referral-tiers strong {display:block;margin:7px 0 4px;font-size:35px;line-height:1;font-weight:800;letter-spacing:-1px;color:var(--theme-accent);}
#dialog.is-campaign-share .share-tier-label {display:block;font-size:10px;font-weight:650;line-height:1.4;color:var(--text);overflow-wrap:anywhere;}
#dialog.is-campaign-share .share-referral-tiers small {display:block;margin-top:3px;font-size:9px;line-height:1.4;color:var(--muted);}
#dialog.is-campaign-share .share-referral-tiers .is-inactive strong {color:var(--muted);font-weight:500;}
#dialog.is-campaign-share .share-referral .share-referral-conditions {padding:0;margin:0;font-size:10px;line-height:1.65;color:var(--muted);}
#dialog.is-campaign-share .share-referral-progress {margin-top:13px;padding-top:12px;border-top:1px solid var(--theme-selected-border,var(--line));}
#dialog.is-campaign-share .share-referral-earned {display:flex;align-items:baseline;gap:6px;font-size:11px;line-height:1.5;color:var(--text);}
#dialog.is-campaign-share .share-referral-earned strong {font-size:24px;line-height:1;font-weight:750;letter-spacing:-.6px;}
#dialog.is-campaign-share .share-referral-progress progress {display:block;width:100%;height:6px;margin:9px 0;border:0;border-radius:0;accent-color:#c91932;overflow:hidden;background:var(--line);}
#dialog.is-campaign-share .share-referral-progress progress::-webkit-progress-bar {background:var(--line);}
#dialog.is-campaign-share .share-referral-progress progress::-webkit-progress-value {background:#c91932;}
#dialog.is-campaign-share .share-referral-progress progress::-moz-progress-bar {background:#c91932;}
#dialog.is-campaign-share .share-referral-progress p {padding:0;margin:0;font-size:10px;color:var(--muted);line-height:1.5;}
#dialog.is-campaign-share .share-referral-join {width:100%;margin-top:13px;}
#dialog.is-campaign-share .share-referral>.hint {padding:0;margin:7px 0 0;font-size:10px;line-height:1.5;text-align:center;color:var(--muted);}
#dialog.is-campaign-share .share-link-row [data-share-copy="link"],
#dialog.is-campaign-share .share-referral-join {
  background:#c91932;border:1px solid #c91932;color:#fff;font-weight:700;
}
#dialog.is-campaign-share .share-link-row [data-share-copy="link"]:hover,
#dialog.is-campaign-share .share-referral-join:hover {background:#ac1229;border-color:#ac1229;color:#fff;}
@media(max-width:360px) {
  #dialog.is-campaign-share .share-referral {padding:13px;}
  #dialog.is-campaign-share .share-referral-head {gap:9px;}
  #dialog.is-campaign-share .share-referral-head h4 {font-size:18px;}
  #dialog.is-campaign-share .share-referral-cap {max-width:75px;}
  #dialog.is-campaign-share .share-referral-cap strong {font-size:27px;}
  #dialog.is-campaign-share .share-referral-tiers li {padding-inline:6px;}
  #dialog.is-campaign-share .share-referral-tiers strong {font-size:30px;}
}

#dialog.is-campaign-share .share-referral>.share-link-note {padding:0;margin:7px 0 0;text-align:center;}

/* Keep keyboard order aligned with the primary sharing actions. */
@media(min-width:681px){
 #dialog.is-campaign-share .share-tools{grid-column:2;grid-row:1}
 #dialog.is-campaign-share .share-visual{grid-column:1;grid-row:1}
}

/* WebKit's native select ignores min-height; retain a full touch target and a visible chevron. */
#dialog.is-campaign-share .share-format select {
  appearance:none;-webkit-appearance:none;height:44px;min-height:44px;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%237b7b89' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;background-size:12px 8px;padding-right:30px;
}
