/* Local invitation proof. No phone hardware or production form dependency. */
.crew-flow {
  --crew-ink:var(--ink,#202938); --crew-muted:#59677B; --crew-line:#DDE5EF;
  --crew-blue:#245BE8; --crew-coral:#FF845D; --crew-green:#087E58; --crew-plum:#69347D;
  color:var(--crew-ink); margin:22px 0 0; padding:23px 0 24px; position:relative;
  border-top:1px solid var(--crew-line); text-align:left; min-width:0;
}
.crew-flow *, .crew-flow *::before, .crew-flow *::after { box-sizing:border-box; }
.crew-flow [hidden] { display:none!important; }
.crew-flow-heading { display:flex; align-items:center; gap:12px; margin-bottom:23px; }
.crew-flow-heading>div { min-width:0; flex:1; }
.crew-flow-heading h3 { margin:0; font-size:17px; line-height:1.35; font-weight:580; letter-spacing:-.3px; }
.crew-flow-heading p { color:var(--crew-muted); font-size:12px; line-height:1.6; margin:5px 0 0; }
.crew-flow-id { width:35px; height:35px; border-radius:50%; display:grid; place-items:center; font-size:11px; font-weight:600; flex-shrink:0; letter-spacing:.025em; }
.crew-flow-id-blue { background:var(--crew-blue); color:#FFF; }
.crew-flow-id-coral { background:var(--crew-coral); color:#252D3D; }
.crew-flow-id-green { background:var(--crew-green); color:#FFF; }
.crew-flow-id-plum { background:var(--crew-plum); color:#FFF; }
.crew-flow-demo { color:#65768C; border:1px solid #D9E2ED; border-radius:5px; padding:4px 7px; font-size:11px; line-height:1.4; flex-shrink:0; }
.crew-flow-steps { margin:0 0 24px; padding:0; list-style:none; display:flex; gap:19px; color:#657389; font-size:12px; line-height:1.4; }
.crew-flow-steps li { display:flex; gap:7px; align-items:center; }
.crew-flow-steps li>span { width:23px; height:23px; border-radius:50%; background:#EFF3F8; display:grid; place-items:center; color:#617187; font-size:11px; }
.crew-flow-steps [aria-current="step"] { color:#254D84; font-weight:550; }
.crew-flow-steps [aria-current="step"]>span { color:#FFF; background:var(--crew-blue); }
.crew-flow-panel { min-width:0; display:grid; align-items:start; }
.crew-flow-stage { grid-area:1/1; min-width:0; opacity:0; visibility:hidden; pointer-events:none; transition:opacity 180ms ease,visibility 0s 180ms; }
.crew-flow-stage.is-active { opacity:1; visibility:visible; pointer-events:auto; transition:opacity 320ms ease 70ms,visibility 0s; }
.crew-flow[data-crew-mode="auto"] .crew-flow-example,.crew-flow[data-crew-mode="auto"] .crew-flow-quiet,.crew-flow[data-crew-mode="auto"] [data-crew-action="edit"],.crew-flow[data-crew-mode="auto"] [data-crew-action="reset"] { visibility:hidden; }
.crew-flow[data-crew-mode="auto"] button,.crew-flow[data-crew-mode="auto"] textarea { pointer-events:none; }
.crew-flow[data-crew-mode="manual"] .crew-flow-stage { transition:none; }
.crew-flow form { margin:0; }
.crew-flow label { display:block; font-size:13px; line-height:1.5; font-weight:550; margin-bottom:7px; }
.crew-flow textarea { display:block; width:100%; min-height:108px; resize:none; padding:13px 14px; border:1px solid #BFCDE0; border-radius:9px; color:var(--crew-ink); background:#FFFFFF; font-family:inherit; font-size:16px; line-height:1.65; box-shadow:inset 0 1px 2px #20334D08; transition:border-color 240ms ease,box-shadow 240ms ease; }
.crew-flow textarea.is-demo-focus { border-color:#7199D5; box-shadow:0 0 0 3px #245BE80D,inset 0 1px 2px #20334D08; }
.crew-flow textarea.is-demo-paste { background:#F8FBFF; }
.crew-flow textarea::placeholder { color:#718098; opacity:1; }
.crew-flow textarea[aria-invalid="true"] { border-color:#A83A30; background:#FFFDFD; }
.crew-flow-help { color:var(--crew-muted); font-size:12px; line-height:1.65; margin:9px 0 0; }
.crew-flow-example { display:inline-flex; align-items:center; color:#315C96; border:0; background:none; padding:8px 0; min-height:36px; margin-top:3px; font-size:12px; font-weight:500; font-family:inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.crew-flow-errors { color:#A03C32; background:#FFF3F0; border-left:2px solid #CA6655; border-radius:0 6px 6px 0; font-size:12px; line-height:1.6; padding:11px 13px; margin:13px 0 0; }
.crew-flow-errors p { margin:0; }
.crew-flow-errors p+p { margin-top:5px; }
.crew-flow-actions { display:flex; align-items:center; gap:10px; margin-top:21px; flex-wrap:wrap; }
.crew-flow-button { min-height:44px; display:inline-flex; justify-content:center; align-items:center; gap:12px; padding:10px 14px; border:1px solid #C9D5E5; border-radius:7px; background:#FFFFFF; color:#345475; font-family:inherit; font-size:13px; font-weight:550; line-height:1.45; cursor:pointer; }
.crew-flow-button:hover { background:#F2F6FC; border-color:#AAC0DC; }
.crew-flow-button:disabled { cursor:default; color:#75859B; background:#F3F6FA; }
.crew-flow-primary { background:var(--crew-blue); border-color:#1D4FCB; color:#FFFFFF; box-shadow:0 2px 4px #20334D14,0 7px 13px -6px #245BE837,inset 0 1px #FFFFFF26; }
.crew-flow-primary:hover { color:#FFFFFF; background:#1649CE; border-color:#1649CE; }
.crew-flow-quiet { border:0; background:none; padding-left:0; padding-right:0; color:#566A84; }
.crew-flow-quiet:hover { background:none; color:#204F8A; }
.crew-flow-scope { border:1px solid #D7E2EF; border-left:2px solid #84A9DC; border-radius:0 8px 8px 0; background:linear-gradient(120deg,#F7FAFF,#FFFFFF); padding:14px 15px; margin-bottom:17px; }
.crew-flow-scope h4 { font-size:13px; line-height:1.45; font-weight:580; margin:0 0 7px; }
.crew-flow-scope p { font-size:12px; line-height:1.65; color:#536A86; margin:0; }
.crew-flow-scope p+p { margin-top:6px; }
.crew-flow-scope .crew-flow-restricted { color:#69516C; }
.crew-flow-person { display:flex; gap:12px; align-items:center; padding:14px 0; border-bottom:1px solid var(--crew-line); min-width:0; }
.crew-flow-person>div { flex:1; min-width:0; }
.crew-flow-person strong { display:block; font-size:13px; line-height:1.5; font-weight:550; }
.crew-flow-person .crew-flow-number { display:block; color:#506782; margin-top:3px; font-size:13px; line-height:1.5; font-variant-numeric:tabular-nums; overflow-wrap:anywhere; }
.crew-flow-person .crew-flow-role { display:block; color:#617187; font-size:12px; line-height:1.6; margin-top:3px; }
.crew-flow-person .crew-flow-status { color:#845500; background:#FCF6E8; border:1px solid #EFDEB7; border-radius:5px; font-size:11px; line-height:1.45; padding:5px 7px; max-width:96px; text-align:center; }
.crew-flow-count { color:#526780; font-size:12px; line-height:1.65; margin:0 0 9px; }
.crew-flow-consent { color:#59677B; font-size:12px; line-height:1.65; margin:15px 0 0; }
.crew-flow-success { display:flex; align-items:center; gap:11px; padding-bottom:9px; }
.crew-flow-success>span { width:27px; height:27px; display:grid; place-items:center; flex-shrink:0; color:#426894; background:#EFF4FA; border:1px solid #D6E2EF; border-radius:50%; font-size:15px; }
.crew-flow-success h4 { font-size:15px; line-height:1.45; font-weight:570; margin:0; }
.crew-flow-announcement { color:#3B637F; font-size:12px; line-height:1.6; margin:12px 0 0; }
.crew-flow-announcement:empty { display:none; }
.crew-flow-disclosure { color:#65748A; font-size:11px; line-height:1.65; margin:17px 0 0; }
.crew-flow button:focus-visible,.crew-flow textarea:focus-visible { outline:3px solid #245BE8; outline-offset:3px; }
.crew-flow-cursor { --crew-cursor-x:12px; --crew-cursor-y:85px; position:absolute; z-index:8; top:0; left:0; width:19px; height:25px; pointer-events:none; opacity:0; transform:translate3d(var(--crew-cursor-x),var(--crew-cursor-y),0); transition:transform 550ms cubic-bezier(.22,1,.36,1),opacity 200ms ease; filter:drop-shadow(0 2px 2px #172B4530); }
.crew-flow-cursor.is-visible { opacity:1; }
.crew-flow-cursor i { position:absolute; inset:0; background:#FFF; clip-path:polygon(0 0,0 95%,28% 72%,47% 100%,66% 88%,47% 61%,83% 57%); }
.crew-flow-cursor i::before { content:""; position:absolute; inset:2px; background:#24344B; clip-path:polygon(0 0,0 95%,28% 72%,47% 100%,66% 88%,47% 61%,83% 57%); }
.crew-flow-cursor b { position:absolute; top:25px; left:12px; font-size:10px; font-weight:500; line-height:1; letter-spacing:0; color:#FFF; background:#3E638D; border:1px solid #FFF; padding:4px 6px; border-radius:4px; white-space:nowrap; }
.crew-flow-cursor::after { content:""; position:absolute; width:27px; height:27px; left:-12px; top:-11px; border-radius:50%; border:1px solid #245BE8; opacity:0; transform:scale(.65); transition:opacity 160ms ease,transform 160ms ease; }
.crew-flow-cursor.is-pressed::after { opacity:.35; transform:scale(1); }
@media(max-width:740px) {
  .crew-flow { padding-top:22px; }
  .crew-flow-heading { gap:10px; }
  .crew-flow-heading h3 { font-size:16px; }
  .crew-flow-heading p { font-size:12px; }
  .crew-flow-steps { gap:14px; font-size:12px; }
  .crew-flow-steps li { gap:6px; }
  .crew-flow-person { align-items:flex-start; }
  .crew-flow-person .crew-flow-status { max-width:80px; font-size:11px; }
  .crew-flow-id { width:31px; height:31px; }
  .crew-flow-actions { gap:10px; }
  .crew-flow-actions .crew-flow-primary { margin-left:auto; }
  .crew-flow-demo { display:none; }
}
@media(max-width:360px) {
  .crew-flow-steps { gap:9px; font-size:11px; }
  .crew-flow-steps li { gap:5px; }
  .crew-flow-steps li>span { width:21px; height:21px; }
  .crew-flow-person { gap:9px; }
  .crew-flow-person .crew-flow-number { font-size:12px; }
}
@media(prefers-reduced-motion:reduce) { .crew-flow * { animation:none!important; transition:none!important; } .crew-flow-cursor { display:none!important; } }
