/* Om Research — passwordless auth flow skin. Colors come from --omr-* vars. */
#omr-auth-flow,
.omr-authp-card {
	box-sizing: border-box;
	width: 100%;
	max-width: 440px;
	margin: 0 auto;
	background: var(--omr-card, #fff);
	border: 1px solid rgba(15, 23, 42, .08);
	border-radius: var(--omr-radius, 16px);
	padding: 30px 28px;
	font-family: var(--omr-font, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif);
	color: var(--omr-text, #0f172a);
	box-shadow: 0 18px 44px rgba(15, 23, 42, .12);
}
#omr-auth-flow *, .omr-authp-card * { box-sizing: border-box; }

.omr-authp-logo { text-align: center; margin-bottom: 18px; }
.omr-wordmark { font-size: 19px; font-weight: 800; color: var(--omr-text, #0f172a); }

.omr-authp-card h2 { font-size: 21px; line-height: 1.3; margin: 0 0 6px; text-align: center; color: var(--omr-text, #0f172a); }
.omr-authp-sub { font-size: 14px; color: var(--omr-muted, #64748b); text-align: center; margin: 0 0 18px; }
.omr-authp-label { display: block; font-size: 13px; font-weight: 600; margin: 12px 0 6px; color: var(--omr-text, #334155); }

.omr-authp-input {
	width: 100%;
	font-size: 15px;
	padding: 12px 14px;
	border: 1.5px solid rgba(15, 23, 42, .16);
	border-radius: 10px;
	background: #fff;
	color: #0f172a;
	margin-bottom: 8px;
}
.omr-authp-input:focus { outline: none; border-color: var(--omr-accent, #0ea5e9); box-shadow: 0 0 0 3px rgba(14, 165, 233, .18); }

.omr-authp-btn {
	appearance: none; border: 0; width: 100%; margin-top: 12px;
	padding: 13px 18px; border-radius: 10px; font-size: 15px; font-weight: 700; color: #fff;
	background: linear-gradient(135deg, var(--omr-accent, #0ea5e9), var(--omr-accent2, #38bdf8));
	cursor: pointer; transition: opacity .15s ease, transform .05s ease;
}
.omr-authp-btn:hover { opacity: .94; }
.omr-authp-btn:active { transform: translateY(1px); }
.omr-authp-btn:disabled { opacity: .55; cursor: not-allowed; }

.omr-authp-fine { font-size: 11.5px; color: var(--omr-fine, #94a3b8); text-align: center; margin: 12px 0 0; }
.omr-authp-fine a, .omr-auth-link { color: var(--omr-accent, #0284c7); }
.omr-authp-hint { font-size: 12.5px; color: var(--omr-muted, #64748b); text-align: center; margin: 12px 0 6px; }
.omr-authp-resend { text-align: center; margin: 4px 0; }

.omr-auth-link { background: none; border: 0; padding: 0; font: inherit; cursor: pointer; text-decoration: underline; }

.omr-authp-msg { font-size: 13px; color: #b91c1c; background: #fef2f2; border: 1px solid #fecaca; border-radius: 8px; padding: 9px 12px; margin: 0 0 14px; text-align: center; }
.omr-authp-msg[hidden] { display: none; }

.omr-auth-screen[hidden] { display: none; }

.omr-auth-code-boxes { display: flex; gap: 8px; justify-content: center; margin: 6px 0 4px; }
.omr-auth-digit { width: 44px; height: 54px; text-align: center; font-size: 24px; font-weight: 700; border: 1.5px solid rgba(15, 23, 42, .18); border-radius: 10px; }
.omr-auth-digit:focus { outline: none; border-color: var(--omr-accent, #0ea5e9); box-shadow: 0 0 0 3px rgba(14, 165, 233, .18); }

/* Signed attestation */
.omr-sign-block { margin: 16px 0 6px; text-align: left; }
.omr-sign-statements { margin: 6px 0 12px; padding-left: 18px; font-size: 12.5px; color: var(--omr-muted, #475569); line-height: 1.5; }
.omr-sign-statements li { margin-bottom: 5px; }
.omr-sign-pad { border: 1.5px dashed rgba(15, 23, 42, .22); border-radius: 12px; padding: 8px; }
.omr-sign-canvas { width: 100%; height: 160px; background: #fff; border-radius: 8px; touch-action: none; display: block; cursor: crosshair; }
.omr-sign-typed { font-family: "Segoe Script", "Brush Script MT", cursive; font-size: 26px; }
.omr-sign-bar { display: flex; justify-content: space-between; align-items: center; margin-top: 6px; font-size: 12px; color: var(--omr-muted, #64748b); }
.omr-sign-tools { display: inline-flex; gap: 12px; }
.omr-sign-consent { display: flex; gap: 9px; align-items: flex-start; font-size: 12.5px; line-height: 1.5; margin: 12px 0 0; color: var(--omr-text, #334155); }
.omr-sign-consent input { margin-top: 2px; width: 17px; height: 17px; accent-color: var(--omr-accent, #0ea5e9); flex: 0 0 auto; }

/* Checkout wall wrapper */
.omr-checkout-wall { padding: 20px 0 40px; }
.omr-checkout-wall-head { text-align: center; margin-bottom: 18px; }
.omr-checkout-wall-h2 { font-size: 23px; margin: 0 0 6px; }
.omr-checkout-wall-sub { font-size: 14px; color: var(--omr-muted, #64748b); margin: 0; }

.omr-authp-logo img { display: inline-block; }
