/* ── Deduplicated shared rules (previously copy-pasted identically across multiple pages) ── */
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html, body { height:100%; }
.orb-3 { width:450px; height:450px; top:30%; right:-50px; background:radial-gradient(circle, rgba(34,114,160,0.35), transparent 70%); animation:drift3 26s ease-in-out infinite; }
.logo-row img { width:34px; height:34px; border-radius:9px; box-shadow:0 4px 16px rgba(0,0,0,0.4); }
.btn-primary:hover { transform:translateY(-2px); box-shadow:0 8px 24px rgba(95,157,48,0.4); }
.btn-primary:active { transform:translateY(0); }
.logo img { width:34px; height:34px; border-radius:9px; box-shadow:0 4px 16px rgba(0,0,0,0.4); }
.msg.error { background:rgba(220,50,50,0.15); border:1px solid rgba(220,50,50,0.25); color:#ff8a8a; display:block; }
.msg.success { background:rgba(95,157,48,0.15); border:1px solid rgba(95,157,48,0.25); color:#a0e060; display:block; }
.field-label { font-size:0.68rem; font-weight:700; letter-spacing:0.1em; text-transform:uppercase; color:rgba(255,255,255,0.5); margin-bottom:7px; display:block; }
.field input::placeholder { color:rgba(255,255,255,0.25); }
.field input:focus { border-color:var(--green); background:rgba(255,255,255,0.1); box-shadow:0 0 0 3px rgba(95,157,48,0.15); }
.toggle-pw:hover { color:rgba(255,255,255,0.7); }
.btn-submit::before { content:''; position:absolute; inset:0; background:linear-gradient(135deg, rgba(255,255,255,0.15), transparent); opacity:0; transition:opacity 0.2s; }
.btn-submit:hover::before { opacity:1; }
.btn-submit:hover { background:#52892a; transform:translateY(-1px); box-shadow:0 8px 20px rgba(95,157,48,0.35); }
.form { display:flex; flex-direction:column; }
