.auth-panel { position: relative; padding: clamp(1.5rem, 6vw, 2.25rem); text-align: left; }
.auth-panel h2 { margin: 0 2rem .55rem 0; font-size: clamp(1.5rem, 5vw, 2rem); line-height: 1.1; }
.auth-panel > p { margin: 0 0 1.25rem; color: #655c6d; overflow-wrap: anywhere; }
.auth-close { position: absolute; top: 1rem; right: 1rem; display: grid; place-items: center; width: 2.125rem; height: 2.125rem; padding: 0; border: 0; border-radius: 50%; background: #f1ebfb; color: #482487; font-size: 1.5rem; line-height: 1; cursor: pointer; }
.auth-form { display: grid; gap: .9rem; }
.auth-form label { display: grid; gap: .35rem; font-weight: 700; }
.auth-form input { width: 100%; padding: .7rem .85rem; border: 1px solid #e3dbe9; border-radius: .65rem; background: white; color: #241b30; font: inherit; }
.auth-form input:focus-visible { border-color: #7448da; outline: 2px solid #7448da; outline-offset: 2px; }
.auth-form button:disabled { opacity: .65; cursor: wait; }
.auth-form .auth-status { margin: 0; color: #a32254; font-size: .9rem; }
.auth-actions { display: flex; flex-wrap: wrap; gap: .3rem 1rem; margin-top: .75rem; }
.auth-actions button { padding: .3rem 0; border: 0; background: transparent; color: #6137b1; text-decoration: underline; font: inherit; cursor: pointer; }
.auth-actions button:disabled { opacity: .65; cursor: wait; }
