.ffh-member-entry{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d7ddd7;background:transparent;color:#315a51;border-radius:24px;padding:9px 14px;font-family:inherit;font-size:13px;line-height:1.3;cursor:pointer;white-space:nowrap}
.ffh-member-entry:hover{background:#edf2ed}.ffh-member-floating{position:fixed;right:24px;bottom:28px;background:#fff;z-index:35;box-shadow:0 4px 24px #183b3120}
.ffh-member-dialog{box-sizing:border-box;border:1px solid #d6dcd3;border-radius:12px;background:#fafbf7;color:#24443d;padding:0;width:min(530px,calc(100% - 32px));max-height:calc(100dvh - 32px);overflow:auto;box-shadow:0 22px 80px #06282033}
.ffh-member-dialog::backdrop{background:#0b241e94;backdrop-filter:blur(4px)}.ffh-member-dialog [hidden]{display:none!important}
.ffh-member-panel{padding:34px 40px 32px;position:relative;text-align:center}.ffh-member-close{position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:29px;line-height:1;color:#526b60;cursor:pointer;padding:6px}
.ffh-member-brand{display:flex;justify-content:center;align-items:center;gap:10px;font:italic 33px Georgia,serif;color:#aa9368}.ffh-member-brand span{font:11px Arial,sans-serif;letter-spacing:3px;font-style:normal}
.ffh-member-eyebrow{font-size:10px;letter-spacing:3px;color:#97a298;margin-top:26px}.ffh-member-dialog h2{font-family:Georgia,'Songti SC',serif;font-weight:400;font-size:30px;line-height:1.3;margin:10px 0 14px}
.ffh-member-lead{font-size:14px;line-height:1.7;max-width:370px;margin:0 auto 22px;color:#698078}
.ffh-qr-box{display:flex;align-items:center;justify-content:center;min-height:242px;background:#fff;border:1px solid #e0e7dc;border-radius:10px;width:242px;margin:0 auto 14px}.ffh-qr{width:226px;height:226px;object-fit:contain}
.ffh-qr-placeholder{font:italic 78px Georgia,serif;color:#c8d3c7}.ffh-member-scan{font-size:13px;line-height:1.6;margin:8px 0;color:#416359}.ffh-member-status{font-size:13px;line-height:1.6;min-height:21px;margin:12px auto;color:#667c72;max-width:360px}
.ffh-member-consent{display:flex;align-items:flex-start;justify-content:center;gap:8px;font-size:12px;line-height:1.8;text-align:left;margin:20px 0 14px;color:#6c7d70}.ffh-member-consent input{accent-color:#315e51;margin:4px 0 0;flex:none;width:15px;height:15px}.ffh-member-consent a,.ffh-member-privacy{color:#315e51;text-decoration:underline;text-underline-offset:3px}
.ffh-member-start{font-family:inherit;font-size:14px;line-height:1.5;cursor:pointer;display:block;width:100%;padding:14px 18px;border:0;border-radius:6px;background:#315e51;color:#fff}.ffh-member-start:disabled{cursor:default;background:#a5b6ac}.ffh-member-mobile{font-size:11px;line-height:1.7;color:#94a096;margin:14px auto 0;max-width:320px}
.ffh-member-avatar{margin:30px auto 16px;width:78px;height:78px;border-radius:50%;background:#e8eee6;color:#a88f60;font:italic 40px Georgia,serif;display:flex;align-items:center;justify-content:center}.ffh-member-name{font-size:17px;margin:0 0 8px;overflow-wrap:anywhere}.ffh-member-signed{color:#7c927f;font-size:12px;margin:0 0 28px}.ffh-member-links{display:grid;gap:10px}.ffh-member-links a{display:block;text-decoration:none;background:#eef3eb;border:1px solid #dee6d8;border-radius:6px;padding:15px;color:#315e51;font-size:14px}.ffh-member-links a:hover{background:#e3ebdf}
.ffh-member-note{font-size:13px;color:#8c9b8e;margin:24px 0}.ffh-member-privacy{font-size:12px}.ffh-member-logout{display:block;margin:20px auto 0;border:0;background:transparent;color:#768778;font-family:inherit;font-size:13px;cursor:pointer;padding:9px}.ffh-profile-status{font-size:13px;color:#8e6952;margin:12px 0 0}
.ffh-member-entry:focus-visible,.ffh-member-dialog button:focus-visible,.ffh-member-dialog a:focus-visible{outline:2px solid #b59a67;outline-offset:4px}
@media(max-width:700px){.ffh-member-entry{padding:9px}.ffh-member-entry>span{display:none}.ffh-member-panel{padding:30px 24px 24px}.ffh-member-dialog h2{font-size:26px}.ffh-member-floating{right:16px;bottom:20px}.ffh-member-floating>span{display:inline}.ffh-member-mobile{font-size:12px}}
