/* Shared report and invitation confirmation. Delivery state stays truthful. */
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) {
  position:fixed; inset:0; z-index:100;
  padding:24px max(20px,env(safe-area-inset-right)) 24px max(20px,env(safe-area-inset-left));
  background:rgb(20 23 29 / .36); backdrop-filter:none; -webkit-backdrop-filter:none;
  overflow-y:auto; overscroll-behavior:contain;
}
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-success-dialog {
  position:relative; width:100%; max-width:460px; max-height:calc(100dvh - 48px);
  padding:28px 30px 26px; border-radius:24px; box-sizing:border-box;
  border:1px solid light-dark(#ffffff,#41464e); background:var(--sf-surface);
  box-shadow:0 28px 90px -26px light-dark(#25354e47,#000000b3),0 6px 22px -8px #00000014;
  text-align:center; animation:sf-confirm-appear .32s cubic-bezier(.2,.75,.3,1) both;
}
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-confirm-illustration {
  display:grid; place-items:center; width:144px; height:112px; margin:0 auto 18px;
  color:var(--sf-heading);
  background:radial-gradient(ellipse at center,var(--sf-surface-raised),transparent 70%);
}
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-confirm-mail { width:144px!important; height:112px!important; overflow:visible; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-mail-shadow { fill:var(--sf-heading); opacity:.07; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-mail-back { fill:var(--sf-surface-raised); }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-mail-paper { fill:var(--sf-surface); }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-mail-lines { opacity:.35; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-mail-front { fill:var(--sf-surface-raised); }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) :is(.sf-mail-check,.sf-mail-wait) { display:none; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-mail-check circle { fill:var(--sf-success); stroke:var(--sf-surface); stroke-width:4; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-mail-check path { stroke:var(--sf-surface); stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-mail-wait circle { fill:var(--sf-surface); stroke:var(--sf-line); stroke-width:1.6; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-mail-wait path { stroke:var(--sf-muted); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog)[data-state="sending"] .sf-mail-envelope { animation:sf-envelope-sending 1.8s ease-in-out infinite; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog)[data-state="sent"] .sf-mail-envelope { animation:sf-envelope-arrive .75s cubic-bezier(.2,.75,.3,1) both; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog)[data-state="sent"] .sf-mail-letter { animation:sf-letter-enclose .75s ease both; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog)[data-state="sent"] .sf-mail-check { display:inline; transform-origin:112px 80px; animation:sf-mail-stamp .4s .35s cubic-bezier(.2,.75,.3,1) both; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog)[data-state="sent"] .sf-mail-check path { stroke-dasharray:1; animation:sf-mail-tick .3s .6s ease both; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog):is([data-state="offline"],[data-state="queued"],[data-state="saved"]) .sf-mail-wait { display:inline; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) h2 { margin:0; color:var(--sf-heading); font-size:25px; line-height:1.25; font-weight:650; letter-spacing:-.65px; text-wrap:balance; }
#seafix-demo :is(#sf-report-success-description, #sf-invite-copy) { max-width:340px; margin:12px auto 0; color:var(--sf-muted); font-size:14px; line-height:1.65; text-wrap:pretty; overflow-wrap:anywhere; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-confirm-receipt { margin:24px 0 0; padding:4px 16px; border:1px solid var(--sf-line); border-radius:14px; background:var(--sf-surface-raised); }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-confirm-meta { display:flex; justify-content:space-between; align-items:baseline; gap:14px; margin:0; padding:12px 0; font-size:12px; line-height:1.5; text-align:left; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-confirm-meta[hidden] { display:none; }
#seafix-demo #sf-report-success-ticket-row:not([hidden]) + .sf-confirm-meta { border-top:1px solid var(--sf-line); }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-confirm-meta>span { color:var(--sf-muted); }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-confirm-meta>strong { min-width:0; max-width:65%; color:var(--sf-heading); font-size:13px; font-weight:600; text-align:right; overflow-wrap:anywhere; white-space:normal; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-confirm-ticket { font-variant-numeric:tabular-nums; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-dialog-actions { gap:10px; margin-top:24px; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-dialog-actions>button { min-height:46px; padding:12px 10px; border-radius:12px; font-size:13px; font-weight:600; transition:background .2s,border-color .2s; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-primary-action { background:var(--sf-heading); color:var(--sf-canvas); box-shadow:0 3px 8px #00000012; }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-secondary-action { background:var(--sf-surface); }
#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) button:focus-visible { outline:2px solid var(--sf-heading); outline-offset:4px; }
#seafix-demo #sf-invite-dialog .sf-invite-actions { grid-template-columns:minmax(0,1fr); }
#seafix-demo #sf-invite-code-block { padding:14px 16px 4px; }
#seafix-demo #sf-invite-code-block small { color:var(--sf-muted); font-size:12px; line-height:1.5; }
#seafix-demo #sf-invite-code { margin:0; padding:12px 0; background:transparent; color:var(--sf-heading); font-size:28px; font-weight:650; font-variant-numeric:tabular-nums; }
#seafix-demo #sf-invite-delivery { margin:14px 0 0; color:var(--sf-muted); line-height:1.6; }
@media(hover:hover) {
  #seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-primary-action:hover { background:color-mix(in srgb,var(--sf-heading) 85%,var(--sf-canvas)); }
  #seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-secondary-action:hover { background:var(--sf-surface-raised); border-color:var(--sf-muted); }
}
@media(max-width:480px) {
  #seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-success-dialog { padding:22px 22px 24px; border-radius:22px; }
  #seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) h2 { font-size:23px; }
  #seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-confirm-illustration { margin-bottom:12px; }
  #seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-confirm-meta { gap:10px; }
}
@media(max-height:560px) {
  #seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-confirm-illustration { height:70px; margin-bottom:10px; }
  #seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-confirm-mail { width:100px!important; height:78px!important; }
  #seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-confirm-receipt,#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) .sf-dialog-actions { margin-top:16px; }
}
@keyframes sf-confirm-appear { from { opacity:0; transform:translateY(10px) scale(.985); } to { opacity:1; transform:none; } }
@keyframes sf-envelope-sending { 0%,100% { transform:translateY(2px); } 50% { transform:translateY(-4px); } }
@keyframes sf-envelope-arrive { 0% { transform:translate(-6px,4px) rotate(-4deg); } 65% { transform:translate(1px,-2px) rotate(1deg); } 100% { transform:none; } }
@keyframes sf-letter-enclose { from { transform:translateY(-7px); } to { transform:translateY(6px); } }
@keyframes sf-mail-stamp { from { opacity:0; transform:scale(.7); } to { opacity:1; transform:scale(1); } }
@keyframes sf-mail-tick { from { stroke-dashoffset:1; } to { stroke-dashoffset:0; } }
@media(prefers-reduced-motion:reduce) {
  #seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog) *,#seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog)::before { animation:none!important; transition:none!important; }
  #seafix-demo :is(#sf-report-success-dialog, #sf-invite-dialog)[data-state="sent"] .sf-mail-letter { transform:translateY(6px); }
}

/* Update 64: invitation actions share the existing confirmation dialog. */
#seafix-demo #sf-invite-retry[hidden] { display:none; }
#seafix-demo #sf-invite-delivery { overflow-wrap:anywhere; }
#seafix-demo .sf-settings-page .sf-crew-actions:has(.sf-invite-resend) { display:grid; grid-template-columns:minmax(0,1fr) auto; max-width:230px; }
#seafix-demo .sf-settings-page .sf-invite-resend { grid-column:1/-1; display:flex; align-items:center; justify-content:center; gap:7px; min-height:40px; min-width:0; padding:9px 10px; border:1px solid var(--sf-settings-line); border-radius:8px; color:var(--sf-settings-ink); background:var(--sf-settings-paper); font-size:12px; font-weight:550; line-height:1.4; cursor:pointer; }
#seafix-demo .sf-invite-resend span { min-width:0; overflow-wrap:anywhere; }
#seafix-demo .sf-invite-resend svg { flex-shrink:0; }
#seafix-demo .sf-invite-resend:focus-visible { outline:2px solid var(--sf-heading); outline-offset:3px; }
#seafix-demo :is(.sf-invite-resend,#sf-invite-retry):disabled { opacity:.55; cursor:default; }
@media(max-width:600px) {
  #seafix-demo .sf-settings-page .sf-crew-actions:has(.sf-invite-resend) { max-width:none; width:100%; }
}


#seafix-demo #sf-report-success-dialog::before{display:none!important;backdrop-filter:none;-webkit-backdrop-filter:none;}
#seafix-demo #sf-report-success-dialog::backdrop{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;}
#seafix-demo #sf-report-success-dialog{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;}
#seafix-demo #sf-report-success-dialog .sf-success-dialog{box-shadow:0 6px 24px rgb(0 0 0 / .14),0 1px 5px rgb(0 0 0 / .08);}

