/* auth.css — sign-in modal + /sign-in/ standalone page. */
.b3d-auth-scrim { position: fixed; inset: 0; background: rgba(17,17,17,0.4); z-index: 120; opacity: 0; pointer-events: none; transition: opacity 220ms var(--b3d-ease); }
.b3d-auth-scrim.open { opacity: 1; pointer-events: auto; }
.b3d-auth-modal { position: fixed; top: 50%; left: 50%; transform: translate(-50%, -48%); z-index: 121; width: min(400px, 92vw); background: white; border: 1px solid var(--b3d-n-200); border-radius: 20px; box-shadow: var(--b3d-shadow-float); padding: 28px; opacity: 0; pointer-events: none; transition: opacity 200ms var(--b3d-ease), transform 200ms var(--b3d-ease); }
.b3d-auth-modal.open { opacity: 1; transform: translate(-50%, -50%); pointer-events: auto; }
.b3d-auth-head { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.b3d-auth-head img { width: 40px; height: 40px; }
.b3d-auth-head h2 { font-family: var(--b3d-font-title); font-weight: 700; font-size: 22px; color: var(--b3d-ink); margin: 0; }
.b3d-auth-close { margin-left: auto; width: 34px; height: 34px; border: 0; border-radius: 50%; background: var(--b3d-fleece-2); display: grid; place-items: center; cursor: pointer; }
.b3d-auth-form { display: flex; flex-direction: column; gap: 12px; }
.b3d-auth-form label { font-family: var(--b3d-font-ui); font-size: 12px; color: var(--b3d-n-500); text-transform: uppercase; letter-spacing: 0.5px; display: flex; flex-direction: column; gap: 6px; }
.b3d-auth-form input[type="email"], .b3d-auth-form input[type="password"], .b3d-auth-form input[type="text"] { font-family: var(--b3d-font-body); font-size: 15px; padding: 11px 14px; border: 1px solid var(--b3d-n-300); border-radius: 10px; background: var(--b3d-fleece); }
.b3d-auth-form input:focus { outline: none; border-color: var(--b3d-ink); background: white; }
.b3d-auth-remember { flex-direction: row !important; align-items: center; gap: 8px; text-transform: none !important; letter-spacing: normal !important; font-size: 14px !important; }
.b3d-auth-submit { margin-top: 8px; }
.b3d-auth-err { background: var(--b3d-danger-bg); color: var(--b3d-danger); border-radius: 10px; padding: 10px 12px; font-size: 13px; display: none; }
.b3d-auth-err.show { display: block; }
.b3d-auth-links { display: flex; justify-content: space-between; margin-top: 14px; font-size: 13px; }
.b3d-auth-links a { color: var(--b3d-ink-soft); text-decoration: underline; text-underline-offset: 3px; }

.b3d-signin-page { display: flex; align-items: center; justify-content: center; min-height: 60vh; padding: 40px 20px; }
