/* Independent Phase 3A component styles; accepted registration assets stay untouched. */
.ypc-access-auth { box-sizing: border-box; width: 100%; max-width: 720px; min-width: 0; overflow-wrap: anywhere; }
.ypc-access-auth .ypc-auth-form,
.ypc-access-auth .ypc-auth-heading,
.ypc-access-auth .ypc-auth-section-heading { box-sizing: border-box; width: 100%; max-width: 520px; min-width: 0; padding: 0; margin: 0 0 1.5rem; }
.ypc-access-auth .ypc-auth-heading { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1rem; }
.ypc-access-auth .ypc-auth-heading h2 { margin: 0; }
.ypc-access-auth .ypc-auth-field { min-width: 0; padding: 0; margin: 0 0 1.25rem; }
.ypc-access-auth .ypc-auth-field > label { display: block; margin-bottom: 0.35rem; }
.ypc-access-auth .ypc-auth-form .ypc-auth-input { display: block; box-sizing: border-box; width: 100%; max-width: 100%; min-width: 0; min-height: 2.75rem; margin: 0; float: none; font: inherit; }
.ypc-access-auth .ypc-auth-secret { display: grid; box-sizing: border-box; grid-template-columns: minmax(0, 1fr) 6rem; align-items: stretch; gap: 0.5rem; width: 100%; min-width: 0; }
.ypc-access-auth .ypc-auth-form .ypc-auth-toggle { box-sizing: border-box; width: 6rem; max-width: 100%; min-width: 0; min-height: 2.75rem; margin: 0; padding: 0.35rem 0.8rem; border: 1px solid #086292; border-radius: 4px; background: #fff; color: #086292; font: inherit; line-height: 1.4; cursor: pointer; }
.ypc-access-auth .ypc-auth-toggle:hover { background: #edf5f9; color: #06496d; }
.ypc-access-auth .ypc-auth-link-button,
.ypc-access-logout { display: inline-block; box-sizing: border-box; min-height: 2.75rem; padding: 0.55rem 1rem; border: 1px solid #086292; border-radius: 4px; background: #086292; color: #fff; font: inherit; line-height: 1.5; text-decoration: none; text-align: center; }
.ypc-access-auth .ypc-auth-link-button:hover,
.ypc-access-logout:hover { background: #06496d; color: #fff; }
.ypc-access-auth .ypc-auth-actions { display: flex; flex-wrap: wrap; gap: 0.75rem; }
.ypc-access-auth .ypc-auth-feedback { display: block; margin-top: 0.35rem; color: #183643; font-size: 0.875em; line-height: 1.5; }
.ypc-access-auth .ypc-auth-feedback[data-state="met"] { color: #205c42; }
.ypc-access-auth .ypc-auth-feedback[data-state="unmet"] { color: #73392f; }
.ypc-access-auth .ypc-auth-alert { box-sizing: border-box; width: 100%; margin: 0 0 1.5rem; padding: 1rem 1.25rem; border: 1px solid #b56555; border-left: 4px solid #9b4b3c; border-radius: 4px; background: #fff5f2; color: #652f27; line-height: 1.6; }
.ypc-access-auth .ypc-auth-alert p { margin: 0; color: inherit; }
.ypc-access-auth .ypc-auth-alert p + p { margin-top: 0.35rem; }
.ypc-access-auth .ypc-auth-success { padding: 0.75rem 1rem; border: 1px solid #477b60; background: #f0f8f3; color: #205c42; }
.ypc-access-auth button:focus-visible,
.ypc-access-auth .ypc-auth-alert:focus,
.ypc-access-auth .ypc-auth-link-button:focus-visible,
.ypc-access-logout:focus-visible { outline: 3px solid #086292; outline-offset: 3px; }
.ypc-access-auth [hidden] { display: none !important; }
@media (max-width: 30rem) {
	.ypc-access-auth .ypc-auth-secret { grid-template-columns: minmax(0, 1fr); }
	.ypc-access-auth .ypc-auth-toggle { justify-self: start; }
}
