:root{--rs-green:#76B72A;--rs-green-bright:#8FCF35;--rs-navy:#0D1B2A;--rs-navy-deep:#050B12;--rs-paper:#FBFBF7;--rs-ink:#0A0A0A;--rs-slate:#6B7280;--rs-line:#E5E4DE;--rs-warn:#D42D2D;--font-display:"Bricolage Grotesque",system-ui,sans-serif;--font-body:"Inter",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:var(--rs-navy);background:radial-gradient(circle at 50% 0,#14273c,var(--rs-navy-deep));font-family:var(--font-body);color:var(--rs-ink)}.auth-card{width:100%;max-width:380px;background:var(--rs-paper);border-radius:10px;padding:2.25rem 2rem;box-shadow:0 20px 60px rgba(0,0,0,.35)}.auth-logo{height:40px;display:block;margin:0 auto 1.5rem}.auth-title{font-family:var(--font-display);font-weight:700;font-size:1.4rem;text-align:center;margin-bottom:.35rem}.auth-subtitle{color:var(--rs-slate);font-size:.9rem;text-align:center;margin-bottom:1.75rem}.auth-field{margin-bottom:1rem}.auth-field label{display:block;font-size:.85rem;font-weight:500;margin-bottom:.35rem}.auth-field input{width:100%;padding:.65rem .75rem;border:1px solid var(--rs-line);border-radius:6px;font-family:var(--font-body);font-size:.95rem;background:#FFF}.auth-field input:focus{outline:none;border-color:var(--rs-green-bright);box-shadow:0 0 0 3px rgba(143,207,53,.2)}.auth-submit{width:100%;padding:.75rem;margin-top:.5rem;background:var(--rs-green);color:#FFF;border:none;border-radius:6px;font-family:var(--font-body);font-weight:600;font-size:.95rem;cursor:pointer;transition:background .2s}.auth-submit:hover{background:var(--rs-green-bright)}.auth-submit:disabled{background:var(--rs-slate);cursor:not-allowed}.auth-error,.auth-hint{font-size:.85rem;text-align:center;margin-top:1rem;display:none}.auth-error{color:var(--rs-warn)}.auth-hint{color:var(--rs-slate)}.auth-error.visible,.auth-hint.visible{display:block}.auth-switch{text-align:center;font-size:.85rem;color:var(--rs-slate);margin-top:1.5rem}.auth-switch a{color:var(--rs-green);text-decoration:none;font-weight:500}.auth-switch a:hover{color:var(--rs-green-bright)}