
			:root{
				--flexa-bg:#f6f7f9;
				--flexa-card:#ffffff;
				--flexa-text:#111827;
				--flexa-muted:#6b7280;
				--flexa-border:#e5e7eb;
				--flexa-accent:#111827;
				--flexa-danger-bg:#fff1f2;
				--flexa-danger-border:#fecdd3;
				--flexa-danger-text:#b42318;
				--flexa-ok-bg:#ecfdf3;
				--flexa-ok-border:#a6f4c5;
				--flexa-ok-text:#067647;
			}
			.flexa-access-body-page{
				font-family:Arial, Helvetica, sans-serif;
				background:var(--flexa-bg);
				color:var(--flexa-text);
				min-height:100vh;
				overflow-x:hidden;
				margin:0;
			}
			.flexa-access-page{
				min-height:100vh;
				position:relative;
			}
			.flexa-access-fab{
				position:fixed;
				right:22px;
				top:50%;
				transform:translateY(-50%);
				width:64px;
				height:64px;
				border-radius:999px;
				border:1px solid rgba(255,255,255,0.2);
				background:var(--flexa-accent);
				color:#fff;
				display:flex;
				align-items:center;
				justify-content:center;
				cursor:pointer;
				box-shadow:0 14px 34px rgba(0,0,0,0.18);
				z-index:99999;
				transition:transform .25s ease, opacity .25s ease, right .25s ease;
				padding:0;
			}
			.flexa-access-fab:hover{
				transform:translateY(-50%) scale(1.04);
			}
			.flexa-access-fab svg{
				width:28px;
				height:28px;
				display:block;
			}
			.flexa-access-panel{
				position:fixed;
				right:-420px;
				top:50%;
				transform:translateY(-50%);
				width:380px;
				max-width:calc(100vw - 24px);
				background:var(--flexa-card);
				border:1px solid var(--flexa-border);
				border-radius:20px 0 0 20px;
				box-shadow:0 20px 50px rgba(0,0,0,0.12);
				z-index:100000;
				transition:right .32s ease;
				overflow:hidden;
			}
			.flexa-access-panel.is-open{
				right:0;
			}
			.flexa-access-head{
				display:flex;
				align-items:center;
				justify-content:space-between;
				gap:12px;
				padding:18px 18px 14px;
				border-bottom:1px solid var(--flexa-border);
				background:#fff;
			}
			.flexa-access-titlewrap{
				display:flex;
				align-items:center;
				gap:10px;
				min-width:0;
			}
			.flexa-access-titleicon{
				width:38px;
				height:38px;
				border-radius:12px;
				background:#f3f4f6;
				display:flex;
				align-items:center;
				justify-content:center;
				flex:0 0 auto;
			}
			.flexa-access-titleicon svg{
				width:18px;
				height:18px;
			}
			.flexa-access-title{
				margin:0;
				font-size:20px;
				line-height:1.2;
				font-weight:700;
			}
			.flexa-access-close{
				border:0;
				background:transparent;
				font-size:24px;
				line-height:1;
				cursor:pointer;
				color:#6b7280;
				padding:4px 6px;
			}
			.flexa-access-body{
				padding:18px;
			}
			.flexa-access-text{
				margin:0 0 14px;
				line-height:1.6;
				color:var(--flexa-muted);
			}
			.flexa-access-input{
				width:100%;
				padding:14px 15px;
				border:1px solid #d1d5db;
				border-radius:14px;
				font-size:16px;
				outline:none;
				margin-bottom:14px;
				box-sizing:border-box;
			}
			.flexa-access-input:focus{
				border-color:#111827;
			}
			.flexa-access-submit{
				width:100%;
				border:0;
				background:var(--flexa-accent);
				color:#fff;
				border-radius:14px;
				padding:14px 16px;
				font-size:16px;
				font-weight:600;
				cursor:pointer;
			}
			.flexa-access-msg{
				padding:12px 14px;
				border-radius:14px;
				margin-bottom:14px;
				font-size:14px;
				line-height:1.5;
			}
			.flexa-access-msg.error{
				background:var(--flexa-danger-bg);
				border:1px solid var(--flexa-danger-border);
				color:var(--flexa-danger-text);
			}
			.flexa-access-msg.ok{
				background:var(--flexa-ok-bg);
				border:1px solid var(--flexa-ok-border);
				color:var(--flexa-ok-text);
			}
			.flexa-access-link{
				display:inline-block;
				margin-top:12px;
				color:#111827;
				text-decoration:none;
				font-weight:600;
			}
			.flexa-access-powered{
				margin:14px 0 0;
				font-size:12px;
				color:#6b7280;
				text-align:center;
				line-height:1.5;
			}
			.flexa-access-powered a{
				color:#111827;
				text-decoration:none;
			}
			.flexa-access-overlay{
				position:fixed;
				inset:0;
				background:rgba(17,24,39,0.2);
				opacity:0;
				pointer-events:none;
				transition:opacity .25s ease;
				z-index:99998;
			}
			.flexa-access-overlay.is-open{
				opacity:1;
				pointer-events:auto;
			}
			@media (max-width: 640px){
				.flexa-access-fab{
					right:14px;
					width:58px;
					height:58px;
				}
				.flexa-access-panel{
					width:calc(100vw - 12px);
					right:calc(-100vw - 20px);
					border-radius:18px 0 0 18px;
				}
				.flexa-access-panel.is-open{
					right:0;
				}
			}
		