:root{
  --brand-blue:#42A5F5;
  --brand-green:#66BB6A;
  --brand-orange:#FF7043;
  --brand-indigo:#5C6BC0;
  --card-radius:12px;
  --card-shadow:0 10px 25px rgba(0,0,0,.06);
}

/* page */
body{font-family:'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif; background: linear-gradient(135deg, rgba(66,165,245,.06), rgba(102,187,106,.06) 55%, rgba(255,112,67,.06)); min-height:100vh; margin:0;}

/* card */
.auth-card{border-radius:var(--card-radius); box-shadow:var(--card-shadow); width:100%; max-width:420px; background:#fff; transition:transform .25s ease, box-shadow .25s ease;}
.auth-card:hover{transform:translateY(-6px); box-shadow:0 18px 40px rgba(0,0,0,.12);}

/* headings */
h3,h4,h5{background:linear-gradient(90deg,var(--brand-blue),var(--brand-green)); -webkit-background-clip:text; color:transparent;}

/* inputs */
.vibrant-input{border-radius:10px; border:1px solid #e9eef6; padding:.6rem .9rem; transition:box-shadow .15s ease, border-color .15s ease;}
.vibrant-input:focus{outline:none; border-color:var(--brand-green); box-shadow:0 0 0 .2rem rgba(102,187,106,.18);}

/* buttons */
.vibrant-btn{border-radius:10px; padding:.6rem .8rem; font-weight:600; color:#fff; background:linear-gradient(90deg,var(--brand-blue),var(--brand-orange)); border:none; box-shadow:0 8px 18px rgba(66,165,245,.28); transition:transform .18s ease, box-shadow .18s ease;}
.vibrant-btn:hover{ transform:translateY(-3px); box-shadow:0 12px 24px rgba(0,0,0,.14);}

/* small text & links */
.text-muted{color:#6b7a90 !important} a{color:var(--brand-indigo)} a:hover{color:#3F51B5}

/* animations */
.fade-up{animation:fadeUp .55s cubic-bezier(.2,.9,.3,1) both} @keyframes fadeUp{from{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}

