.ffz-preview-gate{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:18px;background:rgba(0,0,0,.94);backdrop-filter:blur(10px);overflow:auto}
.ffz-preview-gate[hidden]{display:none}
.ffz-preview-login{width:min(460px,100%);padding:24px;border:1px solid color-mix(in srgb,var(--gold,#d7a928) 48%,transparent);border-radius:24px;background:linear-gradient(160deg,#17140d,#050505 72%);box-shadow:0 30px 90px #000;color:var(--text,#f8f5eb)}
.ffz-preview-login.is-busy{opacity:.62;pointer-events:none}
.ffz-preview-login__brand{display:grid;grid-template-columns:64px minmax(0,1fr);gap:14px;align-items:center}
.ffz-preview-login__brand img{width:64px;height:52px;object-fit:contain}
.ffz-preview-login__brand b{display:block;color:var(--gold,#d7a928);font-size:18px}
.ffz-preview-login__brand small{display:block;margin-top:3px;color:var(--muted,#aaa);font-size:13px}
.ffz-preview-login h1{margin:22px 0 4px;font-size:28px;line-height:1.25}
.ffz-preview-login .ffz-preview-lead{margin:0 0 17px;color:var(--muted,#aaa);font-size:15px;line-height:1.55}
.ffz-preview-login label{display:grid;gap:7px;margin-top:13px;color:var(--muted,#aaa);font-size:14px}
.ffz-preview-login input{box-sizing:border-box;width:100%;min-height:56px;padding:0 15px;border:1px solid var(--line,#363636);border-radius:14px;background:#0d0d0d;color:var(--text,#fff);font:inherit;font-size:17px;outline:none}
.ffz-preview-login input:focus{border-color:var(--gold,#d7a928);box-shadow:0 0 0 3px color-mix(in srgb,var(--gold,#d7a928) 16%,transparent)}
.ffz-preview-login__submit{width:100%;min-height:56px;margin-top:18px;border:0;border-radius:14px;background:linear-gradient(135deg,#b17b00,var(--gold,#d7a928),#f6d66d);color:#080705;font:inherit;font-size:17px;font-weight:800;cursor:pointer}
.ffz-preview-login__submit:disabled{opacity:.48;cursor:not-allowed}
.ffz-preview-login__status{min-height:22px;margin:12px 0 0;color:var(--muted,#aaa);font-size:14px;text-align:center}
.ffz-preview-login__status.is-error{color:#ff8f84}
.ffz-preview-login__demo{display:block;width:100%;min-height:44px;margin-top:4px;border:0;background:transparent;color:var(--muted,#aaa);font:inherit;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
@media(max-width:520px){.ffz-preview-gate{padding:12px}.ffz-preview-login{padding:21px 18px;border-radius:20px}.ffz-preview-login h1{font-size:24px}}

/* Sign-out — mounted by ffz-preview-auth.js into whichever shell is on screen.
   Full 48px touch target: coaches tap this on a shared iPad. */
.ffz-signout{
  display:flex;align-items:center;justify-content:center;gap:8px;
  width:100%;min-height:48px;margin-top:10px;padding:10px 12px;
  border:1px solid rgba(255,117,109,.42);border-radius:14px;
  background:#0b0808;color:#ff9d95;
  font:600 13px var(--ffz-font,Prompt,system-ui,sans-serif);
}
.ffz-signout svg{flex:0 0 auto}
.ffz-signout:hover{border-color:rgba(255,117,109,.7);background:#140a0a}
/* collapsed rail keeps the icon and drops the word */
.app.is-collapsed .ffz-signout span{display:none}
.app.is-collapsed .ffz-signout{padding-inline:6px}

/* เปิดบัญชีครั้งแรก — เด่นกว่าลิงก์ดูตัวอย่าง เพราะลูกค้าใหม่ต้องเจอปุ่มนี้ก่อน */
.ffz-preview-login__first{
  display:block;width:100%;min-height:48px;margin-top:10px;
  border:1px dashed #4a3d1c;border-radius:12px;background:transparent;
  color:#e7c15a;font:inherit;font-weight:600;cursor:pointer;
}
.ffz-preview-login__first:hover{border-color:#e7c15a;background:#17120704}
